\( \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.3 - 3D Mesh Generation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
CGAL Namespace Reference

Namespaces

 cpp11
 
 IO
 
 parameters
 
 Surface_mesher
 

Classes

class  Aff_transformation_2
 
class  Aff_transformation_3
 
class  Identity_transformation
 
class  Reflection
 
class  Rotation
 
class  Scaling
 
class  Translation
 
class  Bbox_2
 
class  Bbox_3
 
class  Cartesian
 
class  Cartesian_converter
 
class  Circle_2
 
class  Circle_3
 
class  Ambient_dimension
 
class  Dimension_tag
 
class  Dynamic_dimension_tag
 
class  Feature_dimension
 
class  Direction_2
 
class  Direction_3
 
class  Exact_predicates_exact_constructions_kernel
 
class  Exact_predicates_exact_constructions_kernel_with_sqrt
 
class  Exact_predicates_inexact_constructions_kernel
 
class  Filtered_kernel_adaptor
 
class  Filtered_kernel
 
class  Filtered_predicate
 
class  Homogeneous
 
class  Homogeneous_converter
 
class  Iso_cuboid_3
 
class  Iso_rectangle_2
 
class  Kernel_traits
 
class  Line_2
 
class  Line_3
 
class  Null_vector
 
class  Origin
 
class  Plane_3
 
class  Point_2
 
class  Point_3
 
class  Projection_traits_xy_3
 
class  Projection_traits_xz_3
 
class  Projection_traits_yz_3
 
class  Ray_2
 
class  Ray_3
 
class  Segment_2
 
class  Segment_3
 
class  Simple_cartesian
 
class  Simple_homogeneous
 
class  Sphere_3
 
class  Tetrahedron_3
 
class  Triangle_2
 
class  Triangle_3
 
class  Vector_2
 
class  Vector_3
 
class  Compact_container_base
 
class  Compact_container
 
class  Compact_container_traits
 
class  Compact
 
class  Fast
 
class  Default
 
class  Fourtuple
 
class  Cast_function_object
 
class  Compare_to_less
 
class  Creator_1
 
class  Creator_2
 
class  Creator_3
 
class  Creator_4
 
class  Creator_5
 
class  Creator_uniform_2
 
class  Creator_uniform_3
 
class  Creator_uniform_4
 
class  Creator_uniform_5
 
class  Creator_uniform_6
 
class  Creator_uniform_7
 
class  Creator_uniform_8
 
class  Creator_uniform_9
 
class  Creator_uniform_d
 
class  Dereference
 
class  Get_address
 
class  Identity
 
class  Project_facet
 
class  Project_next
 
class  Project_next_opposite
 
class  Project_normal
 
class  Project_opposite_prev
 
class  Project_plane
 
class  Project_point
 
class  Project_prev
 
class  Project_vertex
 
class  In_place_list_base
 
class  In_place_list
 
class  Const_oneset_iterator
 
class  Counting_iterator
 
class  Dispatch_or_drop_output_iterator
 
class  Dispatch_output_iterator
 
class  Emptyset_iterator
 
class  Filter_iterator
 
class  Insert_iterator
 
class  Inverse_index
 
class  Join_input_iterator_1
 
class  Join_input_iterator_2
 
class  Join_input_iterator_3
 
class  N_step_adaptor
 
class  Oneset_iterator
 
class  Random_access_adaptor
 
class  Random_access_value_adaptor
 
class  Location_policy
 
class  Multiset
 
class  Object
 
class  Sixtuple
 
class  Boolean_tag
 
struct  Null_functor
 
struct  Sequential_tag
 
struct  Parallel_tag
 
class  Null_tag
 
class  Threetuple
 
class  Twotuple
 
class  Uncertain
 
class  Quadruple
 
class  Triple
 
class  Algebraic_structure_traits
 
class  Euclidean_ring_tag
 
class  Field_tag
 
class  Field_with_kth_root_tag
 
class  Field_with_root_of_tag
 
class  Field_with_sqrt_tag
 
class  Integral_domain_tag
 
class  Integral_domain_without_division_tag
 
class  Unique_factorization_domain_tag
 
class  Coercion_traits
 
class  Fraction_traits
 
class  Real_embeddable_traits
 
class  Circulator_from_container
 
class  Circulator_from_iterator
 
class  Circulator_traits
 
class  Container_from_circulator
 
struct  Circulator_tag
 
struct  Iterator_tag
 
struct  Forward_circulator_tag
 
struct  Bidirectional_circulator_tag
 
struct  Random_access_circulator_tag
 
struct  Circulator_base
 
struct  Forward_circulator_base
 
struct  Bidirectional_circulator_base
 
struct  Random_access_circulator_base
 
class  Forward_circulator_ptrbase
 
class  Bidirectional_circulator_ptrbase
 
class  Random_access_circulator_ptrbase
 
class  Color
 
class  Input_rep
 
class  Output_rep
 
class  Istream_iterator
 
class  Ostream_iterator
 
class  Verbose_ostream
 
class  Gray_level_image_3
 
class  Implicit_surface_3
 
class  Manifold_tag
 
class  Manifold_with_boundary_tag
 
class  Non_manifold_tag
 
class  Surface_mesh_cell_base_3
 
class  Surface_mesh_complex_2_in_triangulation_3
 
class  Surface_mesh_default_criteria_3
 
class  Surface_mesh_default_triangulation_3
 
class  Surface_mesh_traits_generator_3
 
class  Surface_mesh_vertex_base_3
 
class  Delaunay_triangulation_3
 
class  Regular_triangulation_3
 
class  Regular_triangulation_cell_base_3
 
class  Regular_triangulation_euclidean_traits_3
 
class  Regular_triangulation_filtered_traits_3
 
class  Triangulation_3
 
class  Triangulation_cell_base_3
 
class  Triangulation_cell_base_with_circumcenter_3
 
class  Triangulation_cell_base_with_info_3
 
class  Triangulation_simplex_3
 
class  Triangulation_vertex_base_3
 
class  Triangulation_vertex_base_with_info_3
 
class  Polyhedron_3
 
class  Polyhedron_incremental_builder_3
 
class  Polyhedron_items_3
 
class  Polyhedron_min_items_3
 
class  Polyhedron_traits_3
 
class  Polyhedron_traits_with_normals_3
 
class  Handle_hash_function
 
class  Memory_sizer
 
class  Modifier_base
 
class  Profile_counter
 
class  Real_timer
 
class  Timer
 
class  Union_find
 
class  Unique_hash_map
 
class  Compact_mesh_cell_base_3
 The class Compact_mesh_cell_base_3 is a model of the concept MeshCellBase_3. More...
 
class  Implicit_mesh_domain_3
 The class Implicit_mesh_domain_3 implements a domain whose bounding surface is described implicitly as the zero level set of a function. More...
 
class  Labeled_image_mesh_domain_3
 The class Labeled_image_mesh_domain_3 implements a domain described by a 3D labeled image. More...
 
class  Mesh_cell_base_3
 
class  Mesh_cell_criteria_3
 The class Mesh_cell_criteria_3 is a model of MeshCellCriteria_3. More...
 
class  Mesh_complex_3_in_triangulation_3
 The class Mesh_complex_3_in_triangulation_3 implements a data structure to store the 3D restricted Delaunay triangulation used by a mesh generation process. More...
 
class  Mesh_constant_domain_field_3
 The class Mesh_constant_domain_field_3 is a model of concept MeshDomainField_3. More...
 
class  Mesh_criteria_3
 The class Mesh_criteria_3 is a model of both concepts MeshCriteria_3 and MeshCriteriaWithFeatures_3. More...
 
class  Mesh_domain_with_polyline_features_3
 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. More...
 
class  Mesh_edge_criteria_3
 The function object class Mesh_edge_criteria_3 is a model of MeshEdgeCriteria_3. More...
 
class  Mesh_facet_criteria_3
 The class Mesh_facet_criteria_3 is a model of MeshFacetCriteria_3. More...
 
class  Mesh_polyhedron_3
 The class Mesh_polyhedron_3 provides a customized Polyhedron_3 type. More...
 
class  Mesh_triangulation_3
 The class Mesh_triangulation_3 is a metafunctor which provides the triangulation type to be used for the 3D triangulation embedding the mesh. More...
 
class  Mesh_vertex_base_3
 The class Mesh_vertex_base_3 is a model of the concept MeshVertexBase_3. More...
 
class  Polyhedral_mesh_domain_3
 The class Polyhedral_mesh_domain_3 implements a domain defined by a simplicial polyhedral surface. More...
 
class  Polyhedral_mesh_domain_with_features_3
 The class Polyhedral_mesh_domain_with_features_3 implements a domain whose boundary is a simplicial polyhedral surface. More...
 
class  Triangle_accessor_3
 The class Triangle_accessor_3 is a model for the concept TriangleAccessor_3. More...
 

Typedefs

typedef Interval_nt< false > Interval_nt_advanced
 
typedef Interval_nt< false > Interval_nt_advanced
 
typedef Hilbert_policy< Median > Hilbert_sort_median_policy
 
typedef Hilbert_policy< Middle > Hilbert_sort_middle_policy
 
typedef Interval_nt< false > Interval_nt_advanced
 
typedef Interval_nt< false > Interval_nt_advanced
 
typedef Hilbert_policy< Median > Hilbert_sort_median_policy
 
typedef Hilbert_policy< Middle > Hilbert_sort_middle_policy
 
typedef Hilbert_policy< Median > Hilbert_sort_median_policy
 
typedef Hilbert_policy< Middle > Hilbert_sort_middle_policy
 
typedef Interval_nt< false > Interval_nt_advanced
 
typedef Interval_nt< false > Interval_nt_advanced
 
typedef Hilbert_policy< Median > Hilbert_sort_median_policy
 
typedef Hilbert_policy< Middle > Hilbert_sort_middle_policy
 
typedef Hilbert_policy< Median > Hilbert_sort_median_policy
 
typedef Hilbert_policy< Middle > Hilbert_sort_middle_policy
 
typedef Hilbert_policy< Median > Hilbert_sort_median_policy
 
typedef Hilbert_policy< Middle > Hilbert_sort_middle_policy
 
typedef Interval_nt< false > Interval_nt_advanced
 
typedef Hilbert_policy< Median > Hilbert_sort_median_policy
 
typedef Hilbert_policy< Middle > Hilbert_sort_middle_policy
 

Enumerations

enum  Mesh_facet_topology { FACET_VERTICES_ON_SURFACE = 1, FACET_VERTICES_ON_SAME_SURFACE_PATCH, FACET_VERTICES_ON_SAME_SURFACE_PATCH_WITH_ADJACENCY_CHECK }
 The enum Mesh_facet_topology is designed to tell which constraints have to be checked on each surface facet during the mesh refinement process. More...
 
enum  Mesh_optimization_return_code {
  BOUND_REACHED = 0, TIME_LIMIT_REACHED, CANT_IMPROVE_ANYMORE, CONVERGENCE_REACHED,
  MAX_ITERATION_NUMBER_REACHED, ALL_VERTICES_FROZEN
}
 The enum Mesh_optimization_return_code is the output of the global mesh optimization functions. More...
 

Functions

NT abs (const NT &x)
 
result_type compare (const NT &x, const NT &y)
 
result_type div (const NT1 &x, const NT2 &y)
 
void div_mod (const NT1 &x, const NT2 &y, result_type &q, result_type &r)
 
result_type gcd (const NT1 &x, const NT2 &y)
 
result_type integral_division (const NT1 &x, const NT2 &y)
 
NT inverse (const NT &x)
 
result_type is_negative (const NT &x)
 
result_type is_one (const NT &x)
 
result_type is_positive (const NT &x)
 
result_type is_square (const NT &x)
 
result_type is_square (const NT &x, NT &y)
 
result_type is_zero (const NT &x)
 
NT kth_root (int k, const NT &x)
 
result_type mod (const NT1 &x, const NT2 &y)
 
NT root_of (int k, InputIterator begin, InputIterator end)
 
result_type sign (const NT &x)
 
void simplify (const NT &x)
 
NT sqrt (const NT &x)
 
NT square (const NT &x)
 
double to_double (const NT &x)
 
std::pair< double, double > to_interval (const NT &x)
 
NT unit_part (const NT &x)
 
void Assert_circulator (const C &c)
 
void Assert_iterator (const I &i)
 
void Assert_circulator_or_iterator (const IC &i)
 
void Assert_input_category (const I &i)
 
void Assert_output_category (const I &i)
 
void Assert_forward_category (const IC &ic)
 
void Assert_bidirectional_category (const IC &ic)
 
void Assert_random_access_category (const IC &ic)
 
C::difference_type circulator_distance (C c, C d)
 
C::size_type circulator_size (C c)
 
bool is_empty_range (const IC &i, const IC &j)
 
iterator_traits< IC >
::difference_type 
iterator_distance (IC ic1, IC ic2)
 
Iterator_tag query_circulator_or_iterator (const I &i)
 
Circulator_tag query_circulator_or_iterator (const C &c)
 
Mode get_mode (std::ios &s)
 
Mode set_ascii_mode (std::ios &s)
 
Mode set_binary_mode (std::ios &s)
 
Mode set_mode (std::ios &s, IO::Mode m)
 
Mode set_pretty_mode (std::ios &s)
 
bool is_ascii (std::ios &s)
 
bool is_binary (std::ios &s)
 
bool is_pretty (std::ios &s)
 
Output_rep< T > oformat (const T &t)
 
Input_rep< T > iformat (const T &t)
 
Output_rep< T, F > oformat (const T &t, F)
 
ostream & operator<< (ostream &os, Class c)
 
istream & operator>> (istream &is, Class c)
 
bool has_in_x_range (const Circular_arc_2< CircularKernel > &ca, const Circular_arc_point_2< CircularKernel > &p)
 
bool has_in_x_range (const Line_arc_2< CircularKernel > &ca, const Circular_arc_point_2< CircularKernel > &p)
 
bool has_on (const Circle_2< CircularKernel > &c, const Circular_arc_point_2< CircularKernel > &p)
 
OutputIterator make_x_monotone (const Circular_arc_2< CircularKernel > &ca, OutputIterator res)
 
OutputIterator make_xy_monotone (const Circular_arc_2< CircularKernel > &ca, OutputIterator res)
 
Circular_arc_point_2
< CircularKernel > 
x_extremal_point (const Circle_2< CircularKernel > &c, bool b)
 
OutputIterator x_extremal_points (const Circle_2< CircularKernel > &c, OutputIterator res)
 
Circular_arc_point_2
< CircularKernel > 
y_extremal_point (const Circle_2< CircularKernel > &c, bool b)
 
OutputIterator y_extremal_points (const Circle_2< CircularKernel > &c, OutputIterator res)
 
CGAL::Comparison_result compare_y_to_right (const Circular_arc_2< CircularKernel > &ca1, const Circular_arc_2< CircularKernel > &ca2, Circular_arc_point_2< CircularKernel > &p)
 
bool is_finite (double x)
 
bool is_finite (float x)
 
bool is_finite (long double x)
 
OutputIterator compute_roots_of_2 (const RT &a, const RT &b, const RT &c, OutputIterator oit)
 
Root_of_traits< RT >::Root_of_2 make_root_of_2 (const RT &a, const RT &b, const RT &c, bool s)
 
Root_of_traits< RT >::Root_of_2 make_root_of_2 (RT alpha, RT beta, RT gamma)
 
Root_of_traits< RT >::Root_of_2 make_sqrt (const RT &x)
 
Rational simplest_rational_in_interval (double d1, double d2)
 
Rational to_rational (double d)
 
bool is_valid (const T &x)
 
max (const T &x, const T &y)
 
min (const T &x, const T &y)
 
void hilbert_sort (RandomAccessIterator begin, RandomAccessIterator end, const Traits &traits=Default_traits, PolicyTag policy=Default_policy)
 
void spatial_sort (RandomAccessIterator begin, RandomAccessIterator end, const Traits &traits=Default_traits, PolicyTag policy=Default_policy, std::ptrdiff_t threshold_hilbert=default, std::ptrdiff_t threshold_multiscale=default, double ratio=default)
 
bool output_surface_facets_to_off (std::ostream &os, const SurfaceMeshComplex_2InTriangulation_3 &c2t3, int options=Surface_mesher::IO_ORIENT_SURFACE)
 
bool output_surface_facets_to_polyhedron (const SurfaceMeshComplex_2InTriangulation_3 &c2t3, Polyhedron &output_polyhedron)
 
void make_surface_mesh (SurfaceMeshC2T3 &c2t3, Surface surface, FacetsCriteria criteria, Tag tag, int initial_number_of_points=20)
 
void make_surface_mesh (SurfaceMeshC2T3 &c2t3, SurfaceMeshTraits::Surface_3 surface, SurfaceMeshTraits traits, FacetsCriteria criteria, Tag tag, int initial_number_of_points=20)
 
template<typename C3T3 >
Mesh_optimization_return_code exude_mesh_3 (C3T3 &c3t3, double parameters::time_limit=0, double parameters::sliver_bound=0)
 The function exude_mesh_3() performs a sliver exudation process on a Delaunay mesh. More...
 
template<typename C3T3 , typename MeshDomain_3 >
Mesh_optimization_return_code lloyd_optimize_mesh_3 (C3T3 &c3t3, MeshDomain_3 domain, double parameters::time_limit=0, std::size_t parameters::max_iteration_number=0, double parameters::convergence=0.02, double parameters::freeze_bound=0.01, bool parameters::do_freeze=true)
 The function lloyd_optimize_mesh_3() is a mesh optimization process based on the minimization of a global energy function. More...
 
template<class C3T3 , class MeshDomain_3 , class MeshCriteria >
C3T3 make_mesh_3 (MeshDomain_3 domain, MeshCriteria criteria, parameters::internal::Features_options features=parameters::features(domain), parameters::internal::Lloyd_options lloyd=parameters::no_lloyd(), parameters::internal::Odt_options odt=parameters::no_odt(), parameters::internal::Perturb_options perturb=parameters::perturb(), parameters::internal::Exude_options exude=parameters::exude())
 The function make_mesh_3() is a 3D mesh generator. More...
 
template<typename C3T3 , typename MeshDomain_3 >
Mesh_optimization_return_code odt_optimize_mesh_3 (C3T3 &c3t3, MeshDomain_3 domain, double parameters::time_limit=0, std::size_t parameters::max_iteration_number=0, double parameters::convergence=0.02, double parameters::freeze_bound=0.01, bool parameters::do_freeze=true)
 The function odt_optimize_mesh_3() is a mesh optimization process based on the minimization of a global energy function. More...
 
template<typename C3T3 , typename MeshDomain_3 >
Mesh_optimization_return_code perturb_mesh_3 (C3T3 &c3t3, MeshDomain_3 domain, double parameters::time_limit=0, double parameters::sliver_bound=0)
 The function perturb_mesh_3() is a mesh optimizer that improves the quality of a Delaunay mesh by changing the mesh vertices positions. More...
 
template<class C3T3 , class MeshDomain_3 , class MeshCriteria >
void refine_mesh_3 (C3T3 &c3t3, MeshDomain_3 mesh_domain, MeshCriteria mesh_criteria, parameters::internal::Lloyd_options lloyd=parameters::no_lloyd(), parameters::internal::Odt_options odt=parameters::no_odt(), parameters::internal::Perturb_options perturb=parameters::perturb(), parameters::internal::Exude_options exude=parameters::exude())
 The function refine_mesh_3() is a 3D mesh generator. More...