![]() |
(p(w),z(w)) =
p-z
2-wp-wz
where p-z
is the Euclidean distance between p and z.
p(w) and z(w)
are said to be orthogonal if
(p(w)-z(w))
= 0 (see Figure
).
Four weighted points have a unique common orthogonal weighted point called
the power sphere. A sphere z(w) is said to be
regular if p(w)
S(w),
(p(w)-z(w))
0.
A triangulation of S(w) is regular if the power spheres of all simplices are regular.
#include <CGAL/Regular_triangulation_3.h>
The first template argument must be a model of the RegularTriangulationTraits_3 concept.
The second template argument must be a model of the TriangulationDataStructure_3 concept. It has the default value Triangulation_data_structure_3<Triangulation_vertex_base_3<RegularTriangulationTraits_3>, Triangulation_cell_base_3<RegularTriangulationTraits_3> >.
| ||
| The type for points p of weighted points p(w)=(p,wp) | |
| ||
|
| |||
Creates an empty regular triangulation, possibly specifying a traits class
traits.
| |||
| |||
Copy constructor.
| |||
| |||
| |||
Creates a regular triangulation of the points specified by the iterator range
[first,last) of value type Weighted_point, possibly specifying a
traits class traits.
|
The following methods, which already exist in triangulations, are overloaded to ensure the property that all power spheres are regular.
|
| |||
Inserts weighted point p in the triangulation. If this insertion creates a vertex, this vertex is returned. Otherwise, this method returns the default constructed handle. If p coincides with an existing vertex and has a greater weight, then p replaces that point and the triangulation is updated. The optional argument start is used as a starting place for the search. | ||||
|
| |||
Inserts weighted point p in the triangulation and returns the corresponding vertex. Similar to the above insert() function, but takes as additional parameter the return values of a previous location query. See description of Triangulation_3::locate(). |
The following method allows one to insert several points.
Let us remark that
(p(w)-z(w)) > 0
is equivalent to
|
| |||
Returns the position of the weighted point p with respect to the
power sphere of c. More precisely, it returns: - ON_BOUNDED_SIDE if ![]() ![]() - ON_BOUNDARY if p is orthogonal to the power sphere of c i.e. ![]() - ON_UNBOUNDED_SIDE if ![]() ![]() Precondition: rt.dimension() =3. | ||||
|
| |||
Returns the position of the point p with respect to the
power circle of f. More precisely, it returns: - in dimension 3: - For a finite facet, ON_BOUNDARY if p is orthogonal to the power circle in the plane of the facet, ON_UNBOUNDED_SIDE when their angle is less than ![]() ON_BOUNDED_SIDE when it is greater than ![]() ![]() - For an infinite facet, it considers the plane defined by the finite facet of the cell f.first, and does the same as in dimension 2 in this plane. - in dimension 2: - For a finite facet, ON_BOUNDARY if p is orthogonal to the circle, ON_UNBOUNDED_SIDE when the angle between p and the power circle of f is less than ![]() ![]() - For an infinite facet, ON_BOUNDED_SIDE for a point in the open half plane defined by f and not containing any other point of the triangulation, ON_UNBOUNDED_SIDE in the other open half plane. If the point p is collinear with the finite edge e of f, it returns: ON_BOUNDED_SIDE if ![]() ON_BOUNDARY if ![]() ON_UNBOUNDED_SIDE if ![]() Precondition: rt.dimension() ![]() | ||||
|
| |||
Same as the previous method for facet i of cell c. | ||||
|
| |||
In dimension 1, returns ON_BOUNDED_SIDE if ![]() ON_BOUNDARY if ![]() ON_UNBOUNDED_SIDE if ![]() Precondition: rt.dimension() = 1. | ||||
|
| |||
Returns the vertex of the triangulation which is nearest to p
with respect to the power distance. This means that the power
of the query point p with respect to the weighted point in
the returned vertex is smaller than the power of p
with respect to the weighted point
in any other vertex. Ties are broken arbitrarily.
The default constructed
handle is returned if the triangulation is empty.
The optional argument c is a hint
specifying where to start the search. Precondition: c is a cell of rt. | ||||
|
| |||
Returns the vertex of the cell c that is nearest to p with respect to the power distance. |
![]() | advanced |
![]() |
![]() | advanced |
![]() |