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.
ImplicitSurfaceTraits_3::FT | |||
The numerical type. It must be model of
SqrtFieldNumberType and constructible from a double.
| |||
ImplicitSurfaceTraits_3::Point_3 | |||
The point type. This point type must have a
constructor Point_3(FT, FT, FT).
| |||
ImplicitSurfaceTraits_3::Line_3 | |||
The line type.
| |||
ImplicitSurfaceTraits_3::Ray_3 | |||
The ray type.
| |||
ImplicitSurfaceTraits_3::Segment_3 | |||
The segment type.
| |||
ImplicitSurfaceTraits_3::Vector_3 | |||
The vector type.
| |||
ImplicitSurfaceTraits_3::Sphere_3 | |||
The sphere type.
| |||
ImplicitSurfaceTraits_3::Compute_scalar_product_3 | |||
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.
| |||
ImplicitSurfaceTraits_3::Compute_squared_distance_3 | |||
A function object that provides the operator FT operator()(Point_3, Point_3) which returns the squared distance between two points.
| |||
ImplicitSurfaceTraits_3::Compute_squared_radius_3 | |||
A function object providing the operator FT operator()(const Sphere_3& s) which returns the squared radius of s.
| |||
ImplicitSurfaceTraits_3::Construct_center_3 | |||
A function object providing the operator Point_3 operator()(const Sphere_3& s) which computes the center of the sphere s.
| |||
ImplicitSurfaceTraits_3::Construct_midpoint_3 | |||
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.
| |||
ImplicitSurfaceTraits_3::Construct_point_on_3 | |||
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 i>0, is different from the source.
| |||
ImplicitSurfaceTraits_3::Construct_segment_3 | |||
A function object providing the operators Segment_3 operator()(const Point_3 &p, const Point_3 &q); which returns a segment with source p and target q. It is directed from the source towards the target.
| |||
ImplicitSurfaceTraits_3::Construct_scaled_vector_3 | |||
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.
| |||
ImplicitSurfaceTraits_3::Construct_translated_point_3 | |||
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.
| |||
ImplicitSurfaceTraits_3::Construct_vector_3 | |||
A function object providing the operator Vector_3 operator()(const Point_3 &a, const Point_3 &b) which returns the vector b-a.
| |||
ImplicitSurfaceTraits_3::Has_on_bounded_side_3 | |||
A function object providing the operator bool operator()(const Sphere_3&s, const Point_3&p); which returns true iff p lies on the bounded side of s.
|
The following functions give access to the predicate and construction objects:
Any Cgal Kernel.
Implicit_surface_3<Traits, Function>,
make_surface_mesh