31 #if defined(Mesh_RECURSES)
32 #error Recursive header files inclusion detected in Mesh.h
45 #include "DGtal/base/Common.h"
46 #include "DGtal/kernel/PointVector.h"
47 #include "DGtal/io/Color.h"
90 template <
typename TPo
int >
148 typedef typename std::size_t
Size;
161 Mesh(
bool saveFaceColor=
false);
176 Mesh(
const std::vector<TPoint> &vertexSet);
233 void addTriangularFace(
unsigned int indexVertex1,
unsigned int indexVertex2,
unsigned int indexVertex3,
250 void addQuadFace(
unsigned int indexVertex1,
unsigned int indexVertex2,
251 unsigned int indexVertex3,
unsigned int indexVertex4,
396 FaceStorage::const_iterator
408 FaceStorage::const_iterator
419 FaceStorage::iterator
431 FaceStorage::iterator
577 template <
typename TValue>
581 const unsigned int lengthSequence,
582 double stepX,
double stepY,
double stepZ,
619 template <
typename TPo
int>
630 #include "DGtal/shapes/Mesh.ih"
Structure representing an RGB triple with alpha component.
Aim: This class is defined to represent a surface mesh through a set of vertices and faces....
Mesh(const DGtal::Color &aColor)
DGtal::PointVector< TPoint::dimension, double > RealPoint
std::vector< TPoint > VertexStorage
ColorStorage myFaceColorList
unsigned int quadToTriangularFaces()
const Color & getFaceColor(unsigned int i) const
std::vector< unsigned int > MeshFace
void addQuadFace(unsigned int indexVertex1, unsigned int indexVertex2, unsigned int indexVertex3, unsigned int indexVertex4, const DGtal::Color &aColor=DGtal::Color::White)
void selfDisplay(std::ostream &out) const
void addFace(const MeshFace &aFace, const DGtal::Color &aColor=DGtal::Color::White)
TPoint & getVertex(unsigned int i)
MeshFace & getFace(unsigned int i)
void changeScale(const typename TPoint::Component aScale)
std::pair< TPoint, TPoint > getBoundingBox() const
VertexStorage::iterator Iterator
const MeshFace & getFace(unsigned int i) const
std::vector< DGtal::Color > ColorStorage
RealPoint getFaceBarycenter(unsigned int i) const
FaceStorage::const_iterator faceEnd() const
std::string className() const
const TPoint & getVertex(unsigned int i) const
VertexStorage::const_iterator ConstIterator
void invertVertexFaceOrder()
Mesh(const std::vector< TPoint > &vertexSet)
static void createMeshFromHeightSequence(Mesh< TPoint > &aMesh, const std::vector< TValue > &anValueSequence, const unsigned int lengthSequence, double stepX, double stepY, double stepZ, const DGtal::Color &aMeshColor=DGtal::Color::White)
void setFaceColor(unsigned int i, const DGtal::Color &aColor)
ConstIterator vertexEnd() const
void addTriangularFace(unsigned int indexVertex1, unsigned int indexVertex2, unsigned int indexVertex3, const DGtal::Color &aColor=DGtal::Color::White)
Mesh & operator=(const Mesh &other)
double subDivideTriangularFaces(const double minArea)
void removeFaces(const std::vector< unsigned int > &facesIndex)
Mesh(bool saveFaceColor=false)
std::vector< MeshFace > FaceStorage
VertexStorage myVertexList
DGtal::Color myDefaultColor
static void createTubularMesh(Mesh< TPoint > &aMesh, const std::vector< TPoint > &aSkeleton, const std::vector< double > &aVectOfRadius, const double angleStep=0.2, const DGtal::Color &aMeshColor=DGtal::Color::White)
bool isStoringFaceColors() const
FaceStorage::iterator faceBegin()
FaceStorage::const_iterator faceBegin() const
FaceStorage::iterator faceEnd()
ConstIterator vertexBegin() const
static void createTubularMesh(Mesh< TPoint > &aMesh, const std::vector< TPoint > &aSkeleton, const double aRadius, const double angleStep=0.2, const DGtal::Color &aMeshColor=DGtal::Color::White)
void addVertex(const TPoint &vertex)
Aim: Implements basic operations that will be used in Point and Vector classes.
MyDigitalSurface::ConstIterator ConstIterator
DGtal is the top-level namespace which contains all DGtal functions and types.
std::ostream & operator<<(std::ostream &out, const ClosedIntegerHalfPlane< TSpace > &object)
bool operator()(const TPoint &p1, const TPoint &p2)
CompPoints(typename TPoint::Dimension d)