diff --git a/docs/Doxygen/groups.dxy b/docs/Doxygen/groups.dxy index 357241b0..12ce60a0 100644 --- a/docs/Doxygen/groups.dxy +++ b/docs/Doxygen/groups.dxy @@ -9,19 +9,14 @@ This module contains the documentation for the types and the functions used for. This module contains the documentation for the types and the functions used for representing and managing mathematical entities. */ -/** \defgroup simplex Simplexes -The module containing the various simplicial complexes -*/ - -//@{ /** \defgroup vertex Vertexes Vertex of edge, triangular and tetrahedral meshes This module contains the documentation for the types and the functions used for representing and managing vertexes of meshes. */ + /** \defgroup face Faces Face of a triangular or a tetrahedral mesh */ -//@} /** \defgroup trimesh Triangular Meshes This module contains the documentation for the types and the functions used for representing and managing generic \b triangular \b meshes. diff --git a/vcg/complex/algorithms/update/component_ep.h b/vcg/complex/algorithms/update/component_ep.h index 7d89a455..0f1157cb 100644 --- a/vcg/complex/algorithms/update/component_ep.h +++ b/vcg/complex/algorithms/update/component_ep.h @@ -30,8 +30,6 @@ namespace tri { /// \ingroup trimesh - /// \headerfile edges.h vcg/complex/algorithms/update/edges.h - /// \brief This class is used to compute or update the precomputed data used to efficiently compute point-face distances. template class UpdateComponentEP diff --git a/vcg/complex/complex.h b/vcg/complex/complex.h index 0cacfb09..780a08a4 100644 --- a/vcg/complex/complex.h +++ b/vcg/complex/complex.h @@ -40,11 +40,6 @@ namespace tri { /** \addtogroup trimesh */ /*@{*/ /*@{*/ -/** Class Mesh. - This is class for definition of a mesh. - @param VertContainerType (Template Parameter) Specifies the type of the vertices container any the vertex type. - @param FaceContainer (Template Parameter) Specifies the type of the faces container any the face type. - */ /* MeshTypeHolder is a class which is used to define the types in the mesh @@ -135,13 +130,12 @@ namespace tri { typedef typename HEdgeContainer::const_iterator ConstHEdgeIterator; }; - -/*struct DummyContainer {}; -template struct Deriver: public MeshTypeHolder{}; -template <> struct Deriver{}*/; - template struct Der: public MeshTypeHolder{}; struct DummyContainer{struct value_type{ typedef int IAm;}; }; +/** \brief The official \b mesh class + +As explained in \ref basic_concepts, this class is templated over a list of container of simplexes (like vertex, face, edges) + */ template < class Container0 = DummyContainer, class Container1 = DummyContainer, class Container2 = DummyContainer, class Container3 = DummyContainer > class TriMesh diff --git a/vcg/simplex/vertex/component.h b/vcg/simplex/vertex/component.h index c122b344..2907af50 100644 --- a/vcg/simplex/vertex/component.h +++ b/vcg/simplex/vertex/component.h @@ -20,18 +20,14 @@ * for more details. * * * ****************************************************************************/ -#include #ifndef __VCG_VERTEX_PLUS_COMPONENT #define __VCG_VERTEX_PLUS_COMPONENT namespace vcg { - namespace vertex { -/* -Some naming Rules -All the Components that can be added to a vertex should be defined in the namespace vert: - +namespace vertex { +/** \addtogroup vertex + @{ */ - - /*------------------------- Base Classes -----------------------------------------*/ +/*------------------------- Base Classes -----------------------------------------*/ template struct CurvatureDirBaseType{ @@ -156,7 +152,10 @@ public: }; /*-------------------------- COORD ----------------------------------------*/ +/*! \brief Geometric position of the vertex + Stored as a templated Point3. + */ template class Coord: public T { public: typedef A CoordType; @@ -181,6 +180,10 @@ public: static void Name(std::vector & name){name.push_back(std::st }; /*-------------------------- NORMAL ----------------------------------------*/ + /*! \brief Normal of the vertex + + Stored as a templated Point3. It can be of a different type of the Coord Component + */ template class Normal: public T { public: @@ -213,6 +216,10 @@ public: static void Name(std::vector & name){name.push_back(std::st /*-------------------------- INCREMENTAL MARK ----------------------------------------*/ + /*! \brief Per vertex Incremental Mark + + It is just an int that allow to efficent un-marking of the whole mesh. \sa UnmarkAll + */ template class Mark: public T { public: @@ -231,6 +238,12 @@ public: }; /*-------------------------- TEXCOORD ----------------------------------------*/ + /*! \brief Per vertex Texture Coords + + Note that to have multiple different TexCoord for a single vertex (as it happens on atlas where a vertex can belong to two triangles mapped on different portionof the texture) you have two options: + - duplicate vertexes + - use PerWedge Texture coords + */ template class TexCoord: public TT { public: @@ -510,6 +523,9 @@ private: int _zp ; }; + /** + @} + */ } // end namespace vert