mirror of https://github.com/CGAL/cgal
improve manual
This commit is contained in:
parent
05669c9800
commit
91902b9dda
|
|
@ -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 */
|
||||
|
||||
|
|
|
|||
|
|
@ -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 */
|
||||
|
|
|
|||
|
|
@ -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.
|
||||
|
||||
|
|
|
|||
|
|
@ -60,4 +60,5 @@ void compute_facets_normals(const TriangleMesh& tm,
|
|||
}
|
||||
|
||||
|
||||
|
||||
#endif
|
||||
|
|
|
|||
Loading…
Reference in New Issue