improved vertex component documentation

This commit is contained in:
Paolo Cignoni 2012-10-25 21:20:10 +00:00
parent bf7511c68b
commit 671af109a9
1 changed files with 48 additions and 11 deletions

View File

@ -152,7 +152,7 @@ public:
}; };
/*-------------------------- COORD ----------------------------------------*/ /*-------------------------- COORD ----------------------------------------*/
/*! \brief Geometric position of the vertex /*! \brief \em Component: \b Geometric \b Position of the vertex
Stored as a templated Point3. Stored as a templated Point3.
*/ */
@ -180,9 +180,9 @@ public: static void Name(std::vector<std::string> & name){name.push_back(std::st
}; };
/*-------------------------- NORMAL ----------------------------------------*/ /*-------------------------- NORMAL ----------------------------------------*/
/*! \brief Normal of the vertex /*! \brief \em Component: \b %Normal of the vertex
Stored as a templated Point3. It can be of a different type of the Coord Component Stored as a templated Point3. The type of the normal can be different type with respect to the Coord component
*/ */
template <class A, class T> class Normal: public T { template <class A, class T> class Normal: public T {
@ -216,7 +216,7 @@ public: static void Name(std::vector<std::string> & name){name.push_back(std::st
/*-------------------------- INCREMENTAL MARK ----------------------------------------*/ /*-------------------------- INCREMENTAL MARK ----------------------------------------*/
/*! \brief Per vertex Incremental Mark /*! \brief Per vertex \b Incremental \b Mark
It is just an int that allow to efficent un-marking of the whole mesh. \sa UnmarkAll It is just an int that allow to efficent un-marking of the whole mesh. \sa UnmarkAll
*/ */
@ -238,7 +238,7 @@ public:
}; };
/*-------------------------- TEXCOORD ----------------------------------------*/ /*-------------------------- TEXCOORD ----------------------------------------*/
/*! \brief Per vertex Texture Coords /*! \brief \em Component: Per vertex \b 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: 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 - duplicate vertexes
@ -270,6 +270,10 @@ public: static void Name(std::vector<std::string> & name){name.push_back(std::st
}; };
/*------------------------- FLAGS -----------------------------------------*/ /*------------------------- FLAGS -----------------------------------------*/
/*! \brief \em Component: Per vertex \b Flags
This component stores a 32 bit array of bit flags. These bit flags are used for keeping track of selection, deletion, visiting etc. \sa \ref flags for more details on common uses of flags.
*/
template <class T> class BitFlags: public T { template <class T> class BitFlags: public T {
public: public:
@ -288,6 +292,11 @@ private:
/*-------------------------- Color ----------------------------------*/ /*-------------------------- Color ----------------------------------*/
/*! \brief \em Component: Per vertex \b Color
Usually most of the library expects a color stored as 4 unsigned chars (so the component you use is a \c vertex::Color4b)
but you can also use float for the color components.
*/
template <class A, class T> class Color: public T { template <class A, class T> class Color: public T {
public: public:
@ -311,6 +320,12 @@ template <class TT> class Color4b: public Color<vcg::Color4b, TT> {
}; };
/*-------------------------- Quality ----------------------------------*/ /*-------------------------- Quality ----------------------------------*/
/*! \brief \em Component: Per vertex \b quality
The Quality Component is a generic place for storing a float. The term 'quality' is a bit misleading and it is due to its original storic meaning. You should intend it as a general purpose container.
\sa vcg::tri::UpdateColor for methods transforming quality into colors
\sa vcg::tri::UpdateQuality for methods to manage it
*/
template <class A, class TT> class Quality: public TT { template <class A, class TT> class Quality: public TT {
public: public:
@ -338,8 +353,9 @@ public: static void Name(std::vector<std::string> & name){name.push_back(std::st
/*-------------------------- Curvature ----------------------------------*/ /*-------------------------- Curvature ----------------------------------*/
/*! \brief \em Component: Per vertex basic \b curvature
This component keeps the mean an gaussian curvature for a vertex. Used by some of the algorithms of vcg::tri::UpdateCurvature to store the computed curvatures.
*/
template <class A, class TT> class Curvature: public TT { template <class A, class TT> class Curvature: public TT {
public: public:
typedef Point2<A> CurvatureType; typedef Point2<A> CurvatureType;
@ -388,6 +404,10 @@ public:
static void Name(std::vector<std::string> & name){TT::Name(name);} static void Name(std::vector<std::string> & name){TT::Name(name);}
}; };
/*! \brief \em Component: Per vertex \b curvature \b directions
This component keep the principal curvature directions. Used by some of the algorithms of vcg::tri::UpdateCurvature to store the computed curvatures.
*/
template <class A, class TT> class CurvatureDir: public TT { template <class A, class TT> class CurvatureDir: public TT {
public: public:
typedef A CurvatureDirType; typedef A CurvatureDirType;
@ -428,7 +448,10 @@ public: static void Name(std::vector<std::string> & name){name.push_back(std::st
}; };
/*-------------------------- Radius ----------------------------------*/ /*-------------------------- Radius ----------------------------------*/
/*! \brief \em Component: Per vertex \b radius
This component keep a floating point value meant to be the average distance from the surrounding vertices. Used in point clouds by some of the point splatting and MLS surface algorithms.
*/
template <class A, class TT> class Radius: public TT { template <class A, class TT> class Radius: public TT {
public: public:
typedef A RadiusType; typedef A RadiusType;
@ -449,6 +472,12 @@ public: static void Name(std::vector<std::string> & name){name.push_back(std::st
/*----------------------------- VEADJ ------------------------------*/ /*----------------------------- VEADJ ------------------------------*/
/*! \brief \em Component: Per vertex \b Vertex-Edge adjacency relation
It stores a pointer to the first Edge of a list edges that is stored in a distributed way on the edges themselves.
\sa vcg::tri::UpdateTopology for functions that compute this relation
\sa iterators
*/
template <class T> class VEAdj: public T { template <class T> class VEAdj: public T {
public: public:
@ -468,6 +497,14 @@ private:
}; };
/*----------------------------- VFADJ ------------------------------*/ /*----------------------------- VFADJ ------------------------------*/
/*! \brief \em Component: Per vertex \b Vertex-Face adjacency relation
It stores a pointer to the first Face of a list of Faces that is stored in a distributed way on the faces themselves.
Note that if you use this component it is expected that on the Face you use also the corresponding vcg::face::VFAdj component.
\sa vcg::tri::UpdateTopology for functions that compute this relation
\sa iterators
*/
template <class T> class VFAdj: public T { template <class T> class VFAdj: public T {
public: public: