Improving documentation. Reordered groups and started documenting main components

This commit is contained in:
Paolo Cignoni 2012-10-25 13:47:31 +00:00
parent 4c0acdbb7c
commit 9658740974
4 changed files with 29 additions and 26 deletions

View File

@ -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.

View File

@ -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 ComputeMeshType>
class UpdateComponentEP

View File

@ -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 <class CONT> struct Deriver: public MeshTypeHolder<CONT, typename CONT::value_type::IAm>{};
template <> struct Deriver<DummyContainer>{}*/;
template <typename T, typename CONT> struct Der: public MeshTypeHolder<T,CONT, typename CONT::value_type::IAm>{};
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

View File

@ -20,18 +20,14 @@
* for more details. *
* *
****************************************************************************/
#include <vcg/complex/complex.h>
#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 <class S>
struct CurvatureDirBaseType{
@ -156,7 +152,10 @@ public:
};
/*-------------------------- COORD ----------------------------------------*/
/*! \brief Geometric position of the vertex
Stored as a templated Point3.
*/
template <class A, class T> class Coord: public T {
public:
typedef A CoordType;
@ -181,6 +180,10 @@ public: static void Name(std::vector<std::string> & 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 A, class T> class Normal: public T {
public:
@ -213,6 +216,10 @@ public: static void Name(std::vector<std::string> & 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 T> 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 A, class TT> class TexCoord: public TT {
public:
@ -510,6 +523,9 @@ private:
int _zp ;
};
/**
@}
*/
} // end namespace vert