32 #include "../geometry/Geom.h"
33 #include "../geometry/GeomUtils.h"
34 #include "../geometry/Grid.h"
35 #include "../geometry/SweepLine.h"
37 #include "../scene_graph/NodeGroup.h"
38 #include "../scene_graph/TriangleRep.h"
40 #include "../system/FreestyleConfig.h"
41 #include "../system/ProgressBar.h"
42 #include "../system/RenderMonitor.h"
43 #include "../system/TimeUtils.h"
45 #include "../winged_edge/WEdge.h"
46 #include "../winged_edge/WXEdge.h"
48 #ifdef WITH_CXX_GUARDEDALLOC
63 bool _orthographicProjection;
72 int _currentSVertexId;
92 _pRenderMonitor =
NULL;
96 _currentSVertexId = 0;
103 if (_pViewEdgeBuilder) {
104 delete _pViewEdgeBuilder;
105 _pViewEdgeBuilder =
NULL;
117 void computeCusps(
ViewMap *ioViewMap);
140 const real iProjectionMatrix[4][4],
141 const int iViewport[4],
146 _orthographicProjection = (iProjectionMatrix[3][3] != 0.0);
148 iModelViewMatrix, iProjectionMatrix, iViewport, iFocalLength);
162 visibility_algo iAlgo,
165 unsigned int sceneNumFaces);
167 void CullViewEdges(
ViewMap *ioViewMap,
168 real viewProscenium[4],
169 real occluderProscenium[4],
170 bool extensiveFEdgeSearch =
true);
180 void ComputeIntersections(
ViewMap *ioViewMap,
181 intersection_algo iAlgo = sweep_line,
188 void ComputeEdgesVisibility(
ViewMap *ioViewMap,
191 unsigned int sceneNumFaces,
192 visibility_algo iAlgo = ray_casting,
205 _pProgressBar = iProgressBar;
210 _pRenderMonitor = iRenderMonitor;
232 void ComputeCumulativeVisibility(
ViewMap *ioViewMap,
238 void ComputeDetailedVisibility(
ViewMap *ioViewMap,
260 int ComputeRayCastingVisibility(
FEdge *fe,
263 set<ViewShape *> &oOccluders,
269 void FindOccludee(
FEdge *fe,
278 vector<WVertex *> &faceVertices);
280 #ifdef WITH_CXX_GUARDEDALLOC
281 MEM_CXX_CLASS_ALLOC_FUNCS(
"Freestyle:ViewMapBuilder")
Class to define a cell grid surrounding the projected image of a scene.
Read Guarded memory(de)allocation.
Class to perform all geometric operations dedicated to silhouette. That, for example,...
Classes to define a silhouette structure.
Class to build view edges and the underlying chains of feature edges...
Classes to define a View Map (ViewVertex, ViewEdge, etc.)
static void setViewpoint(const Vec3r &ivp)
static void setFrustum(real iZNear, real iZFar)
static void setTransform(const real iModelViewMatrix[4][4], const real iProjectionMatrix[4][4], const int iViewport[4], real iFocal)
void setTransform(const real iModelViewMatrix[4][4], const real iProjectionMatrix[4][4], const int iViewport[4], real iFocalLength, real, real)
void setGrid(Grid *iGrid)
@ ray_casting_adaptive_cumulative
@ ray_casting_adaptive_traditional
@ ray_casting_culled_adaptive_cumulative
@ ray_casting_culled_adaptive_traditional
void setEnableQI(bool iBool)
void setViewpoint(const Vec3r &ivp)
void setFrustum(real iZnear, real iZfar)
void setProgressBar(ProgressBar *iProgressBar)
void setRenderMonitor(RenderMonitor *iRenderMonitor)
void DetectCusps(ViewEdge *ioEdge)