\( \newcommand{\E}{\mathrm{E}} \) \( \newcommand{\A}{\mathrm{A}} \) \( \newcommand{\R}{\mathrm{R}} \) \( \newcommand{\N}{\mathrm{N}} \) \( \newcommand{\Q}{\mathrm{Q}} \) \( \newcommand{\Z}{\mathrm{Z}} \) \( \def\ccSum #1#2#3{ \sum_{#1}^{#2}{#3} } \def\ccProd #1#2#3{ \sum_{#1}^{#2}{#3} }\)
CGAL 4.4 - 3D Mesh Generation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
CGAL::Mesh_domain_with_polyline_features_3< MeshDomain_3 > Class Template Reference

#include <CGAL/Mesh_domain_with_polyline_features_3.h>

Inherits from

MeshDomain_3.

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_3is 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
See Also
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. More...
 
typedef int Curve_segment_index
 Curve_segment_index type. More...
 

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...
 

Member Typedef Documentation

template<typename MeshDomain_3>
typedef int CGAL::Mesh_domain_with_polyline_features_3< MeshDomain_3 >::Corner_index

Corner_index type.

template<typename MeshDomain_3>
typedef int CGAL::Mesh_domain_with_polyline_features_3< MeshDomain_3 >::Curve_segment_index

Curve_segment_index type.

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.