improve manual

This commit is contained in:
Andreas Fabri 2015-03-13 09:01:50 +01:00
parent 05669c9800
commit 91902b9dda
4 changed files with 89 additions and 86 deletions

View File

@ -4,7 +4,7 @@ namespace CGAL {
\ingroup PkgRidges_3Enums
The enum `Ridge_order` describes the order of differential quantities
used to distinguish elliptic and hyperbolic ridges. Third or fourth
order quantities may be used as explained in Section \ref ridgemesh
order quantities may be used as explained in Section \ref Ridges_3Approximating
of the User Manual.
\sa `Ridge_approximation`
@ -26,12 +26,9 @@ enum Ridge_type {
/*!
\ingroup PkgRidges_3
The function `compute_crest_ridges()` is a shortcut to the method of the same name
of the class `Ridge_approximation`.
The function `compute_crest_ridges()` is a shortcut to the
method `Ridge_approximation::compute_crest_ridges()`.
The operator `<<` is overloaded for this class and returns the
line type, strength, sharpness and coordinates of the points of the
polyline.
*/
@ -40,14 +37,14 @@ template < class TriangleMesh,
class VertexVectorMap,
class OutputIterator>
OutputIterator compute_crest_ridges(const TriangleMesh &tm,
VertexFTMap vertex2k1_pm,
VertexFTMap vertex2k2_pm,
VertexFTMap vertex2b0_pm,
VertexFTMap vertex2b3_pm,
VertexVectorMap vertex2d1_pm,
VertexVectorMap vertex2d2_pm,
VertexFTMap vertex2P1_pm,
VertexFTMap vertex2P2_pm,
VertexFTMap vertex_k1_pm,
VertexFTMap vertex_k2_pm,
VertexFTMap vertex_b0_pm,
VertexFTMap vertex_b3_pm,
VertexVectorMap vertex_d1_pm,
VertexVectorMap vertex_d2_pm,
VertexFTMap vertex_P1_pm,
VertexFTMap vertex_P2_pm,
OutputIterator it,
CGAL::Ridge_order order = CGAL::Ridge_order_3);
@ -58,8 +55,8 @@ namespace CGAL {
/*!
\ingroup PkgRidges_3
The function `compute_max_ridges()` is a shortcut to the method of the same name
of the class `Ridge_approximation`.
The function `compute_max_ridges()` is a shortcut to the
method `Ridge_approximation::compute_max_ridges()`.
*/
template < class TriangleMesh,
@ -67,14 +64,14 @@ template < class TriangleMesh,
class VertexVectorMap,
class OutputIterator>
OutputIterator compute_max_ridges(const TriangleMesh &tm,
VertexFTMap vertex2k1_pm,
VertexFTMap vertex2k2_pm,
VertexFTMap vertex2b0_pm,
VertexFTMap vertex2b3_pm,
VertexVectorMap vertex2d1_pm,
VertexVectorMap vertex2d2_pm,
VertexFTMap vertex2P1_pm, const
VertexFTMap vertex2P2_pm,
VertexFTMap vertex_k1_pm,
VertexFTMap vertex_k2_pm,
VertexFTMap vertex_b0_pm,
VertexFTMap vertex_b3_pm,
VertexVectorMap vertex_d1_pm,
VertexVectorMap vertex_d2_pm,
VertexFTMap vertex_P1_pm, const
VertexFTMap vertex_P2_pm,
OutputIterator it,
CGAL::Ridge_order order = CGAL::Ridge_order_3);
@ -85,8 +82,8 @@ namespace CGAL {
/*!
\ingroup PkgRidges_3
The function `compute_min_ridges()` is a shortcut to the method of the same name
of the class `Ridge_approximation`.
The function `compute_min_ridges()` is a shortcut to
the method `Ridge_approximation::compute_min_ridges()`.
*/
@ -95,14 +92,14 @@ class VertexFTMap,
class VertexVectorMap,
class OutputIterator>
OutputIterator compute_min_ridges(const TriangleMesh &tm,
VertexFTMap vertex2k1_pm,
VertexFTMap vertex2k2_pm,
VertexFTMap vertex2b0_pm,
VertexFTMap vertex2b3_pm,
VertexVectorMap vertex2d1_pm,
VertexVectorMap vertex2d2_pm,
VertexFTMap vertex2P1_pm,
VertexFTMap vertex2P2_pm,
VertexFTMap vertex_k1_pm,
VertexFTMap vertex_k2_pm,
VertexFTMap vertex_b0_pm,
VertexFTMap vertex_b3_pm,
VertexVectorMap vertex_d1_pm,
VertexVectorMap vertex_d2_pm,
VertexFTMap vertex_P1_pm,
VertexFTMap vertex_P2_pm,
OutputIterator it,
CGAL::Ridge_order order = CGAL::Ridge_order_3);
@ -124,12 +121,12 @@ the surface associated to its vertices.
Requirements (checked at compile time):
- the types `TriangleMesh::Traits::FT` and
`boost::property_traits<VertexFTMap>::value_type` must coincide;
`boost::property_traits<VertexFTMap>::%value_type` must coincide;
- the types `TriangleMesh::Traits::Vector_3` and
`boost::property_traits<VertexVectorMap>::value_type` must coincide;
- the types `boost::graph_traits<TriangleMesh>::vertex_descriptor`,
`boost::property_traits<VertexFTMap>::key_type` and
`boost::property_traits<VertexVectorMap>::key_type` must coincide;
`boost::property_traits<VertexVectorMap>::%value_type` must coincide;
- the types `boost::graph_traits<TriangleMesh>::%vertex_descriptor`,
`boost::property_traits<VertexFTMap>::%key_type` and
`boost::property_traits<VertexVectorMap>::%key_type` must coincide;
\sa `Ridge_line`
@ -145,7 +142,7 @@ public:
Order of differential
quantities used to distinguish elliptic and hyperbolic ridges. Third
(`Tag_3`) or fourth (`Tag_4`) order quantities may be used as
explained in Section \ref ridgemesh of the User Manual.
explained in Section \ref Ridges_3Approximating of the User Manual.
*/
enum Tag_order {Tag_3, Tag_4};
@ -162,24 +159,24 @@ property maps shall be initialized with their
default constructors.
\param tm the triangle mesh
\param vertex2k1_pm
\param vertex2k2_pm
\param vertex2b0_pm
\param vertex2b3_pm
\param vertex2d1_pm
\param vertex2d2_pm
\param vertex2P1_pm
\param vertex2P2_pm
\param vertex_k1_pm differential quantities for principal curvatures
\param vertex_k2_pm differential quantities for principal curvatures
\param vertex_b0_pm third order extremalities
\param vertex_b3_pm third order extremalities
\param vertex_d1_pm principal directions of curvature
\param vertex_d2_pm principal directions of curvature
\param vertex_P1_pm fourth order quantities
\param vertex_P2_pm fourth order quantities
*/
Ridge_approximation(const TriangleMesh &tm,
VertexFTMap vertex2k1_pm,
VertexFTMap vertex2k2_pm,
VertexFTMap vertex2b0_pm,
VertexFTMap vertex2b3_pm,
VertexVectorMap vertex2d1_pm,
VertexVectorMap vertex2d2_pm,
VertexFTMap vertex2P1_pm,
VertexFTMap vertex2P2_pm);
VertexFTMap vertex_k1_pm,
VertexFTMap vertex_k2_pm,
VertexFTMap vertex_b0_pm,
VertexFTMap vertex_b3_pm,
VertexVectorMap vertex_d1_pm,
VertexVectorMap vertex_d2_pm,
VertexFTMap vertex_P1_pm,
VertexFTMap vertex_P2_pm);
/*!
Outputs ridges of types `MAX_ELLIPTIC_RIDGE` and `MAX_HYPERBOLIC_RIDGE`.
@ -278,15 +275,18 @@ FT sharpness() const;
*/
const std::list<Ridge_halfhedge>* line() const;
/// @}
}; /* end Ridge_line */
/*!
\relates Ridge_line
Writes the line type, strength, sharpness and coordinates of the
points of the polyline to `os`.
*/
template< typename TriangleMesh >
std::ostream& operator<<(std::ostream& os, const Ridge_line<TriangleMesh>& r);
/// @}
}; /* end Ridge_line */
} /* end namespace CGAL */

