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