49 bool _orthographicProjection;
58 int _currentSVertexId;
77 _pProgressBar =
nullptr;
78 _pRenderMonitor =
nullptr;
82 _currentSVertexId = 0;
89 if (_pViewEdgeBuilder) {
90 delete _pViewEdgeBuilder;
91 _pViewEdgeBuilder =
nullptr;
126 const real iProjectionMatrix[4][4],
127 const int iViewport[4],
132 _orthographicProjection = (iProjectionMatrix[3][3] != 0.0);
134 iModelViewMatrix, iProjectionMatrix, iViewport, iFocalLength);
154 real viewProscenium[4],
155 real occluderProscenium[4],
156 bool extensiveFEdgeSearch =
true);
168 real epsilon = 1.0e-06);
179 real epsilon = 1.0e-6);
191 _pProgressBar = iProgressBar;
196 _pRenderMonitor = iRenderMonitor;
249 set<ViewShape *> &oOccluders,
263 vector<WVertex *> &faceVertices);
265 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)
VecMat::Vec3< real > Vec3r