diff --git a/docs/Doxygen/adjacency.dxy b/docs/Doxygen/adjacency.dxy index 2f71f503..b4a91301 100644 --- a/docs/Doxygen/adjacency.dxy +++ b/docs/Doxygen/adjacency.dxy @@ -106,7 +106,7 @@ This implementation does not work if the vertex is on the border. Just try with Jumping Pos ----------- The Jumping Pos works exactly like the Pos, only it does not bounce when it encounters the border. Instead, it jump around the vertex as if the to border faces sharing the vertex (faces f0 and f2 in the image) were adjacent. - +\code sf/apps/sample/trimesh_pos_demo/trimesh_pos_demo.cpp #include // include the definition of jumping pos @@ -126,7 +126,7 @@ sf/apps/sample/trimesh_pos_demo/trimesh_pos_demo.cpp p.NextFE(); }while(p.f!=start); } - +\endcode VF Adjacency ------------ @@ -154,7 +154,7 @@ VFIterator ---------- VFIterator is a simple iterator to run over the faces in the one-ring neighborhood of a vertex using the VF Adjacency (it is just like Pos for the FF Adjacency) The following code snippet shows how to use the VFIterator: - +\code sf/apps/sample/trimesh_pos_demo/trimesh_vfiter_demo.cpp #include // include the definition of VFIterator @@ -173,6 +173,16 @@ void OneRingNeighborhoodVF( MyVertex * v) // ...do something with face f } } +\endcode +Stars and Rings +--------------- +We have a few handy functions to recover the set of faces/vertices incident on vertex: + +- \ref vcg::face::VFOrderedStarFF +- \ref vcg::face::VVStarVF +- \ref vcg::face::VFStarVF +- \ref vcg::face::VFExtendedStarVF +- \ref vcg::face::EFStarFF Few facts on FF adjacency and VF adjacency ------------------------------------------ diff --git a/docs/Doxygen/doxyfile b/docs/Doxygen/doxyfile index b19036e2..a884d6c4 100644 --- a/docs/Doxygen/doxyfile +++ b/docs/Doxygen/doxyfile @@ -186,7 +186,7 @@ SEPARATE_MEMBER_PAGES = NO # The TAB_SIZE tag can be used to set the number of spaces in a tab. # Doxygen uses this value to replace tabs by spaces in code fragments. -TAB_SIZE = 2 +TAB_SIZE = 8 # This tag can be used to specify a number of aliases that acts # as commands in the documentation. An alias has the form "name=value". @@ -665,26 +665,27 @@ WARN_LOGFILE = # directories like "/usr/src/myproject". Separate the files or directories # with spaces. -INPUT = ../../vcg/complex/allocate.h \ +INPUT = . \ + ../../vcg/simplex/vertex/component.h \ + ../../vcg/simplex/edge/component.h \ + ../../vcg/simplex/face/component.h \ + ../../vcg/simplex/face/topology.h \ + ../../vcg/complex/complex.h \ + ../../vcg/complex/allocate.h \ + ../../vcg/complex/append.h \ ../../vcg/complex/algorithms/update \ ../../vcg/complex/algorithms/inertia.h \ ../../vcg/complex/algorithms/point_sampling.h \ ../../vcg/complex/algorithms/clean.h \ ../../vcg/complex/algorithms/refine.h \ + ../../vcg/complex/algorithms/create/platonic.h \ + ../../vcg/complex/algorithms/geodesic.h ../../apps/sample/trimesh_base \ ../../apps/sample/trimesh_attribute \ ../../apps/sample/trimesh_smooth \ ../../apps/sample/trimesh_refine \ ../../apps/sample/trimesh_inertia \ - ../../apps/sample/trimesh_sampling \ - . \ - ../../vcg/complex/complex.h \ - ../../vcg/simplex/vertex/component.h \ - ../../vcg/simplex/face/component.h \ - ../../vcg/complex/algorithms/create/platonic.h \ - ../../vcg/complex/append.h \ - ../../vcg/simplex/edge/component.h \ - ../../vcg/complex/algorithms/geodesic.h + ../../apps/sample/trimesh_sampling # This tag can be used to specify the character encoding of the source files # that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is diff --git a/vcg/simplex/face/topology.h b/vcg/simplex/face/topology.h index dd99e24e..86a60b44 100644 --- a/vcg/simplex/face/topology.h +++ b/vcg/simplex/face/topology.h @@ -396,7 +396,7 @@ void SwapEdge(FaceType &f, const int z) */ template -static bool CheckFlipEdgeNormal(FaceType &f, const int z, const float angleRad) +bool CheckFlipEdgeNormal(FaceType &f, const int z, const float angleRad) { typedef typename FaceType::VertexType VertexType; typedef typename VertexType::CoordType CoordType; @@ -429,7 +429,7 @@ static bool CheckFlipEdgeNormal(FaceType &f, const int z, const float angleRad) * \param z the edge index */ template -static bool CheckFlipEdge(FaceType &f, int z) +bool CheckFlipEdge(FaceType &f, int z) { typedef typename FaceType::VertexType VertexType; typedef typename vcg::face::Pos< FaceType > PosType; @@ -481,7 +481,7 @@ static bool CheckFlipEdge(FaceType &f, int z) * formed by the face \a f and the face adjacent to the specified edge. */ template -static void FlipEdge(FaceType &f, const int z) +void FlipEdge(FaceType &f, const int z) { assert(z>=0); assert(z<3); @@ -671,14 +671,15 @@ void EFStarFF( FaceType* fp, int ei, /*! - * Compute the set of faces adjacent to a given vertex using VF adjacency. + * \brief Compute the set of faces adjacent to a given vertex using VF adjacency. + * * The set is faces is extended of a given number of step * \param vp pointer to the vertex whose star has to be computed. * \param num_step the number of step to extend the star * \param faceVec a std::vector of Face pointer that is filled with the adjacent faces. */ template -static void VFExtendedStarVF(typename FaceType::VertexType* vp, +void VFExtendedStarVF(typename FaceType::VertexType* vp, const int num_step, std::vector &faceVec) { @@ -710,14 +711,15 @@ static void VFExtendedStarVF(typename FaceType::VertexType* vp, } /*! -* Compute the ordered set of faces adjacent to a given vertex using FF adiacency + * \brief Compute the ordered set of faces adjacent to a given vertex using FF adiacency +* * \param startPos a Pos indicating the vertex whose star has to be computed. * \param faceVec a std::vector of Face pointer that is filled with the adjacent faces. * \param edgeVec a std::vector of indexes filled with the indexes of the corresponding edges shared between the faces. * */ template -static void VFOrderedStarFF(Pos &startPos, +void VFOrderedStarFF(Pos &startPos, std::vector &faceVec, std::vector &edgeVec) {