25 #include "../geometry/BBox.h"
26 #include "../geometry/Geom.h"
27 #include "../scene_graph/NodeDrawingStyle.h"
28 #include "../system/Precision.h"
32 #ifdef WITH_CXX_GUARDEDALLOC
71 inline void setBorder(
int xmin,
int ymin,
int xmax,
int ymax)
77 _thickness = thickness;
92 if (0 != _ModelRootNode->numberOfChildren()) {
93 _ModelRootNode->DetachChildren();
94 _ModelRootNode->clearBBox();
103 _ModelRootNode->AddChild(iModel);
104 _ModelRootNode->UpdateBBox();
107 std::min(_ModelRootNode->bbox().getMin()[0], _ModelRootNode->bbox().getMin()[1]),
108 _ModelRootNode->bbox().getMin()[2]);
110 std::max(_ModelRootNode->bbox().getMax()[0], _ModelRootNode->bbox().getMax()[1]),
111 _ModelRootNode->bbox().getMax()[2]);
113 _maxAbs =
std::max(rabs(_minBBox), rabs(_maxBBox));
114 _minAbs =
std::min(rabs(_minBBox), rabs(_maxBBox));
119 _SilhouetteRootNode->AddChild(iSilhouette);
134 if (0 != _DebugRootNode->numberOfChildren()) {
135 _DebugRootNode->DetachChildren();
136 _DebugRootNode->clearBBox();
144 _DebugRootNode->AddChild(iDebug);
149 _ModelRootNode->DetachChild(iModel);
150 _ModelRootNode->UpdateBBox();
153 std::min(_ModelRootNode->bbox().getMin()[0], _ModelRootNode->bbox().getMin()[1]),
154 _ModelRootNode->bbox().getMin()[2]);
156 std::max(_ModelRootNode->bbox().getMax()[0], _ModelRootNode->bbox().getMax()[1]),
157 _ModelRootNode->bbox().getMax()[2]);
159 _maxAbs =
std::max(rabs(_minBBox), rabs(_maxBBox));
160 _minAbs =
std::min(rabs(_minBBox), rabs(_maxBBox));
165 _ModelRootNode->DetachChildren();
166 _ModelRootNode->clearBBox();
170 _p2DNode.DetachChildren();
171 _pFENode->DetachChildren();
172 _pVisibleSilhouetteNode->DetachChildren();
178 _SilhouetteRootNode->DetachChildren();
180 _pFENode->DetachChildren();
181 _pVisibleSilhouetteNode->DetachChildren();
183 _p2DSelectionNode->destroy();
189 _p2DSelectionNode->destroy();
194 _DebugRootNode->DetachChildren();
197 real distanceToSceneCenter();
198 real GetFocalLength();
202 return ((
real)_width / (
real)_height);
207 _Fovy = 2.0 *
atan(
tan(hfov / 2.0) / GetAspect());
217 return _Fovy * 180.0 /
M_PI;
222 return _ModelRootNode->bbox();
268 #ifdef WITH_CXX_GUARDEDALLOC
269 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 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
_GL_VOID GLfloat value _GL_VOID_RET _GL_VOID const GLuint GLboolean *residences _GL_BOOL_RET _GL_VOID GLsizei height
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)
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)
__forceinline const avxi abs(const avxi &a)
ccl_device_inline float2 fabs(const float2 &a)