11 #include "../geometry/BBox.h"
12 #include "../geometry/Geom.h"
13 #include "../scene_graph/NodeDrawingStyle.h"
14 #include "../system/Precision.h"
18 #ifdef WITH_CXX_GUARDEDALLOC
57 inline void setBorder(
int xmin,
int ymin,
int xmax,
int ymax)
63 _thickness = thickness;
78 if (0 != _ModelRootNode->numberOfChildren()) {
79 _ModelRootNode->DetachChildren();
80 _ModelRootNode->clearBBox();
89 _ModelRootNode->AddChild(iModel);
90 _ModelRootNode->UpdateBBox();
93 std::min(_ModelRootNode->bbox().getMin()[0], _ModelRootNode->bbox().getMin()[1]),
94 _ModelRootNode->bbox().getMin()[2]);
96 std::max(_ModelRootNode->bbox().getMax()[0], _ModelRootNode->bbox().getMax()[1]),
97 _ModelRootNode->bbox().getMax()[2]);
99 _maxAbs =
std::max(rabs(_minBBox), rabs(_maxBBox));
100 _minAbs =
std::min(rabs(_minBBox), rabs(_maxBBox));
105 _SilhouetteRootNode->AddChild(iSilhouette);
120 if (0 != _DebugRootNode->numberOfChildren()) {
121 _DebugRootNode->DetachChildren();
122 _DebugRootNode->clearBBox();
130 _DebugRootNode->AddChild(iDebug);
135 _ModelRootNode->DetachChild(iModel);
136 _ModelRootNode->UpdateBBox();
139 std::min(_ModelRootNode->bbox().getMin()[0], _ModelRootNode->bbox().getMin()[1]),
140 _ModelRootNode->bbox().getMin()[2]);
142 std::max(_ModelRootNode->bbox().getMax()[0], _ModelRootNode->bbox().getMax()[1]),
143 _ModelRootNode->bbox().getMax()[2]);
145 _maxAbs =
std::max(rabs(_minBBox), rabs(_maxBBox));
146 _minAbs =
std::min(rabs(_minBBox), rabs(_maxBBox));
151 _ModelRootNode->DetachChildren();
152 _ModelRootNode->clearBBox();
156 _p2DNode.DetachChildren();
157 _pFENode->DetachChildren();
158 _pVisibleSilhouetteNode->DetachChildren();
164 _SilhouetteRootNode->DetachChildren();
166 _pFENode->DetachChildren();
167 _pVisibleSilhouetteNode->DetachChildren();
169 _p2DSelectionNode->destroy();
175 _p2DSelectionNode->destroy();
180 _DebugRootNode->DetachChildren();
183 real distanceToSceneCenter();
184 real GetFocalLength();
188 return ((
real)_width / (
real)_height);
193 _Fovy = 2.0 *
atan(
tan(hfov / 2.0) / GetAspect());
203 return _Fovy * 180.0 /
M_PI;
208 return _ModelRootNode->bbox();
254 #ifdef WITH_CXX_GUARDEDALLOC
255 MEM_CXX_CLASS_ALLOC_FUNCS(
"Freestyle:AppView")
_GL_VOID GLfloat value _GL_VOID_RET _GL_VOID const GLuint GLboolean *residences _GL_BOOL_RET _GL_VOID GLsizei height
_GL_VOID GLfloat value _GL_VOID_RET _GL_VOID const GLuint GLboolean *residences _GL_BOOL_RET _GL_VOID GLsizei GLfloat GLfloat GLfloat GLfloat const GLubyte *bitmap _GL_VOID_RET _GL_VOID GLenum const void *lists _GL_VOID_RET _GL_VOID const GLdouble *equation _GL_VOID_RET _GL_VOID GLdouble GLdouble blue _GL_VOID_RET _GL_VOID GLfloat GLfloat blue _GL_VOID_RET _GL_VOID GLint GLint blue _GL_VOID_RET _GL_VOID GLshort GLshort blue _GL_VOID_RET _GL_VOID GLubyte GLubyte blue _GL_VOID_RET _GL_VOID GLuint GLuint blue _GL_VOID_RET _GL_VOID GLushort GLushort blue _GL_VOID_RET _GL_VOID GLbyte GLbyte GLbyte alpha _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble alpha _GL_VOID_RET _GL_VOID GLfloat GLfloat GLfloat alpha _GL_VOID_RET _GL_VOID GLint GLint GLint alpha _GL_VOID_RET _GL_VOID GLshort GLshort GLshort alpha _GL_VOID_RET _GL_VOID GLubyte GLubyte GLubyte alpha _GL_VOID_RET _GL_VOID GLuint GLuint GLuint alpha _GL_VOID_RET _GL_VOID GLushort GLushort GLushort alpha _GL_VOID_RET _GL_VOID GLenum mode _GL_VOID_RET _GL_VOID GLint GLsizei width
Read Guarded memory(de)allocation.
void setHorizontalFov(float hfov)
void setHeight(unsigned int height)
real GetFovyDegrees() const
void AddDebug(NodeGroup *iDebug)
void DetachVisibleSilhouette()
void Draw2DScene(SceneVisitor *iRenderer)
void setWidth(unsigned int width)
void AddSilhouette(NodeGroup *iSilhouette)
void setBorder(int xmin, int ymin, int xmax, int ymax)
void setDebug(NodeGroup *iDebug)
void Add2DSilhouette(NodeGroup *)
void setThickness(float thickness)
NodeDrawingStyle * _ModelRootNode
NodeDrawingStyle * _DebugRootNode
NodeDrawingStyle * _p2DSelectionNode
void setModel(NodeGroup *iModel)
real GetFovyRadian() const
BBox< Vec3r > scene3DBBox() const
void AddModel(NodeGroup *iModel)
NodeDrawingStyle * _SilhouetteRootNode
void Add2DVisibleSilhouette(NodeGroup *)
void DetachModel(Node *iModel)
void DrawScene(SceneVisitor *iRenderer)
ccl_device_inline float2 fabs(const float2 &a)
VecMat::Vec2< int > Vec2i
INLINE Rall1d< T, V, S > atan(const Rall1d< T, V, S > &x)
INLINE Rall1d< T, V, S > tan(const Rall1d< T, V, S > &arg)