23#ifdef WITH_CXX_GUARDEDALLOC
40 _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")
104#ifdef WITH_CXX_GUARDEDALLOC
105 MEM_CXX_CLASS_ALLOC_FUNCS(
"Freestyle:ViewMapTesselator2D")
121#ifdef WITH_CXX_GUARDEDALLOC
122 MEM_CXX_CLASS_ALLOC_FUNCS(
"Freestyle:ViewMapTesselator3D")
131template<
class ViewEdgesIterator>
136 group->AddChild(tshape);
143 FEdge *nextFEdge, *currentEdge;
147 for (ViewEdgesIterator
c = begin, cend = end;
c != cend;
c++) {
149 if ((*c)->qi() > 0) {
152 if (!((*c)->nature() & (_nature))) {
156 firstEdge = (*c)->fedgeA();
165 if (_overloadFrsMaterial) {
166 line->setFrsMaterial(_FrsMaterial);
170 if (0 == (firstEdge)->nextEdge()) {
181 nextFEdge = firstEdge;
182 currentEdge = firstEdge;
186 currentEdge = nextFEdge;
188 }
while ((nextFEdge !=
nullptr) && (nextFEdge != firstEdge));
194 line->setId((*c)->getId().getFirst());
Class to define the representation of 3D Line.
Read Guarded memory(de)allocation.
Class to represent a group node. This node can contains several children.
Class to build a shape node. It contains a Rep, which is the shape geometry.
Class to display an oriented line representation.
Classes to define a silhouette structure.
Class to define the representation of a vertex for displaying purpose.
Classes to define a View Map (ViewVertex, ViewEdge, etc.)
Classes to define a Winged Edge data structure.
ATTR_WARN_UNUSED_RESULT const BMVert * v
void setDiffuse(float r, float g, float b, float a)
void AddVertex(const Vec3r &iVertex)
virtual void AddRep(Rep *iRep)
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()
void setFrsMaterial(const FrsMaterial &iMaterial)
const FrsMaterial & frs_material() const
void setNature(Nature::EdgeNature iNature)
virtual void AddVertexToLine(LineRep *iLine, SVertex *v)=0
NodeGroup * Tesselate(ViewMap *iViewMap)
virtual ~ViewMapTesselator()
static const EdgeNature BORDER
static const EdgeNature CREASE
static const EdgeNature SILHOUETTE