mirror of https://github.com/CGAL/cgal
fix doc warnings triggered essentially by the improvement of doxygen
This commit is contained in:
parent
4f14095cb8
commit
742a615527
|
|
@ -42,15 +42,16 @@ Bounding box type.
|
|||
typedef unspecified_type Bounding_box;
|
||||
|
||||
/*!
|
||||
enum required for axis selection
|
||||
*/
|
||||
enum Axis {
|
||||
X_AXIS,
|
||||
Y_AXIS,
|
||||
Z_AXIS
|
||||
CGAL_X_AXIS,
|
||||
CGAL_Y_AXIS,
|
||||
CGAL_Z_AXIS
|
||||
};
|
||||
|
||||
/*!
|
||||
|
||||
3D Point and Primitive Id type
|
||||
*/
|
||||
typedef std::pair<Point_3, Primitive::Id> Point_and_primitive_id;
|
||||
|
||||
|
|
|
|||
|
|
@ -249,7 +249,7 @@ public:
|
|||
/// \bug This is not documented for now in the AABBTraits concept.
|
||||
typedef typename GeomTraits::Iso_cuboid_3 Iso_cuboid_3;
|
||||
|
||||
///
|
||||
/// Bounding box type.
|
||||
typedef typename CGAL::Bbox_3 Bounding_box;
|
||||
|
||||
/// @}
|
||||
|
|
|
|||
|
|
@ -91,7 +91,7 @@ namespace CGAL {
|
|||
typedef typename Primitives::size_type size_type;
|
||||
/// Type of bounding box.
|
||||
typedef typename AABBTraits::Bounding_box Bounding_box;
|
||||
///
|
||||
/// 3D Point and Primitive Id type
|
||||
typedef typename AABBTraits::Point_and_primitive_id Point_and_primitive_id;
|
||||
/// \deprecated
|
||||
typedef typename AABBTraits::Object_and_primitive_id Object_and_primitive_id;
|
||||
|
|
@ -412,12 +412,14 @@ public:
|
|||
boost::optional< typename Intersection_and_primitive_id<Ray>::Type >
|
||||
first_intersection(const Ray& query, const SkipFunctor& skip) const;
|
||||
|
||||
/// \cond
|
||||
template<typename Ray>
|
||||
boost::optional< typename Intersection_and_primitive_id<Ray>::Type >
|
||||
first_intersection(const Ray& query) const
|
||||
{
|
||||
return first_intersection(query, boost::lambda::constant(false));
|
||||
}
|
||||
/// \endcond
|
||||
|
||||
/// Returns the primitive id closest to the source point of the ray
|
||||
/// query.
|
||||
|
|
@ -435,12 +437,14 @@ public:
|
|||
boost::optional<Primitive_id>
|
||||
first_intersected_primitive(const Ray& query, const SkipFunctor& skip) const;
|
||||
|
||||
/// \cond
|
||||
template<typename Ray>
|
||||
boost::optional<Primitive_id>
|
||||
first_intersected_primitive(const Ray& query) const
|
||||
{
|
||||
return first_intersected_primitive(query, boost::lambda::constant(false));
|
||||
}
|
||||
/// \endcond
|
||||
///@}
|
||||
|
||||
/// \name Distance Queries
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@
|
|||
A Circulator is similar to an Iterator, with the difference that it is designed for circular data structures.
|
||||
<h1></h1>
|
||||
|
||||
# Circulators # {#circulatorConceptsIntro}
|
||||
\section circulatorConceptsIntro Circulators
|
||||
Iterators in the \stl were tailored for linear sequences. The
|
||||
specialization for circular data structures leads to slightly
|
||||
different requirements which we will summarize in the
|
||||
|
|
@ -26,7 +26,7 @@ to the circulator requirements: A comparison `c == NULL`
|
|||
for a circulator `c` is true for an empty sequence. As for \cpp,
|
||||
we recommend the use of 0 instead of `NULL`.
|
||||
|
||||
## Circulators ## {#circulatorConceptsCirculators}
|
||||
\subsection circulatorConceptsCirculators Circulators
|
||||
Similar to \stl iterators, we distinguish between forward,
|
||||
bidirectional, and random access circulators\cgalFootnote{Input
|
||||
circulators are a contradiction, since any circulator is supposed to
|
||||
|
|
@ -103,7 +103,7 @@ circulator category.
|
|||
|
||||
</TABLE>
|
||||
|
||||
## Forward Circulators ## {#circulatorConceptsForward}
|
||||
\subsection circulatorConceptsForward Forward Circulators
|
||||
|
||||
In the following, we assume that <TT>a</TT> and <TT>b</TT> are
|
||||
circulators of type <TT>C</TT>, <TT>r</TT> is of type <TT>C&</TT> (is
|
||||
|
|
@ -164,7 +164,7 @@ circulator category <TT>Forward_circulator_tag</TT>.
|
|||
|
||||
</TABLE>
|
||||
|
||||
## Bidirectional Circulators ## {#circulatorConceptsBidirectional}
|
||||
\subsection circulatorConceptsBidirectional Bidirectional Circulators
|
||||
|
||||
The same requirements as for the forward circulators hold for
|
||||
bidirectional iterators with the following change of the iterator
|
||||
|
|
@ -177,7 +177,7 @@ circulator category <TT>Bidirectional_circulator_tag</TT>.
|
|||
|
||||
</TABLE>
|
||||
|
||||
## Random Access Circulators ## {#sectionRandomAccessCirculatorRequ}
|
||||
\subsection circulatorConceptsRandomAccessCirculators Random Access Circulators
|
||||
|
||||
\anchor sectionMinCircleRequ
|
||||
|
||||
|
|
@ -223,14 +223,14 @@ circulator category <TT>Random_access_circulator_tag</TT>.
|
|||
|
||||
</TABLE>
|
||||
|
||||
## Const Circulators ##
|
||||
\subsection circulatorConceptsConstCirculators Const Circulators
|
||||
|
||||
As with iterators, we distinguish between circulators and const
|
||||
circulators. The expression <TT>*a = t</TT> with <TT>t</TT> of type
|
||||
<TT>T</TT> is valid for mutable circulators. It is invalid for const
|
||||
circulators.
|
||||
|
||||
## Circulators in Container Classes ##
|
||||
\subsection subsec_CircContClass Circulators in Container Classes
|
||||
|
||||
For a container <TT>x</TT> of type <TT>X</TT> that supports
|
||||
circulators <TT>c</TT> the following naming convention is recommended:
|
||||
|
|
@ -266,7 +266,7 @@ of iterators and circulators simultaneously is not recommended, since
|
|||
it would lead to fat interfaces. The natural choice should be
|
||||
supported, the other concept will be available through adaptors.
|
||||
|
||||
## Example ##
|
||||
\subsection subsec_Circ_ex Example
|
||||
|
||||
A generic <TT>contains</TT> function accepts a range of circulators
|
||||
and a value. It returns `true` if the value is contained in the
|
||||
|
|
@ -320,7 +320,7 @@ class BidirectionalCirculator {
|
|||
|
||||
/*!
|
||||
\ingroup PkgHandlesAndCirculatorsConcepts
|
||||
See Subsection \ref sectionRandomAccessCirculatorRequ in the page on Circulators.
|
||||
See Subsection \ref sectionMinCircleRequ in the page on Circulators.
|
||||
\cgalConcept
|
||||
*/
|
||||
class RandomAccessCirculator {
|
||||
|
|
|
|||
|
|
@ -53,7 +53,7 @@ with the regular triangulation and `p` as arguments.
|
|||
|
||||
/*!
|
||||
The sample points \f$ \mathcal{P}\f$ are provided in the range
|
||||
`[first`, beyond)`.
|
||||
`[first, beyond)`.
|
||||
The value type of `InputIterator` is the point type
|
||||
`Kernel::Point_3`. The tangent plane is defined by the point
|
||||
`p` and the vector `normal`. The parameter `K`
|
||||
|
|
|
|||
|
|
@ -181,11 +181,11 @@ is performed; and if \f$ N >N_d\f$, approximation is used.
|
|||
|
||||
As explained in Section \ref secintro , the output consists of a
|
||||
coordinate system, the Monge basis, together with the Monge
|
||||
coefficients which are stored in the `Monge_via_jet_fitting::Monge_form` class. In
|
||||
coefficients which are stored in the `::CGAL::Monge_via_jet_fitting::Monge_form` class. In
|
||||
addition, more information on the computational issues are stored in
|
||||
the `Monge_via_jet_fitting` class.
|
||||
|
||||
The `Monge_via_jet_fitting::Monge_form` class provides the following information.
|
||||
The `::CGAL::Monge_via_jet_fitting::Monge_form` class provides the following information.
|
||||
|
||||
<UL>
|
||||
<LI>%Origin. This is the point on the fitted polynomial surface
|
||||
|
|
@ -224,7 +224,7 @@ In addition, the class `Monge_via_jet_fitting` stores
|
|||
This concept provides the types for the input sample points, together
|
||||
with \f$ 3d\f$ vectors and a number type. It is used as template for the
|
||||
class `Monge_via_jet_fitting<DataKernel, LocalKernel, SvdTraits>`. Typically, one can use
|
||||
`Cartesian<double>`.
|
||||
`Cartesian< double >`.
|
||||
|
||||
\subsubsection Jet_fitting_3TemplateparameterLocalKernel Template parameter LocalKernel
|
||||
|
||||
|
|
@ -234,11 +234,11 @@ This concept defines the vector and number types used for local
|
|||
computations and to store the PCA basis data.
|
||||
|
||||
Input points of type
|
||||
`DataKernel::Point_3` are converted to
|
||||
`LocalKernel::Point_3`. For output of the `Monge_via_jet_fitting::Monge_form` class,
|
||||
`DataKernel::%Point_3` are converted to
|
||||
`LocalKernel::%Point_3`. For output of the `::CGAL::Monge_via_jet_fitting::Monge_form` class,
|
||||
these types are converted back to `DataKernel` ones. Typically,
|
||||
one can use
|
||||
`Cartesian<double>` which is the default.
|
||||
`Cartesian< double >` which is the default.
|
||||
|
||||
\subsubsection Jet_fitting_3TemplateparameterSvdTraits Template parameter SvdTraits
|
||||
|
||||
|
|
@ -253,8 +253,8 @@ To solve the fitting problem, the sample points are first converted
|
|||
from the `DataKernel` to the `LocalKernel` (this is done using
|
||||
the `Cartesian_converter`). Then change of coordinate
|
||||
systems and linear algebra operations are performed with this
|
||||
kernel. This implies that the number types `LocalKernel::FT` and
|
||||
`SvdTraits::FT` must be identical.
|
||||
kernel. This implies that the number types `LocalKernel::%FT` and
|
||||
`SvdTraits::%FT` must be identical.
|
||||
Second the Monge basis and coefficients, computed with the
|
||||
`LocalKernel`, are converted back to the `DataKernel`
|
||||
(this is done using the `Cartesian_converter` and the
|
||||
|
|
@ -278,7 +278,7 @@ illustrates the computation of local differential quantities for all
|
|||
vertices of a given mesh. The neighborhood of a given vertex is
|
||||
computed using rings on the triangulation. Results are twofold:
|
||||
<UL>
|
||||
<LI>a human readable text file featuring the `Monge_via_jet_fitting::Monge_form` and
|
||||
<LI>a human readable text file featuring the `::CGAL::Monge_via_jet_fitting::Monge_form` and
|
||||
numerical informations on the computation: condition number and the
|
||||
PCA basis;
|
||||
<LI>another text file that records raw data (better for a vizualization
|
||||
|
|
|
|||
|
|
@ -12,6 +12,8 @@ The requirements of `PolygonTraits_2` are a subset of the kernel
|
|||
requirements. We only list the types and methods which are required
|
||||
and refer to the description of the kernel concept for details.
|
||||
|
||||
\cgalRefines `DefaultConstructible` and `CopyConstructable`
|
||||
|
||||
\cgalHasModel The kernels supplied by \cgal are models of `PolygonTraits_2`.
|
||||
\cgalHasModel `CGAL::Projection_traits_xy_3<K>`
|
||||
\cgalHasModel `CGAL::Projection_traits_yz_3<K>`
|
||||
|
|
@ -24,19 +26,11 @@ and refer to the description of the kernel concept for details.
|
|||
class PolygonTraits_2 {
|
||||
public:
|
||||
|
||||
/// \name Creation
|
||||
/// @{
|
||||
///
|
||||
PolygonTraits_2();
|
||||
///
|
||||
PolygonTraits_2(const PolygonTraits_2&);
|
||||
/// @}
|
||||
|
||||
/// \name Types
|
||||
/// @{
|
||||
|
||||
/*!
|
||||
|
||||
number type
|
||||
*/
|
||||
typedef unspecified_type FT;
|
||||
|
||||
|
|
@ -51,37 +45,39 @@ The segment type.
|
|||
typedef unspecified_type Segment_2;
|
||||
|
||||
/*!
|
||||
|
||||
functor providing `Segment_2 operator()(Point_2, Point_2)` to construct a segment from two points.
|
||||
*/
|
||||
typedef unspecified_type Construct_segment_2;
|
||||
|
||||
/*!
|
||||
|
||||
functor providing `bool operator()(Point_2, Point_2)` to test equality of two points.
|
||||
*/
|
||||
typedef unspecified_type Equal_2;
|
||||
|
||||
/*!
|
||||
|
||||
functor providing `bool operator()(Point_2, Point_2)` to compare lexicographically of two points.
|
||||
*/
|
||||
typedef unspecified_type Less_xy_2;
|
||||
|
||||
/*!
|
||||
|
||||
functor providing `bool operator()(Point_2, Point_2)` to compare inverse-lexicographically of two points.
|
||||
*/
|
||||
typedef unspecified_type Less_yx_2;
|
||||
|
||||
/*!
|
||||
|
||||
functor providing `bool operator()(Point_2, Point_2)` to compare the x-coordinate of two points.
|
||||
*/
|
||||
typedef unspecified_type Compare_x_2;
|
||||
|
||||
/*!
|
||||
|
||||
functor providing `bool operator()(Point_2, Point_2)` to compare the y-coordinate of two points.
|
||||
*/
|
||||
typedef unspecified_type Compare_y_2;
|
||||
|
||||
/*!
|
||||
|
||||
functor providing `Oriention operator()(Point_2 p, Point_2 q, Point_2 r)`
|
||||
that returns CGAL::LEFT_TURN, if r lies to the left of the oriented line l defined by p and q,
|
||||
CGAL::RIGHT_TURN if r lies to the right of l, and CGAL::COLLINEAR if r lies on l.
|
||||
*/
|
||||
typedef unspecified_type Orientation_2;
|
||||
|
||||
|
|
@ -98,43 +94,43 @@ typedef unspecified_type Compute_area_2;
|
|||
/// @{
|
||||
|
||||
/*!
|
||||
|
||||
*/
|
||||
returns the corresponding function object
|
||||
*/
|
||||
Equal_2 equal_2_object();
|
||||
|
||||
/*!
|
||||
|
||||
*/
|
||||
returns the corresponding function object
|
||||
*/
|
||||
Less_xy_2 less_xy_2_object();
|
||||
|
||||
/*!
|
||||
|
||||
*/
|
||||
returns the corresponding function object
|
||||
*/
|
||||
Less_yx_2 less_yx_2_object();
|
||||
|
||||
/*!
|
||||
|
||||
*/
|
||||
returns the corresponding function object
|
||||
*/
|
||||
Compare_y_2 compare_y_2_object();
|
||||
|
||||
/*!
|
||||
|
||||
*/
|
||||
returns the corresponding function object
|
||||
*/
|
||||
Compare_x_2 compare_x_2_object();
|
||||
|
||||
/*!
|
||||
|
||||
*/
|
||||
returns the corresponding function object
|
||||
*/
|
||||
Orientation_2 orientation_2_object();
|
||||
|
||||
/*!
|
||||
|
||||
*/
|
||||
returns the corresponding function object
|
||||
*/
|
||||
Compute_area_2 compute_area_2_object();
|
||||
|
||||
/*!
|
||||
|
||||
*/
|
||||
returns the corresponding function object
|
||||
*/
|
||||
Construct_segment_2 construct_segment_2_object();
|
||||
|
||||
/// @}
|
||||
|
|
|
|||
|
|
@ -55,6 +55,7 @@ public:
|
|||
/// \name Definition
|
||||
|
||||
/// @{
|
||||
/// polygon without hole type
|
||||
typedef Polygon_ General_polygon_2;
|
||||
/// @}
|
||||
|
||||
|
|
|
|||
|
|
@ -122,26 +122,24 @@ class Polygon_2 {
|
|||
///
|
||||
/// @{
|
||||
|
||||
///
|
||||
/// vertex iterator type
|
||||
typedef typename Container::iterator Vertex_iterator;
|
||||
|
||||
|
||||
//typedef typename Container::const_iterator Vertex_const_iterator; ??
|
||||
|
||||
#ifdef DOXYGEN_RUNNING
|
||||
/// vertex circulator type
|
||||
typedef unspecified_type Vertex_circulator;
|
||||
typedef unspecified_type Edge_const_iterator;
|
||||
|
||||
typedef unspecified_type Edge_const_circulator;
|
||||
#else
|
||||
typedef Vertex_const_circulator Vertex_circulator;
|
||||
///
|
||||
typedef Polygon_2_edge_iterator<Traits_P,Container_P>
|
||||
Edge_const_iterator;
|
||||
|
||||
///
|
||||
typedef Polygon_2_const_edge_circulator<Traits_P,Container_P>
|
||||
Edge_const_circulator;
|
||||
/// edge circulator type
|
||||
typedef unspecified_type Edge_const_iterator;
|
||||
/// edge circular type
|
||||
typedef unspecified_type Edge_const_circulator;
|
||||
#else
|
||||
typedef Vertex_const_circulator Vertex_circulator;
|
||||
typedef Polygon_2_edge_iterator<Traits_P,Container_P> Edge_const_iterator;
|
||||
typedef Polygon_2_const_edge_circulator<Traits_P,
|
||||
Container_P> Edge_const_circulator;
|
||||
#endif // DOXYGEN_RUNNING
|
||||
/// @}
|
||||
|
||||
|
|
@ -177,10 +175,12 @@ class Polygon_2 {
|
|||
void set(Vertex_iterator i, const Point_2& q)
|
||||
{ *i = q; }
|
||||
|
||||
/// \cond
|
||||
void set(Polygon_circulator<Container>const &i, const Point_2& q)
|
||||
{
|
||||
*i.mod_iterator() = q;
|
||||
}
|
||||
/// \endcond
|
||||
|
||||
/// Inserts the vertex `q` before `i`. The return value points to
|
||||
/// the inserted vertex.
|
||||
|
|
@ -189,6 +189,8 @@ class Polygon_2 {
|
|||
return d_container.insert(i,q);
|
||||
}
|
||||
|
||||
/// Inserts the vertex `q` before `i`. The return value points to
|
||||
/// the inserted vertex.
|
||||
Vertex_iterator insert(Vertex_circulator i, const Point_2& q)
|
||||
{
|
||||
return d_container.insert(i.mod_iterator(),q);
|
||||
|
|
@ -203,6 +205,9 @@ class Polygon_2 {
|
|||
InputIterator last)
|
||||
{ d_container.insert(i, first, last); }
|
||||
|
||||
/// Inserts the vertices in the range `[first, last)`
|
||||
/// before `i`. The value type of points in the range
|
||||
/// `[first,last)` must be `Point_2`.
|
||||
template <class InputIterator>
|
||||
void insert(Vertex_circulator i,
|
||||
InputIterator first,
|
||||
|
|
@ -219,6 +224,7 @@ class Polygon_2 {
|
|||
return d_container.erase(i);
|
||||
}
|
||||
|
||||
/// Erases the vertex pointed to by `i`.
|
||||
Vertex_circulator erase(Vertex_circulator i)
|
||||
{
|
||||
return Vertex_circulator(&d_container,
|
||||
|
|
@ -389,31 +395,32 @@ class Polygon_2 {
|
|||
/// @}
|
||||
|
||||
|
||||
/// \name
|
||||
/// \name Convenience Orientation Functions
|
||||
/// For convenience we provide the following Boolean functions:
|
||||
/// @{
|
||||
|
||||
/// returns `orientation() == COUNTERCLOCKWISE`
|
||||
bool is_counterclockwise_oriented() const
|
||||
{ return orientation() == COUNTERCLOCKWISE; }
|
||||
|
||||
/// returns `orientation() == CLOCKWISE`
|
||||
bool is_clockwise_oriented() const
|
||||
{ return orientation() == CLOCKWISE; }
|
||||
|
||||
/// returns `orientation() == COLLINEAR`
|
||||
bool is_collinear_oriented() const
|
||||
{ return orientation() == COLLINEAR; }
|
||||
|
||||
/// returns `oriented_side(q) == ON_POSITIVE_SIDE`
|
||||
bool has_on_positive_side(const Point_2& q) const
|
||||
{ return oriented_side(q) == ON_POSITIVE_SIDE; }
|
||||
|
||||
/// returns `oriented_side(q) == ON_NEGATIVE_SIDE`
|
||||
bool has_on_negative_side(const Point_2& q) const
|
||||
{ return oriented_side(q) == ON_NEGATIVE_SIDE; }
|
||||
|
||||
/// returns `bounded_side(q) == ON_BOUNDARY`
|
||||
bool has_on_boundary(const Point_2& q) const
|
||||
{ return bounded_side(q) == ON_BOUNDARY; }
|
||||
|
||||
/// returns `bounded_side(q) == ON_BOUNDED_SIDE`
|
||||
bool has_on_bounded_side(const Point_2& q) const
|
||||
{ return bounded_side(q) == ON_BOUNDED_SIDE; }
|
||||
|
||||
/// returns `bounded_side(q) == ON_UNBOUNDED_SIDE`
|
||||
bool has_on_unbounded_side(const Point_2& q) const
|
||||
{ return bounded_side(q) == ON_UNBOUNDED_SIDE; }
|
||||
|
||||
|
|
|
|||
|
|
@ -468,7 +468,7 @@ with duplicated border edges.
|
|||
\cgalExample{Polygon_mesh_processing/stitch_borders_example.cpp}
|
||||
|
||||
*******************
|
||||
<!---
|
||||
\cond
|
||||
\subsection DegenerateFaces Removing Degenerate Faces
|
||||
|
||||
Some degenerate faces may be part of a given triangle mesh.
|
||||
|
|
@ -488,7 +488,7 @@ are removed, the connectivity is fixed, and the number of removed faces
|
|||
is output.
|
||||
|
||||
\cgalExample{Polygon_mesh_processing/remove_degeneracies_example.cpp}
|
||||
--->
|
||||
\endcond
|
||||
|
||||
*******************
|
||||
\subsection PolygonSoups Polygon Soups
|
||||
|
|
|
|||
|
|
@ -7,6 +7,8 @@ The definition of close depends on the model.
|
|||
The fact that some basic operations are hidden behind a function is to allow to benefit from optimizations like expression template from libraries used
|
||||
to implement models of this concept.
|
||||
|
||||
\cgalRefines `DefaultConstructible`
|
||||
|
||||
\cgalHasModel `CGAL::Deformation_Eigen_closest_rotation_traits_3`
|
||||
\cgalHasModel `CGAL::Deformation_Eigen_polar_closest_rotation_traits_3`
|
||||
|
||||
|
|
@ -21,12 +23,6 @@ public:
|
|||
typedef unspecified_type Vector;
|
||||
/// @}
|
||||
|
||||
/// \name Creation
|
||||
/// @{
|
||||
/// Default constructor.
|
||||
DeformationClosestRotationTraits_3();
|
||||
/// @}
|
||||
|
||||
/// \name Operations
|
||||
/// @{
|
||||
|
||||
|
|
|
|||
|
|
@ -9,6 +9,7 @@ class RawPoint_3
|
|||
public:
|
||||
/// \name Creation
|
||||
/// @{
|
||||
/// constructor from Cartesian coordinates
|
||||
RawPoint_3(double x, double y, double z);
|
||||
/// @}
|
||||
|
||||
|
|
|
|||
|
|
@ -216,8 +216,11 @@ public:
|
|||
/// @{
|
||||
// typedefed template parameters, main reason is doxygen creates autolink to typedefs but not template parameters
|
||||
///
|
||||
/// Triangle mesh type
|
||||
typedef TM Triangle_mesh;
|
||||
/// \cond
|
||||
typedef TM Halfedge_graph;
|
||||
/// \endcond
|
||||
|
||||
// Index maps
|
||||
#ifndef DOXYGEN_RUNNING
|
||||
|
|
@ -230,9 +233,9 @@ public:
|
|||
typename boost::property_map<Triangle_mesh, boost::halfedge_index_t>::type
|
||||
>::type Hedge_index_map;
|
||||
#else
|
||||
///
|
||||
/// vertex index map type
|
||||
typedef VIM Vertex_index_map;
|
||||
///
|
||||
/// halfedge index map type
|
||||
typedef HIM Hedge_index_map;
|
||||
#endif
|
||||
|
||||
|
|
@ -243,7 +246,7 @@ public:
|
|||
typename internal::Types_selectors<TM, TAG>::Weight_calculator
|
||||
>::type Weight_calculator;
|
||||
#else
|
||||
///
|
||||
/// weight calculator functor type
|
||||
typedef WC Weight_calculator;
|
||||
#endif
|
||||
|
||||
|
|
@ -261,7 +264,7 @@ public:
|
|||
#endif
|
||||
>::type Sparse_linear_solver;
|
||||
#else
|
||||
///
|
||||
/// sparse linear solver type
|
||||
typedef ST Sparse_linear_solver;
|
||||
#endif
|
||||
|
||||
|
|
@ -276,7 +279,7 @@ public:
|
|||
#endif
|
||||
>::type Closest_rotation_traits;
|
||||
#else
|
||||
///
|
||||
/// closest rotation traits type
|
||||
typedef CR Closest_rotation_traits;
|
||||
#endif
|
||||
|
||||
|
|
@ -287,7 +290,7 @@ public:
|
|||
typename boost::property_map<Triangle_mesh, CGAL::vertex_point_t>::type
|
||||
>::type Vertex_point_map;
|
||||
#else
|
||||
///
|
||||
/// vertex point map type
|
||||
typedef VPM Vertex_point_map;
|
||||
#endif
|
||||
|
||||
|
|
@ -955,8 +958,10 @@ public:
|
|||
const Triangle_mesh& triangle_mesh() const
|
||||
{ return m_triangle_mesh; }
|
||||
|
||||
/// \cond
|
||||
const Triangle_mesh& halfedge_graph() const
|
||||
{ return m_triangle_mesh; }
|
||||
/// \endcond
|
||||
|
||||
/**
|
||||
* Sets the alpha coefficient that determines the weight of the bending term (rotation smoothness) for the SRE-ARAP deformation technique.
|
||||
|
|
|
|||
|
|
@ -7,6 +7,7 @@ The concept `SurfaceMeshShortestPathTraits` describes the types,
|
|||
predicates, and constructions required by the traits class parameter of
|
||||
`CGAL::Surface_mesh_shortest_path`.
|
||||
|
||||
\cgalRefines `CopyConstructible` and `Assignable`
|
||||
\cgalHasModel `CGAL::Surface_mesh_shortest_path_traits<K,P>`
|
||||
|
||||
*/
|
||||
|
|
@ -330,19 +331,11 @@ public:
|
|||
|
||||
/// @}
|
||||
|
||||
/// \name Creation
|
||||
/// @{
|
||||
/*!
|
||||
*/
|
||||
SurfaceMeshShortestPathTraits(SurfaceMeshShortestPathTraits& copy);
|
||||
|
||||
/// @}
|
||||
|
||||
/// \name Operations
|
||||
/// For all of the above predicate and construction types, e.g. `Func_obj_type`, a function must exist with the name `func_obj_type_object()` that creates an instance of the construction or predicate object type.
|
||||
/// For example:
|
||||
/// @{
|
||||
|
||||
/// returns the point construction functor.
|
||||
Construct_point_2 construct_point_2_object();
|
||||
|
||||
/// @}
|
||||
|
|
|
|||
|
|
@ -146,6 +146,7 @@ public:
|
|||
|
||||
#ifndef CGAL_NO_DEPRECATED_CODE
|
||||
// deprecated in CGAL 4.10
|
||||
/// \deprecated
|
||||
typedef Barycentric_coordinates Barycentric_coordinate;
|
||||
#endif
|
||||
|
||||
|
|
@ -2596,7 +2597,7 @@ public:
|
|||
/// \name Nearest Face Location Queries
|
||||
/// @{
|
||||
|
||||
/*
|
||||
/*!
|
||||
\brief Returns the nearest face location to the given point.
|
||||
Note that this will (re-)build an `AABB_tree` on each call. If you need
|
||||
to call this function more than once, use `build_aabb_tree()` to cache a
|
||||
|
|
@ -2661,7 +2662,7 @@ public:
|
|||
|
||||
/// \endcond
|
||||
|
||||
/*
|
||||
/*!
|
||||
\brief Returns the face location along `ray` nearest to its source point.
|
||||
Note that this will (re-)build an `AABB_tree` on each call. If you need
|
||||
to call this function more than once, use `build_aabb_tree()` to cache a
|
||||
|
|
|
|||
|
|
@ -127,45 +127,59 @@ typedef unspecified_type Compute_z_3;
|
|||
/// \name Access to Function Objects
|
||||
/// @{
|
||||
|
||||
/// Function object creator
|
||||
Construct_point_3
|
||||
construct_point_3_object();
|
||||
|
||||
/// Function object creator
|
||||
Construct_vector_3
|
||||
construct_vector_3_object();
|
||||
|
||||
/// Function object creator
|
||||
Construct_scaled_vector_3
|
||||
construct_scaled_vector_3_object();
|
||||
|
||||
/// Function object creator
|
||||
Construct_divided_vector_3
|
||||
construct_divided_vector_3_object();
|
||||
|
||||
/// Function object creator
|
||||
Construct_cross_product_vector_3
|
||||
construct_cross_product_vector_3_object();
|
||||
|
||||
/// Function object creator
|
||||
Construct_sum_of_vectors_3
|
||||
construct_sum_of_vectors_3_object();
|
||||
|
||||
/// Function object creator
|
||||
Construct_midpoint_3
|
||||
construct_midpoint_3_object();
|
||||
|
||||
/// Function object creator
|
||||
Compute_squared_distance_3
|
||||
compute_squared_distance_3_object();
|
||||
|
||||
/// Function object creator
|
||||
Compute_squared_length_3
|
||||
compute_squared_length_3_object();
|
||||
|
||||
/// Function object creator
|
||||
Compute_area_3
|
||||
compute_area_3_object();
|
||||
|
||||
/// Function object creator
|
||||
Compute_scalar_product_3
|
||||
compute_scalar_product_3_object();
|
||||
|
||||
/// Function object creator
|
||||
Compute_x_3
|
||||
compute_x_3_object();
|
||||
|
||||
/// Function object creator
|
||||
Compute_y_3
|
||||
compute_y_3_object();
|
||||
|
||||
/// Function object creator
|
||||
Compute_z_3
|
||||
compute_z_3_object();
|
||||
|
||||
|
|
|
|||
|
|
@ -414,11 +414,13 @@ public:
|
|||
return m_min_edge_length;
|
||||
}
|
||||
|
||||
void set_max_triangle_angle(double value)
|
||||
/// set function for `max_triangle_angle()`
|
||||
void set_max_triangle_angle(double value)
|
||||
{
|
||||
m_alpha_TH = value;
|
||||
}
|
||||
|
||||
/// set function for `min_edge_length()`
|
||||
void set_min_edge_length(double value)
|
||||
{
|
||||
m_min_edge_length = value;
|
||||
|
|
@ -443,11 +445,13 @@ public:
|
|||
return m_delta_area;
|
||||
}
|
||||
|
||||
/// set function for `max_iterations()`
|
||||
void set_max_iterations(std::size_t value)
|
||||
{
|
||||
m_max_iterations = value;
|
||||
}
|
||||
|
||||
/// set function for `area_variation_factor()`
|
||||
void set_area_variation_factor(double value)
|
||||
{
|
||||
m_delta_area = value;
|
||||
|
|
@ -489,16 +493,19 @@ public:
|
|||
return m_omega_P;
|
||||
}
|
||||
|
||||
/// set function for `quality_speed_tradeoff()`
|
||||
void set_quality_speed_tradeoff(double value)
|
||||
{
|
||||
m_omega_H = value;
|
||||
}
|
||||
|
||||
/// set function for `is_medially_centered()`
|
||||
void set_is_medially_centered(bool value)
|
||||
{
|
||||
m_is_medially_centered = value;
|
||||
}
|
||||
|
||||
/// set function for `medially_centered_speed_tradeoff()`
|
||||
void set_medially_centered_speed_tradeoff(double value)
|
||||
{
|
||||
m_omega_P = value;
|
||||
|
|
|
|||
|
|
@ -181,7 +181,7 @@ corresponding to a face \f$ f \f$ stores a reference to a full cell `c`
|
|||
containing \f$ f \f$, and the indices of the vertices of `c` that belong
|
||||
to \f$ f \f$.
|
||||
|
||||
<!---
|
||||
\cond
|
||||
\cgalAdvanced The index of a full cell \f$ c\f$ in the \f$ i\f$-th
|
||||
neighbor of \f$ c\f$ is called the <I>\f$ i\f$-th mirror-index</I> of
|
||||
\f$ c\f$ (Figure \cgalFigureRef{triangulationfigfullcell}). Mirror indices are
|
||||
|
|
@ -197,7 +197,7 @@ triangulation. Its second template parameter is used to specify wether
|
|||
or not the mirror indices should be kept in memory or computed
|
||||
on-the-fly, which is the default case. Please refer to the
|
||||
documentation of that class template for specific details.
|
||||
--->
|
||||
\endcond
|
||||
|
||||
###Template Parameters###
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue