-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathObject.h
More file actions
72 lines (64 loc) · 3.04 KB
/
Object.h
File metadata and controls
72 lines (64 loc) · 3.04 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
#ifndef OBJECT_H
#define OBJECT_H
#include <gmtl/Vec.h>
#include "GLData.h"
//-----------------------------------------------------------------------------
/// @file GLData.h
/// @author Milto Miltiadou
/// @version 1.0
/// @date 04/05/15
/// @class Object
/// @brief A sphere represented a function for illustrating that the Marching
/// cubes Algorithm works
//-----------------------------------------------------------------------------
class Object
{
public:
//-------------------------------------------------------------------------
/// @brief default constructor
/// @param[in] i_isolevel is the threshold that defines the surface of the
/// object
/// @param[in] i_lowerLimits the lower boundaries of the space
/// @param[in] i_higherLimits the high boundaries of the space
//-------------------------------------------------------------------------
Object(
double i_isolevel,
const gmtl::Vec3f &i_lowerLimits,
const gmtl::Vec3f &i_higherLimits
);
//-------------------------------------------------------------------------
/// @brief gets the function value of the object given a point
/// @param[in] i_point the given point
//-------------------------------------------------------------------------
double functionValue(const gmtl::Vec3f &i_point);
//-------------------------------------------------------------------------
/// @brief method that returns the min Limits of the object
//-------------------------------------------------------------------------
const gmtl::Vec3f getMinLimits()const;
//-------------------------------------------------------------------------
/// @brief method that returns the max Limits of the object
//-------------------------------------------------------------------------
const gmtl::Vec3f getMaxLimits()const;
//-------------------------------------------------------------------------
/// @brief method that returns the isolevel of the object
//-------------------------------------------------------------------------
float getIsolevel()const{return m_isolevel;}
//-------------------------------------------------------------------------
/// @brief default destructor
//-------------------------------------------------------------------------
~Object();
private:
//-------------------------------------------------------------------------
/// @brief the min limits of the object
//-------------------------------------------------------------------------
gmtl::Vec3f m_lowerLimits;
//-------------------------------------------------------------------------
/// @brief the max limits of the object
//-------------------------------------------------------------------------
gmtl::Vec3f m_higherLimits;
//-------------------------------------------------------------------------
/// @brief the isolevel of the object
//------------------------------------------------------------------------
double m_isolevel;
};
#endif // OBJECT_H