13 #include "../scene_graph/IndexedFaceSet.h"
14 #include "../scene_graph/NodeTransform.h"
15 #include "../scene_graph/SceneVisitor.h"
17 #include "../system/FreestyleConfig.h"
18 #include "../system/RenderMonitor.h"
26 _current_wshape =
NULL;
27 _current_frs_material =
NULL;
28 _current_matrix =
NULL;
35 for (vector<Matrix44r *>::iterator it = _matrices_stack.begin(); it != _matrices_stack.end();
39 _matrices_stack.clear();
60 return _current_wshape;
65 return _current_frs_material;
70 return _current_matrix;
80 _current_wshape = wshape;
85 _current_frs_material = mat;
89 inline void setCurrentMatrix(
Matrix44r *matrix)
91 _current_matrix = matrix;
107 void buildTriangleStrip(
const float *vertices,
109 vector<FrsMaterial> &iMaterials,
110 const float *texCoords,
112 const unsigned *vindices,
113 const unsigned *nindices,
114 const unsigned *mindices,
115 const unsigned *tindices,
116 const unsigned nvertices);
118 void buildTriangleFan(
const float *vertices,
120 vector<FrsMaterial> &iMaterials,
121 const float *texCoords,
123 const unsigned *vindices,
124 const unsigned *nindices,
125 const unsigned *mindices,
126 const unsigned *tindices,
127 const unsigned nvertices);
129 void buildTriangles(
const float *vertices,
131 vector<FrsMaterial> &iMaterials,
132 const float *texCoords,
134 const unsigned *vindices,
135 const unsigned *nindices,
136 const unsigned *mindices,
137 const unsigned *tindices,
138 const unsigned nvertices);
140 void transformVertices(
const float *vertices,
145 void transformNormals(
const float *
normals,
154 vector<Matrix44r *> _matrices_stack;
156 #ifdef WITH_CXX_GUARDEDALLOC
157 MEM_CXX_CLASS_ALLOC_FUNCS(
"Freestyle:WingedEdgeBuilder")
Classes to define a Winged Edge data structure.
SIMD_FORCE_INLINE btVector3 transform(const btVector3 &point) const
unsigned char FaceEdgeMark
void setCurrentFrsMaterial(FrsMaterial *mat)
VISIT_DECL(IndexedFaceSet)
virtual void buildWVertices(WShape &shape, const float *vertices, unsigned vsize)
void setCurrentWShape(WShape *wshape)
Matrix44r * getCurrentMatrix()
RenderMonitor * _pRenderMonitor
VISIT_DECL(NodeTransform)
virtual void visitNodeTransformAfter(NodeTransform &)
WShape * getCurrentWShape()
virtual ~WingedEdgeBuilder()
void setRenderMonitor(RenderMonitor *iRenderMonitor)
virtual bool buildWShape(WShape &shape, IndexedFaceSet &ifs)
FrsMaterial * getCurrentFrsMaterial()
WingedEdge * getWingedEdge()
MutableSpan< float3 > normals