20 class GenericIndexedCloud;
34 bool linkVerticesWithMesh =
false);
41 void placeIteratorAtBeginning()
override;
44 unsigned triangleIndex)
override;
46 VerticesIndexes* getTriangleVertIndexes(
unsigned triangleIndex)
override;
47 virtual unsigned size()
const override {
48 return static_cast<unsigned>(m_triIndexes.size());
51 void getTriangleVertices(
unsigned triangleIndex,
55 virtual void getTriangleVertices(
unsigned triangleIndex,
58 double C[3])
const override;
63 return static_cast<unsigned>(m_triIndexes.capacity());
70 inline void clear() { m_triIndexes.resize(0); }
78 virtual void addTriangle(
unsigned i1,
unsigned i2,
unsigned i3);
84 virtual bool reserve(
unsigned n);
92 virtual bool resize(
unsigned n);
95 bool normalsAvailable()
const override;
96 bool interpolateNormals(
unsigned triIndex,
A generic 3D point cloud with index-based point access.
A generic mesh with index-based vertex access.
std::function< void(GenericTriangle &)> genericTriangleAction
Generic function to apply to a triangle (used by foreach)
A generic triangle interface.
A simple mesh structure, with index-based vertex access.
virtual unsigned size() const override
Returns the number of triangles.
unsigned globalIterator
Iterator on the list of triangles.
std::vector< VerticesIndexes > TriangleIndexesContainer
A triangle vertices indexes container.
SimpleTriangle dummyTriangle
Dump triangle structure to transmit temporary data.
const GenericIndexedCloud * vertices() const
Returns the vertices.
unsigned capacity() const
Returns the mesh capacity.
BoundingBox m_bbox
Bounding-box.
void clear()
Clears the mesh.
GenericIndexedCloud * theVertices
The associated point cloud (vertices)
TriangleIndexesContainer m_triIndexes
The triangles indexes.
Generic file read and write utility for python interface.
Triangle described by the indexes of its 3 vertices.