35 #ifndef IECORE_TRIANGULATOR_H
36 #define IECORE_TRIANGULATOR_H
39 #include "IECore/VectorTypedData.h"
40 #include "IECore/MeshPrimitiveBuilder.h"
41 #include "IECore/VectorTraits.h"
42 #include "IECore/CircularIterator.h"
43 #include "IECore/LineSegment.h"
51 template<
typename Po
intIterator,
typename MeshBuilder = MeshPrimitiveBuilder >
56 typedef PointIterator Iterator;
57 typedef typename std::iterator_traits<PointIterator>::value_type Point;
59 typedef MeshBuilder MeshBuilderType;
62 typedef std::pair<PointIterator, PointIterator>
Loop;
72 void triangulate( PointIterator first, PointIterator last );
79 template<
typename LoopIterator>
80 void triangulate( LoopIterator first, LoopIterator last );
89 typedef std::pair<unsigned int, PointIterator> Vertex;
92 typedef std::list<Vertex> VertexList;
94 typedef typename VertexList::iterator VertexIterator;
99 void triangulate( VertexList &vertices,
unsigned size );
101 typename MeshBuilder::Ptr m_builder;
103 unsigned m_baseVertexIndex;
114 #include "IECore/Triangulator.inl"
116 #endif // IECORE_TRIANGULATOR_H
void triangulate(PointIterator first, PointIterator last)
Definition: Triangulator.h:52
Definition: VectorTraits.h:48
Definition: LineSegment.h:51
Definition: CircularIterator.h:50
std::pair< PointIterator, PointIterator > Loop
Definition: Triangulator.h:62
Definition: RefCounted.h:124
This namespace contains all components of the core library.
Definition: AddSmoothSkinningInfluencesOp.h:43