13 #include "../scene_graph/LineRep.h"
14 #include "../scene_graph/NodeGroup.h"
15 #include "../scene_graph/NodeShape.h"
16 #include "../scene_graph/OrientedLineRep.h"
17 #include "../scene_graph/VertexRep.h"
19 #include "../winged_edge/WEdge.h"
21 #ifdef WITH_CXX_GUARDEDALLOC
38 _overloadFrsMaterial =
false;
52 template<
class ViewEdgesIterator>
65 _FrsMaterial = iMaterial;
66 _overloadFrsMaterial =
true;
85 bool _overloadFrsMaterial;
87 #ifdef WITH_CXX_GUARDEDALLOC
88 MEM_CXX_CLASS_ALLOC_FUNCS(
"Freestyle:ViewMapTesselator")
108 #ifdef WITH_CXX_GUARDEDALLOC
109 MEM_CXX_CLASS_ALLOC_FUNCS(
"Freestyle:ViewMapTesselator2D")
129 #ifdef WITH_CXX_GUARDEDALLOC
130 MEM_CXX_CLASS_ALLOC_FUNCS(
"Freestyle:ViewMapTesselator3D")
139 template<
class ViewEdgesIterator>
151 FEdge *nextFEdge, *currentEdge;
156 for (ViewEdgesIterator
c = begin, cend = end;
c != cend;
c++) {
158 if ((*c)->qi() > 0) {
161 if (!((*c)->nature() & (_nature))) {
165 firstEdge = (*c)->fedgeA();
174 if (_overloadFrsMaterial) {
179 if (0 == (firstEdge)->nextEdge()) {
190 nextFEdge = firstEdge;
191 currentEdge = firstEdge;
195 currentEdge = nextFEdge;
197 }
while ((nextFEdge !=
NULL) && (nextFEdge != firstEdge));
203 line->
setId((*c)->getId().getFirst());
Read Guarded memory(de)allocation.
Classes to define a silhouette structure.
Classes to define a View Map (ViewVertex, ViewEdge, etc.)
ATTR_WARN_UNUSED_RESULT const BMVert * v
void setDiffuse(float r, float g, float b, float a)
void AddVertex(const Vec3r &iVertex)
void setStyle(const LINES_STYLE iStyle)
virtual void ComputeBBox()
virtual void AddChild(Node *iChild)
virtual void AddRep(Rep *iRep)
void setFrsMaterial(const FrsMaterial &iMaterial)
void setFrsMaterial(const FrsMaterial &iMaterial)
virtual void AddVertexToLine(LineRep *iLine, SVertex *v)
virtual ~ViewMapTesselator2D()
virtual ~ViewMapTesselator3D()
virtual void AddVertexToLine(LineRep *iLine, SVertex *v)
Nature::EdgeNature nature()
NodeGroup * Tesselate(WShape *iWShape)
void setFrsMaterial(const FrsMaterial &iMaterial)
void setNature(Nature::EdgeNature iNature)
virtual void AddVertexToLine(LineRep *iLine, SVertex *v)=0
const FrsMaterial & frs_material() const
NodeGroup * Tesselate(ViewMap *iViewMap)
virtual ~ViewMapTesselator()
static const EdgeNature BORDER
unsigned short EdgeNature
static const EdgeNature CREASE
static const EdgeNature SILHOUETTE