CGAL 4.7 - 3D Mesh Generation
CGAL::Mesh_domain_with_polyline_features_3< MeshDomain_3 > Class Template Reference

#include <CGAL/Mesh_domain_with_polyline_features_3.h>

## Definition

The class Mesh_domain_with_polyline_features_3 is designed to allow the user to add some 0- and 1-dimensional features into any model of the MeshDomain_3 concept.

The 1-dimensional features are described as polylines whose endpoints are the added corners.

Template Parameters
 MeshDomain_3 is the type of the domain which should be extended. It has to be a model of the MeshDomain_3 concept.
Is Model Of:
MeshDomainWithFeatures_3
MeshDomain_3
MeshPolyline_3
CGAL::Implicit_mesh_domain_3<Function,BGT>
CGAL::Polyhedral_mesh_domain_3<Polyhedron,IGT,TriangleAccessor>
CGAL::Labeled_image_mesh_domain_3<Image,BGT>
Examples:
Mesh_3/mesh_two_implicit_spheres_with_balls.cpp.

## Types

typedef int Corner_index
Corner_index type.

typedef int Curve_segment_index
Curve_segment_index type.

## Creation

template<typename... T>
Mesh_domain_with_polyline_features_3 (T...t)
Constructor. More...

## Operations

template<typename InputIterator >
void add_features (InputIterator begin, InputIterator beyond)
Add 1-dimensional features in the domain. More...

template<typename InputIterator >
void add_features_and_incidences (InputIterator begin, InputIterator beyond)
Add 1-dimensional features in the domain with their incidences with 2-dimensional features of the domain. More...

Public Types inherited from MeshDomain_3
typedef unspecified_type R
Geometric traits class. More...

typedef unspecified_type Point_3
Point type.

typedef unspecified_type Segment_3
Segment type.

typedef unspecified_type Ray_3
Ray type.

typedef unspecified_type Line_3
Line type.

typedef CGAL::Tag_false Has_features
A type to distinguish MeshDomain_3 models from MeshDomainWithFeatures_3 models.

typedef unspecified_type Subdomain_index
Type of indices for subdomains of the input domain. More...

typedef unspecified_type Surface_patch_index
Type of indices for surface patches (boundaries and interfaces) of the input domain. More...

typedef unspecified_type Index
Type of indices to be stored at mesh vertices to characterize the lowest dimensional face of the input complex on which the vertex lies. More...

typedef CGAL::cpp11::tuple
< Point_3, Index, int >
Intersection
Return type of Construct_intersection queries. More...

typedef unspecified_type Construct_initial_points
A function object to construct a set of initial points on the surface of the domain. More...

typedef unspecified_type Is_in_domain
A function object to query whether a point is in the input domain or not. More...

typedef unspecified_type Do_intersect_surface
A function object which answers intersection queries between the surface patches of the domain and objects of type Segment_3, Ray_3 or Line_3. More...

typedef unspecified_type Construct_intersection
A function object to construct the intersection between an object of type Segment_3, Ray_3 or Line_3 and an interface. More...

Public Member Functions inherited from MeshDomain_3
Construct_initial_points construct_initial_points_object ()

Is_in_domain is_in_domain_object ()

Do_intersect_surface do_intersect_surface_object ()

Construct_intersection construct_intersection_object ()

Index index_from_surface_patch_index (Surface_patch_index surface_patch_index)
Returns the index to be stored at a vertex lying on the surface patch identified by surface_patch_index.

Index index_from_subdomain_index (Subdomain_index subdomain_index)
Returns the index to be stored at a vertex lying in the subdomain identified by subdomain_index.

Surface_patch_index surface_patch_index (Index index)
Returns the Surface_patch_index of the surface patch where lies a vertex with dimension 2 and index index.

Subdomain_index subdomain_index (Index index)
Returns the index of the subdomain containing a vertex with dimension 3 and index index.

## Constructor & Destructor Documentation

template<typename MeshDomain_3>
template<typename... T>
 CGAL::Mesh_domain_with_polyline_features_3< MeshDomain_3 >::Mesh_domain_with_polyline_features_3 ( T... t)

Constructor.

Forwards the arguments to the constructor of the base class.

## Member Function Documentation

template<typename MeshDomain_3>
template<typename InputIterator >
 void CGAL::Mesh_domain_with_polyline_features_3< MeshDomain_3 >::add_features ( InputIterator begin, InputIterator beyond )

Add 1-dimensional features in the domain.

InputIterator value type must be a model of the concept MeshPolyline_3.

template<typename MeshDomain_3>
template<typename InputIterator >
 void CGAL::Mesh_domain_with_polyline_features_3< MeshDomain_3 >::add_features_and_incidences ( InputIterator begin, InputIterator beyond )

Add 1-dimensional features in the domain with their incidences with 2-dimensional features of the domain.

The InputIterator value type must be std::pair<Polyline, std::pair<InputSurfacePatchIndexIterator, InputSurfacePatchIndexIterator> > where Polyline must be a model of the concept MeshPolyline_3 and the internal pair gives a range on surface patches indices which are incident to the polyline.