View File

@ -11,8 +11,8 @@ enum Umbilic_type { NON_GENERIC_UMBILIC, ELLIPTIC_UMBILIC, HYPERBOLIC_UMBILIC };
/*!
\ingroup PkgRidges_3
The function `compute_umbilics()` is a shortcut to the method `compute()` of
the class `Umbilic_approximation`.
The function `compute_umbilics()` is a shortcut to the
method `Umbilic_approximation::compute()`.
*/
@ -21,10 +21,10 @@ class VertexFTMap,
class VertexVectorMap,
class OutputIterator>
OutputIterator compute_umbilics(const TriangleMesh &tm,
const VertexFTMap& vertex2k1_pm,
const VertexFTMap& vertex2k2_pm,
const VertexVectorMap& vertex2d1_pm,
const VertexVectorMap& vertex2d2_pm,
const VertexFTMap& vertex_k1_pm,
const VertexFTMap& vertex_k2_pm,
const VertexVectorMap& vertex_d1_pm,
const VertexVectorMap& vertex_d2_pm,
OutputIterator it,
double size);
@ -46,12 +46,12 @@ the differential properties of the surface associated to its vertices.
Requirements (checked at compile time) :
- the types `TriangleMesh::Traits::FT` and
`boost::property_traits<VertexFTMap>::value_type` must coincide;
`boost::property_traits<VertexFTMap>::%value_type` must coincide;
- the types `TriangleMesh::Traits::Vector_3` and
`boost::property_traits<VertexVectorMap::value_type` must coincide;
- the types `boost::graph_traits<TriangleMesh>::vertex_descriptor`,
`boost::property_traits<VertexFTMap>::key_type` and
`boost::property_traits<VertexVectorMap>::key_type` must coincide;
`boost::property_traits<VertexVectorMap::%value_type` must coincide;
- the types `boost::graph_traits<TriangleMesh>::%vertex_descriptor`,
`boost::property_traits<VertexFTMap>::%key_type` and
`boost::property_traits<VertexVectorMap>::%key_type` must coincide;
\sa `Umbilic`
\sa `TriangleMesh`
@ -80,16 +80,16 @@ typedef typename TriangleMesh::Traits::FT FT;
Constructor.
\param tm the triangle mesh
\param vertex2k1_pm
\param vertex2k2_pm
\param vertex2d1_pm
\param vertex2d2_pm
\param vertex_k1_pm differential quantities for principal curvatures
\param vertex_k2_pm differential quantities for principal curvatures
\param vertex_d1_pm principal directions of curvature
\param vertex_d2_pm principal directions of curvature
*/
Umbilic_approximation(const TriangleMesh& tm,
VertexFTMap vertex2k1_pm,
VertexFTMap vertex2k2_pm,
VertexVectorMap vertex2d1_pm,
VertexVectorMap vertex2d2_pm);
VertexFTMap vertex_k1_pm,
VertexFTMap vertex_k2_pm,
VertexVectorMap vertex_d1_pm,
VertexVectorMap vertex_d2_pm);
/// @}
@ -117,11 +117,6 @@ namespace CGAL {
The class `Umbilic` stores the description of an umbilic.
\cgalHeading{Operations}
The insert operator `<<` is overloaded for `Umbilic`, it
gives the location (3d coordinates of the vertex) and the type.
\sa `Umbilic_approximation`
*/
@ -165,4 +160,13 @@ const std::list<halfedge_descriptor>& contour_list()const;
/// @}
}; /* end Umbilic */
/*!
\relates Umbilic
Writes the location and the umbilic type to `os`.
*/
template< typename TriangleMesh >
std::ostream& operator<<(std::ostream& os, const Umbilic<TriangleMesh>& u);
} /* end namespace CGAL */

View File

@ -173,8 +173,6 @@ Elliptic and hyperbolic umbilics.
\section Ridges_3Approximating Approximating Ridges on Triangulated Surface Meshes
\anchor ridgemesh
Our method aims at reporting ridges as polygonal lines living on the
mesh. It assumes differential quantities are available for each vertex
of the mesh (principal curvatures and directions together with third
@ -335,7 +333,7 @@ Property maps enables the user
to store scalars and vectors associated to a vertex either
<I>internally</I> in extended vertices or <I>externally</I>
with a `std::map` combined with
a `boost::associative_property_map`.
a <A href="http://www.boost.org/libs/property_map/doc/associative_property_map.html">`boost::associative_property_map`</a>.
Output of ridges or umbilics are provided via output iterators.

View File

@ -60,4 +60,5 @@ void compute_facets_normals(const TriangleMesh& tm,
}
#endif