36#ifdef WITH_CXX_GUARDEDALLOC
51 bool _orthographicProjection;
60 int _currentSVertexId;
79 _pProgressBar =
nullptr;
80 _pRenderMonitor =
nullptr;
84 _currentSVertexId = 0;
91 if (_pViewEdgeBuilder) {
92 delete _pViewEdgeBuilder;
93 _pViewEdgeBuilder =
nullptr;
128 const real iProjectionMatrix[4][4],
129 const int iViewport[4],
134 _orthographicProjection = (iProjectionMatrix[3][3] != 0.0);
136 iModelViewMatrix, iProjectionMatrix, iViewport, iFocalLength);
156 real viewProscenium[4],
157 real occluderProscenium[4],
158 bool extensiveFEdgeSearch =
true);
170 real epsilon = 1.0e-06);
181 real epsilon = 1.0e-6);
193 _pProgressBar = iProgressBar;
198 _pRenderMonitor = iRenderMonitor;
251 set<ViewShape *> &oOccluders,
265 vector<WVertex *> &faceVertices);
267#ifdef WITH_CXX_GUARDEDALLOC
268 MEM_CXX_CLASS_ALLOC_FUNCS(
"Freestyle:ViewMapBuilder")
Configuration definitions.
Various tools for geometry.
Vectors and Matrices (useful type definitions)
Class to define a cell grid surrounding the projected image of a scene.
Base class to define a cell grid surrounding the bounding box of the scene.
Read Guarded memory(de)allocation.
Class to represent a group node. This node can contains several children.
Class to encapsulate a progress bar.
Classes defining the basic "Iterator" design pattern.
Class to perform all geometric operations dedicated to silhouette. That, for example,...
Classes to define a silhouette structure.
Class to define a Sweep Line.
Class to measure elapsed time.
Class to define the representation of a triangle.
Class to build view edges and the underlying chains of feature edges...
Classes to define a View Map (ViewVertex, ViewEdge, etc.)
Classes to define a Winged Edge data structure.
Classes to define an Extended Winged Edge data structure.
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 ComputeFastRayCastingVisibility(ViewMap *ioViewMap, real epsilon=1.0e-6)
void ComputeCumulativeVisibility(ViewMap *ioViewMap, WingedEdge &we, const BBox< Vec3r > &bbox, real epsilon, bool cull, GridDensityProviderFactory &factory)
void setTransform(const real iModelViewMatrix[4][4], const real iProjectionMatrix[4][4], const int iViewport[4], real iFocalLength, real, real)
void setGrid(Grid *iGrid)
void BuildGrid(WingedEdge &we, const BBox< Vec3r > &bbox, uint sceneNumFaces)
ViewMap * BuildViewMap(WingedEdge &we, visibility_algo iAlgo, real epsilon, const BBox< Vec3r > &bbox, uint sceneNumFaces)
@ ray_casting_adaptive_cumulative
@ ray_casting_adaptive_traditional
@ ray_casting_culled_adaptive_cumulative
@ ray_casting_culled_adaptive_traditional
void CullViewEdges(ViewMap *ioViewMap, real viewProscenium[4], real occluderProscenium[4], bool extensiveFEdgeSearch=true)
void setEnableQI(bool iBool)
void computeInitialViewEdges(WingedEdge &)
void ComputeRayCastingVisibility(ViewMap *ioViewMap, real epsilon=1.0e-6)
void FindOccludee(FEdge *fe, Grid *iGrid, real epsilon, Polygon3r **oaPolygon, uint timestamp)
void ComputeEdgesVisibility(ViewMap *ioViewMap, WingedEdge &we, const BBox< Vec3r > &bbox, uint sceneNumFaces, visibility_algo iAlgo=ray_casting, real epsilon=1.0e-6)
void setViewpoint(const Vec3r &ivp)
void computeCusps(ViewMap *ioViewMap)
void setFrustum(real iZnear, real iZfar)
void setProgressBar(ProgressBar *iProgressBar)
void setRenderMonitor(RenderMonitor *iRenderMonitor)
void DetectCusps(ViewEdge *ioEdge)
void ComputeIntersections(ViewMap *ioViewMap, intersection_algo iAlgo=sweep_line, real epsilon=1.0e-06)
void ComputeSweepLineIntersections(ViewMap *ioViewMap, real epsilon=1.0e-6)
void ComputeVeryFastRayCastingVisibility(ViewMap *ioViewMap, real epsilon=1.0e-6)
void ComputeDetailedVisibility(ViewMap *ioViewMap, WingedEdge &we, const BBox< Vec3r > &bbox, real epsilon, bool cull, GridDensityProviderFactory &factory)