18 #include "../geometry/Geom.h"
19 #include "../geometry/GeomUtils.h"
20 #include "../geometry/Grid.h"
21 #include "../geometry/SweepLine.h"
23 #include "../scene_graph/NodeGroup.h"
24 #include "../scene_graph/TriangleRep.h"
26 #include "../system/FreestyleConfig.h"
27 #include "../system/ProgressBar.h"
28 #include "../system/RenderMonitor.h"
29 #include "../system/TimeUtils.h"
31 #include "../winged_edge/WEdge.h"
32 #include "../winged_edge/WXEdge.h"
34 #ifdef WITH_CXX_GUARDEDALLOC
49 bool _orthographicProjection;
58 int _currentSVertexId;
78 _pRenderMonitor =
NULL;
82 _currentSVertexId = 0;
89 if (_pViewEdgeBuilder) {
90 delete _pViewEdgeBuilder;
91 _pViewEdgeBuilder =
NULL;
103 void computeCusps(
ViewMap *ioViewMap);
126 const real iProjectionMatrix[4][4],
127 const int iViewport[4],
132 _orthographicProjection = (iProjectionMatrix[3][3] != 0.0);
134 iModelViewMatrix, iProjectionMatrix, iViewport, iFocalLength);
148 visibility_algo iAlgo,
151 unsigned int sceneNumFaces);
153 void CullViewEdges(
ViewMap *ioViewMap,
154 real viewProscenium[4],
155 real occluderProscenium[4],
156 bool extensiveFEdgeSearch =
true);
166 void ComputeIntersections(
ViewMap *ioViewMap,
167 intersection_algo iAlgo = sweep_line,
174 void ComputeEdgesVisibility(
ViewMap *ioViewMap,
177 unsigned int sceneNumFaces,
178 visibility_algo iAlgo = ray_casting,
191 _pProgressBar = iProgressBar;
196 _pRenderMonitor = iRenderMonitor;
218 void ComputeCumulativeVisibility(
ViewMap *ioViewMap,
224 void ComputeDetailedVisibility(
ViewMap *ioViewMap,
246 int ComputeRayCastingVisibility(
FEdge *fe,
249 set<ViewShape *> &oOccluders,
255 void FindOccludee(
FEdge *fe,
264 vector<WVertex *> &faceVertices);
266 #ifdef WITH_CXX_GUARDEDALLOC
267 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)