The concept ImplicitSurfaceTraits_3 describes the requirements of the traits class to be plugged as Traits in Implicit_surface_3<Traits, Function>.
When make_surface_mesh is called with a surface of type Implicit_surface_3<Traits,Function>, the surface mesher traits generator generates automatically a traits class that is a model of SurfaceMeshTraits_3. Actually, the concept ImplicitSurfaceTraits_3 provides the types, predicates and constructors that are passed to the generated model of SurfaceMeshTraits_3.
| |
The numerical type. It must be model of
SqrtFieldNumberType and constructible from a double.
| |
| |
The point type. This point type must have a
constructor Point_3(FT, FT, FT).
| |
| |
The line type.
| |
| |
The ray type.
| |
| |
The segment type.
| |
| |
The vector type.
| |
| |
The sphere type.
| |
| |
A function object that provides the operator FT operator()(Vector_3 v, Vector_3 w) which returns the scalar (inner) product of the two vectors v and w.
| |
| |
A function object that provides the operator FT operator()(Point_3, Point_3) which returns the squared distance between two points.
| |
| |
A function object providing the operator FT operator()(const Sphere_3& s) which returns the squared radius of s.
| |
| |
A function object providing the operator Point_3 operator()(const Sphere_3& s) which computes the center of the sphere s.
| |
| |
A function object providing the operator Point_3 operator()(const Point_3& p, const Point_3& q) which computes the midpoint of the segment pq.
| |
| |
A function object providing the following operators: Point_3 operator()(const Line_3& l,int i); which returns an arbitrary point on l. It holds point(i) == point(j), iff i==j. Furthermore, is directed from point(i) to point(j), for all i j. Point_3 operator()(const Ray_3& r,int i); which returns a point on r. point(0) is the source, point(i), with , is different from the source. Precondition: . Point_3 operator()(const Segment_3& s,int i); which returns source or target of s: point(0) returns the source of s, point(1) returns the target of s. The parameter i is taken modulo 2, which gives easy access to the other end point.
| |
| |
A function object providing the operators Segment_3 operator()(const Point_3 &p, const Point_3 &q); which returns a segment with source and target . It is directed from the source towards the target.
| |
| |
A function object providing the operator Vector_3 operator()(const Vector_3 &v, const FT& scale) which returns the vector v scaled by a factor scale.
| |
| |
A function object providing the operator Point_3 operator()(const Point_3& p, const Vector_3& v) which returns the point obtained by translating p by the vector v.
| |
| |
A function object providing the operator Vector_3 operator()(const Point_3 &a, const Point_3 &b) which returns the vector b-a.
| |
| |
A function object providing the operator bool operator()(const Sphere_3&s, const Point_3&p); which returns true iff lies on the bounded side of .
|
The following functions give access to the predicate and construction objects:
Any CGAL Kernel.
Implicit_surface_3<Traits, Function>,
make_surface_mesh