CGAL 6.0.1 - CGAL and the Boost Graph Library
Loading...
Searching...
No Matches
CGAL Namespace Reference

CGAL Namespace. More...

Classes

class  Aff_transformation_2
 
class  Aff_transformation_3
 
class  Algebraic_structure_traits
 
struct  Ambient_dimension
 
class  Aos_observer
 
class  Arr_accessor
 
class  Arr_algebraic_segment_traits_2
 
class  Arr_Bezier_curve_traits_2
 
class  Arr_bounded_planar_topology_traits_2
 
class  Arr_circle_segment_traits_2
 
class  Arr_circular_arc_traits_2
 
class  Arr_circular_line_arc_traits_2
 
struct  Arr_closed_side_tag
 
class  Arr_conic_traits_2
 
class  Arr_consolidated_curve_data_traits_2
 
struct  Arr_contracted_side_tag
 
class  Arr_curve_data_traits_2
 
class  Arr_dcel
 
class  Arr_dcel_base
 
class  Arr_default_overlay_traits
 
class  Arr_extended_dcel
 
class  Arr_extended_dcel_text_formatter
 
class  Arr_extended_face
 
class  Arr_extended_halfedge
 
class  Arr_extended_vertex
 
class  Arr_face_extended_dcel
 
class  Arr_face_extended_text_formatter
 
class  Arr_face_index_map
 
class  Arr_face_overlay_traits
 
class  Arr_geodesic_arc_on_sphere_traits_2
 
struct  Arr_identified_side_tag
 
class  Arr_landmarks_point_location
 
class  Arr_line_arc_traits_2
 
class  Arr_linear_traits_2
 
class  Arr_naive_point_location
 
class  Arr_non_caching_segment_basic_traits_2
 
class  Arr_non_caching_segment_traits_2
 
struct  Arr_oblivious_side_tag
 
struct  Arr_open_side_tag
 
struct  Arr_point_location_result
 
class  Arr_polycurve_traits_2
 
class  Arr_polyline_traits_2
 
class  Arr_rational_function_traits_2
 
class  Arr_segment_traits_2
 
class  Arr_spherical_topology_traits_2
 
class  Arr_text_formatter
 
class  Arr_trapezoid_ric_point_location
 
class  Arr_triangulation_point_location
 
class  Arr_unb_planar_topology_traits_2
 
class  Arr_vertex_index_map
 
class  Arr_walk_along_line_point_location
 
class  Arr_with_history_text_formatter
 
class  Arrangement_2
 
class  Arrangement_on_surface_2
 
class  Arrangement_on_surface_with_history_2
 
class  Arrangement_with_history_2
 
class  Bbox_2
 
class  Bbox_3
 
struct  Bidirectional_circulator_base
 
class  Bidirectional_circulator_ptrbase
 
struct  Bidirectional_circulator_tag
 
struct  Boolean_property_map
 
struct  Boolean_tag
 
struct  Cartesian
 
class  Cartesian_converter
 
struct  Cartesian_converter_property_map
 
struct  Cast_function_object
 
class  CC_safe_handle
 
class  Cell_attribute
 
class  Cell_attribute_with_id
 
class  Cell_attribute_with_point
 
class  Cell_attribute_with_point_and_id
 
class  Circle_2
 
class  Circle_3
 
struct  Circulator_base
 
class  Circulator_from_container
 
class  Circulator_from_iterator
 
struct  Circulator_tag
 
struct  Circulator_traits
 
struct  Coercion_traits
 
class  Combinatorial_map
 
struct  Compact
 
class  Compact_container
 
class  Compact_container_base
 
struct  Compact_container_traits
 
class  Compare_to_less
 
struct  Compose_property_map
 
class  Concurrent_compact_container
 
struct  Concurrent_compact_container_traits
 
class  Const_oneset_iterator
 
struct  Constant_property_map
 
class  Constrained_Delaunay_triangulation_2
 
class  Constrained_triangulation_2
 
class  Constrained_triangulation_face_base_2
 
class  Constrained_triangulation_plus_2
 
struct  Construct_array
 
class  Container_from_circulator
 
class  CORE_algebraic_number_traits
 
class  Counting_iterator
 
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
 
struct  Default
 
class  Deformation_Eigen_closest_rotation_traits_3
 
class  Deformation_Eigen_polar_closest_rotation_traits_3
 
class  Delaunay_triangulation_2
 
struct  Dereference
 
struct  Dereference_property_map
 
struct  Dimension_tag
 
class  Direction_2
 
class  Direction_3
 
class  Dispatch_or_drop_output_iterator
 
class  Dispatch_output_iterator
 
class  Dual
 The class template Dual is an adaptor that creates the dual view of a FaceGraph. More...
 
struct  Dynamic_dimension_tag
 
struct  dynamic_edge_property_t
 Dynamic edge property tag. More...
 
struct  dynamic_face_property_t
 Dynamic face property tag. More...
 
struct  dynamic_halfedge_property_t
 Dynamic halfedge property tag. More...
 
struct  dynamic_vertex_property_t
 Dynamic vertex property tag. More...
 
struct  Emptyset_iterator
 
struct  Euclidean_ring_tag
 
struct  Exact_intersections_tag
 
class  Exact_predicates_exact_constructions_kernel
 
class  Exact_predicates_exact_constructions_kernel_with_kth_root
 
class  Exact_predicates_exact_constructions_kernel_with_root_of
 
class  Exact_predicates_exact_constructions_kernel_with_sqrt
 
class  Exact_predicates_inexact_constructions_kernel
 
struct  Exact_predicates_tag
 
class  Face_around_face_circulator
 A bidirectional circulator with value type boost::graph_traits<Graph>::face_descriptor. More...
 
class  Face_around_face_iterator
 A bidirectional iterator with value type boost::graph_traits<Graph>::face_descriptor. More...
 
class  Face_around_target_circulator
 A bidirectional circulator with value type boost::graph_traits<Graph>::face_descriptor over all faces incident to the same vertex. More...
 
class  Face_around_target_iterator
 A bidirectional iterator with value type boost::graph_traits<Graph>::face_descriptor. More...
 
struct  Face_filtered_graph
 The class Face_filtered_graph is an adaptor that creates a filtered view of a graph by restricting it to a subset of faces. More...
 
struct  Fast
 
struct  Feature_dimension
 
struct  Field_tag
 
struct  Field_with_kth_root_tag
 
struct  Field_with_root_of_tag
 
struct  Field_with_sqrt_tag
 
struct  Filter_iterator
 
struct  Filtered_kernel
 
struct  Filtered_kernel_adaptor
 
class  Filtered_predicate
 
struct  First_of_pair_property_map
 
struct  Forward_circulator_base
 
class  Forward_circulator_ptrbase
 
struct  Forward_circulator_tag
 
class  Fourtuple
 
class  Fraction_traits
 
struct  Generic_map_min_items
 
struct  Get_address
 
struct  graph_has_property
 graph_has_property is used to indicate if a model of HalfedgeGraph or FaceGraph has an internal property associated with the given PropertyTag. More...
 
struct  Graph_with_descriptor_with_graph
 The class Graph_with_descriptor_with_graph wraps a graph into another graph in such a way that its descriptors contain a reference to the graph they come from. More...
 
struct  Graph_with_descriptor_with_graph_property_map
 Graph_with_descriptor_with_graph_property_map enables to forward properties from a Graph to a Graph_with_descriptor_with_graph. More...
 
class  Halfedge_around_face_circulator
 A bidirectional circulator with value type boost::graph_traits<Graph>::halfedge_descriptor over all halfedges incident to the same face or border. More...
 
class  Halfedge_around_face_iterator
 A bidirectional iterator with value type boost::graph_traits<Graph>::halfedge_descriptor over all halfedges incident to the same face or border. More...
 
class  Halfedge_around_source_circulator
 A bidirectional circulator with value type boost::graph_traits<Graph>::halfedge_descriptor over all halfedges having the same vertex as source. More...
 
class  Halfedge_around_source_iterator
 A bidirectional iterator with value type boost::graph_traits<Graph>::halfedge_descriptor over all halfedges having the same vertex as source. More...
 
class  Halfedge_around_target_circulator
 A bidirectional circulator with value type boost::graph_traits<Graph>::halfedge_descriptor over all halfedges having the same vertex as target. More...
 
class  Halfedge_around_target_iterator
 A bidirectional iterator with value type boost::graph_traits<Graph>::halfedge_descriptor over all halfedges having the same vertex as target. More...
 
class  HalfedgeDS_const_decorator
 
class  HalfedgeDS_decorator
 
class  HalfedgeDS_default
 
class  HalfedgeDS_face_base
 
class  HalfedgeDS_face_max_base_with_id
 The class HalfedgeDS_face_max_base_with_id is a model of the HalfedgeDSFace concept. More...
 
class  HalfedgeDS_face_min_base
 
class  HalfedgeDS_halfedge_base
 
class  HalfedgeDS_halfedge_max_base_with_id
 The class HalfedgeDS_halfedge_max_base_with_id is a model of the HalfedgeDSHalfedge concept. More...
 
class  HalfedgeDS_halfedge_min_base
 
class  HalfedgeDS_items_2
 
class  HalfedgeDS_items_decorator
 
class  HalfedgeDS_list
 
class  HalfedgeDS_min_items
 
class  HalfedgeDS_vector
 
class  HalfedgeDS_vertex_base
 
class  HalfedgeDS_vertex_max_base_with_id
 The class HalfedgeDS_vertex_max_base_with_id is a model of the HalfedgeDSVertex concept. More...
 
class  HalfedgeDS_vertex_min_base
 
struct  Handle_hash_function
 
struct  Homogeneous
 
class  Homogeneous_converter
 
struct  Identity
 
struct  Identity_property_map
 
class  Identity_transformation
 
class  In_place_list
 
class  In_place_list_base
 
struct  Input_iterator_property_map
 
class  Input_rep
 
class  Insert_iterator
 
struct  Integral_domain_tag
 
struct  Integral_domain_without_division_tag
 
class  Inverse_index
 
class  Iso_cuboid_3
 
class  Iso_rectangle_2
 
class  Istream_iterator
 
class  Iterator_range
 
struct  Iterator_tag
 
class  Join_input_iterator_1
 
class  Join_input_iterator_2
 
class  Join_input_iterator_3
 
struct  Kernel_traits
 
class  Line_2
 
class  Line_3
 
struct  Linear_cell_complex_bgl_min_items
 The class Linear_cell_complex_bgl_min_items defines void as the information associated with darts, darts have ids and 0- and 2-attributes are enabled and have ids. More...
 
struct  Linear_cell_complex_for_bgl_combinatorial_map_helper
 The class Linear_cell_complex_for_bgl_combinatorial_map_helper defines a CGAL::Linear_cell_complex_for_combinatorial_map as inner type, named type, having CGAL::Linear_cell_complex_bgl_min_items as items class. More...
 
class  Linear_cell_complex_for_combinatorial_map
 
class  Linear_cell_complex_for_generalized_map
 
class  Linear_cell_complex_incremental_builder_3
 
struct  Linear_cell_complex_min_items
 
struct  Linear_cell_complex_traits
 
struct  Location_policy
 
struct  Manifold_tag
 
struct  Manifold_with_boundary_tag
 
struct  Memory_sizer
 
class  Modifier_base
 
class  Multiset
 
class  N_step_adaptor
 
class  Nef_nary_union_3
 
class  Nef_polyhedron_3
 
struct  No_constraint_intersection_requiring_constructions_tag
 
struct  No_constraint_intersection_tag
 
struct  No_intersection_tag
 
struct  Non_manifold_tag
 
struct  Nth_of_tuple_property_map
 
struct  Nth_of_tuple_property_map< N, std::tuple< T... > >
 
struct  Null_functor
 
struct  Null_tag
 
class  Null_vector
 
class  Object
 
class  Oneset_iterator
 
class  Origin
 
class  Ostream_iterator
 
class  Output_rep
 
struct  Parallel_if_available_tag
 
struct  Parallel_tag
 
class  Plane_3
 
class  Point_2
 
class  Point_3
 
struct  Pointer_property_map
 
class  Polygon_mesh_slicer
 
struct  Polyhedral_envelope
 
class  Polyhedron_3
 
class  Polyhedron_incremental_builder_3
 
class  Polyhedron_items_3
 
class  Polyhedron_items_with_id_3
 The class Polyhedron_items_with_id_3 is a model of the PolyhedronItems_3 concept. More...
 
class  Polyhedron_min_items_3
 
class  Polyhedron_traits_3
 
class  Polyhedron_traits_with_normals_3
 
struct  Profile_counter
 
struct  Project_facet
 
struct  Project_next
 
struct  Project_next_opposite
 
struct  Project_normal
 
struct  Project_opposite_prev
 
struct  Project_plane
 
struct  Project_point
 
struct  Project_prev
 
struct  Project_vertex
 
class  Projection_traits_3
 
class  Projection_traits_xy_3
 
class  Projection_traits_xz_3
 
class  Projection_traits_yz_3
 
struct  Property_map_to_unary_function
 
class  Quadruple
 
class  Random_access_adaptor
 
struct  Random_access_circulator_base
 
class  Random_access_circulator_ptrbase
 
struct  Random_access_circulator_tag
 
class  Random_access_property_map
 
class  Random_access_value_adaptor
 
class  Ray_2
 
class  Ray_3
 
class  Real_embeddable_traits
 
class  Real_timer
 
class  Reflection
 
class  Regular_triangulation_2
 
class  Regular_triangulation_face_base_2
 
class  Regular_triangulation_vertex_base_2
 
class  Rigid_triangle_mesh_collision_detection
 
class  Rotation
 
class  Scaling
 
class  Seam_mesh
 This class is a data structure that takes a triangle mesh, further referred to as underlying mesh and turns some marked edges of that mesh into virtual boundary edges. More...
 
struct  Second_of_pair_property_map
 
class  Segment_2
 
class  Segment_3
 
struct  Sequential_tag
 
class  Side_of_triangle_mesh
 
struct  Simple_cartesian
 
struct  Simple_homogeneous
 
class  Sixtuple
 
class  Spatial_lock_grid_3
 
class  Sphere_3
 
class  Surface_mesh
 
class  Surface_mesh_deformation
 
class  Tetrahedron_3
 
class  Threetuple
 
class  Timer
 
class  Translation
 
class  Triangle_2
 
class  Triangle_3
 
class  Triangulation_2
 
class  Triangulation_cw_ccw_2
 
class  Triangulation_face_base_2
 
class  Triangulation_face_base_with_id_2
 The class Triangulation_face_base_with_id_2 is a model of the concept TriangulationFaceBase_2, the base face of a 2D-triangulation. More...
 
class  Triangulation_face_base_with_info_2
 
class  Triangulation_hierarchy_2
 
class  Triangulation_hierarchy_vertex_base_2
 
class  Triangulation_vertex_base_2
 
class  Triangulation_vertex_base_with_id_2
 The class Triangulation_vertex_base_with_id_2 is a model of the concept TriangulationVertexBase_2, the base vertex of a 2D-triangulation. More...
 
class  Triangulation_vertex_base_with_info_2
 
class  Triple
 
class  Twotuple
 
class  Uncertain
 
class  Union_find
 
struct  Unique_factorization_domain_tag
 
class  Unique_hash_map
 
struct  value_type_traits
 
struct  value_type_traits< std::back_insert_iterator< Container > >
 
struct  value_type_traits< std::front_insert_iterator< Container > >
 
struct  value_type_traits< std::insert_iterator< Container > >
 
class  Vector_2
 
class  Vector_3
 
class  Verbose_ostream
 
class  Vertex_around_face_circulator
 A bidirectional circulator with value type boost::graph_traits<Graph>::vertex_descriptor over all vertices incident to the same face or border. More...
 
class  Vertex_around_face_iterator
 A bidirectional iterator with value type boost::graph_traits<Graph>::vertex_descriptor over all vertices incident to the same face or border. More...
 
class  Vertex_around_target_circulator
 A bidirectional circulator with value type boost::graph_traits<Graph>::vertex_descriptor over all vertices adjacent to the same vertex. More...
 
class  Vertex_around_target_iterator
 A bidirectional iterator with value type boost::graph_traits<Graph>::vertex_descriptor over all vertices adjacent to the same vertex. More...
 
class  Weighted_point_2
 
class  Weighted_point_3
 

Functions

template<class HalfedgeDS_with_id >
void set_halfedgeds_items_id (Polyhedron_with_id &P)
 Given a CGAL::Polyhedron_3, for each simplex type (vertex, halfedge, facet) associates an index from 0 to the number of simplices minus 1 to each simplex of hds.
 
template<typename Triangulation >
void set_triangulation_ids (Triangulation &tr)
 This function initializes vertex, edge, and face indices of the triangulation tr and must be called prior to using tr as a BGL graph in an algorithm that requires vertex, halfedge, edge, or face indices.
 
template<typename Graph >
Iterator_range< Halfedge_around_source_iterator< Graph > > halfedges_around_source (typename boost::graph_traits< Graph >::halfedge_descriptor h, const Graph &g)
 returns an iterator range over all halfedges with vertex source(h,g) as source.
 
template<typename Graph >
Iterator_range< Halfedge_around_source_iterator< Graph > > halfedges_around_source (typename boost::graph_traits< Graph >::vertex_descriptor v, const Graph &g)
 returns an iterator range over all halfedges with vertex v as source.
 
template<typename Graph >
Iterator_range< Halfedge_around_target_iterator< Graph > > halfedges_around_target (typename boost::graph_traits< Graph >::halfedge_descriptor h, const Graph &g)
 returns an iterator range over all halfedges with vertex target(h,g) as target.
 
template<typename Graph >
Iterator_range< Halfedge_around_target_iterator< Graph > > halfedges_around_target (typename boost::graph_traits< Graph >::vertex_descriptor v, const Graph &g)
 returns an iterator range over all halfedges with vertex v as target.
 
template<typename Graph >
Iterator_range< Halfedge_around_face_iterator< Graph > > halfedges_around_face (typename boost::graph_traits< Graph >::halfedge_descriptor h, const Graph &g)
 returns an iterator range over all halfedges incident to the same face or border as h.
 
template<typename Graph >
Iterator_range< Face_around_target_iterator< Graph > > faces_around_target (typename boost::graph_traits< Graph >::halfedge_descriptor h, const Graph &g)
 returns an iterator range over all faces around vertex target(h,g).
 
template<typename Graph >
Iterator_range< Face_around_face_iterator< Graph > > faces_around_face (typename boost::graph_traits< Graph >::halfedge_descriptor h, const Graph &g)
 returns an iterator range over all edge-adjacent faces to the same face face(h,g).
 
template<typename Graph >
Iterator_range< Vertex_around_target_iterator< Graph > > vertices_around_target (typename boost::graph_traits< Graph >::halfedge_descriptor h, const Graph &g)
 returns an iterator range over all vertices adjacent to the vertex target(h,g).
 
template<typename Graph >
Iterator_range< Vertex_around_face_iterator< Graph > > vertices_around_face (typename boost::graph_traits< Graph >::halfedge_descriptor h, const Graph &g)
 returns an iterator range over all vertices adjacent to the face face(h,g).
 
template<typename FaceGraph >
bool is_border (typename boost::graph_traits< FaceGraph >::halfedge_descriptor hd, const FaceGraph &g)
 returns true if the halfedge hd is on a border.
 
template<typename FaceGraph >
bool is_border_edge (typename boost::graph_traits< FaceGraph >::halfedge_descriptor hd, const FaceGraph &g)
 returns true if the halfedge hd or the opposite halfedge is on a border.
 
template<typename FaceGraph >
bool is_border (typename boost::graph_traits< FaceGraph >::edge_descriptor ed, const FaceGraph &g)
 returns true if the edge e is on a border.
 
template<typename FaceGraph >
std::optional< typename boost::graph_traits< FaceGraph >::halfedge_descriptor > is_border (typename boost::graph_traits< FaceGraph >::vertex_descriptor vd, const FaceGraph &g)
 returns a halfedge which is on a border and whose target vertex is vd, if such a halfedge exists.
 
template<typename Graph >
bool is_valid_halfedge_graph (const Graph &g, bool verb=false)
 checks the integrity of the graph g.
 
template<typename FaceGraph >
bool is_valid_face_graph (const FaceGraph &g, bool verb=false)
 checks the integrity of the graph g.
 
template<typename Mesh >
bool is_valid_polygon_mesh (const Mesh &g, bool verb=false)
 checks the integrity of the mesh g.
 
template<typename FaceGraph >
bool is_closed (const FaceGraph &g)
 returns true if there are no border edges.
 
template<typename FaceGraph >
bool is_bivalent (typename boost::graph_traits< FaceGraph >::halfedge_descriptor hd, const FaceGraph &g)
 returns true if the target of hd has exactly two incident edges.
 
template<typename FaceGraph >
bool is_bivalent_mesh (const FaceGraph &g)
 returns true if all vertices have exactly two incident edges.
 
template<typename FaceGraph >
bool is_trivalent (typename boost::graph_traits< FaceGraph >::halfedge_descriptor hd, const FaceGraph &g)
 returns true if the target of hd has exactly three incident edges.
 
template<typename FaceGraph >
bool is_trivalent_mesh (const FaceGraph &g)
 returns true if all vertices have exactly three incident edges.
 
template<typename FaceGraph >
bool is_isolated_triangle (typename boost::graph_traits< FaceGraph >::halfedge_descriptor hd, const FaceGraph &g)
 returns true iff the connected component denoted by hd is a triangle.
 
template<typename FaceGraph >
bool is_triangle (typename boost::graph_traits< FaceGraph >::halfedge_descriptor hd, const FaceGraph &g)
 returns true iff the face denoted by hd is a triangle, that is it has three incident halfedges.
 
template<typename FaceGraph >
bool is_triangle_mesh (const FaceGraph &g)
 returns true if all faces are triangles.
 
template<typename FaceGraph >
bool is_isolated_quad (typename boost::graph_traits< FaceGraph >::halfedge_descriptor hd, const FaceGraph &g)
 returns true iff the connected component denoted by hd is a quadrilateral.
 
template<typename FaceGraph >
bool is_quad (typename boost::graph_traits< FaceGraph >::halfedge_descriptor hd, const FaceGraph &g)
 returns true iff the face denoted by hd is a quad, that is it has four incident halfedges.
 
template<typename FaceGraph >
bool is_quad_mesh (const FaceGraph &g)
 returns true if all faces are quadrilaterals.
 
template<typename FaceGraph >
bool is_tetrahedron (typename boost::graph_traits< FaceGraph >::halfedge_descriptor hd, const FaceGraph &g)
 returns true iff the connected component denoted by hd is a tetrahedron.
 
template<typename FaceGraph >
bool is_hexahedron (typename boost::graph_traits< FaceGraph >::halfedge_descriptor hd, const FaceGraph &g)
 returns true iff the connected component denoted by hd is a hexahedron.
 
template<typename FaceGraph >
void remove_all_elements (FaceGraph &g)
 removes all vertices, faces and halfedges from a graph.
 
template<typename FaceGraph >
void clear (FaceGraph &g)
 removes all vertices, faces and halfedges from a graph.
 
template<typename FaceGraph >
bool is_empty (const FaceGraph &g)
 checks whether the graph is empty, by checking that it does not contain any vertex.
 
template<typename Graph >
int vertex_index_in_face (const typename boost::graph_traits< Graph >::vertex_descriptor vd, const typename boost::graph_traits< Graph >::face_descriptor fd, const Graph &g)
 returns the number of calls to next() one has to apply to the halfedge hd for source(hd, mesh) == vd to be true, starting from hd = halfedge(fd, tm).
 
template<typename Graph >
int halfedge_index_in_face (typename boost::graph_traits< Graph >::halfedge_descriptor he, const Graph &g)
 returns the number of calls to next(hd, tm) one has to apply to hd for hd == he to be true, starting from hd = halfedge(face(he, tm), tm).
 
template<typename Graph , typename P >
boost::graph_traits< Graph >::halfedge_descriptor make_triangle (const P &p0, const P &p1, const P &p2, Graph &g)
 creates an isolated triangle with its vertices initialized to p0, p1 and p2, and adds it to the graph g.
 
template<typename Graph , typename P >
boost::graph_traits< Graph >::halfedge_descriptor make_quad (const P &p0, const P &p1, const P &p2, const P &p3, Graph &g)
 creates an isolated quad with its vertices initialized to p0, p1, p2, and p3, and adds it to the graph g.
 
template<typename Graph , typename P , typename NamedParameters = parameters::Default_named_parameters>
boost::graph_traits< Graph >::halfedge_descriptor make_hexahedron (const P &p0, const P &p1, const P &p2, const P &p3, const P &p4, const P &p5, const P &p6, const P &p7, Graph &g, const NamedParameters &np=parameters::default_values())
 creates an isolated hexahedron with its vertices initialized to p0, p1, ... , and p7, and adds it to the graph g.
 
template<typename IsoCuboid , typename Graph , typename NamedParameters = parameters::Default_named_parameters>
boost::graph_traits< Graph >::halfedge_descriptor make_hexahedron (const IsoCuboid &c, Graph &g, const NamedParameters &np=parameters::default_values())
 creates an isolated hexahedron equivalent to c, and adds it to the graph g.
 
template<typename Graph , typename P >
boost::graph_traits< Graph >::halfedge_descriptor make_tetrahedron (const P &p0, const P &p1, const P &p2, const P &p3, Graph &g)
 creates an isolated tetrahedron with its vertices initialized to p0, p1, p2, and p3, and adds it to the graph g.
 
template<class Graph , class P >
boost::graph_traits< Graph >::halfedge_descriptor make_regular_prism (typename boost::graph_traits< Graph >::vertices_size_type nb_vertices, Graph &g, const P &base_center=P(0, 0, 0), typename CGAL::Kernel_traits< P >::Kernel::FT height=1.0, typename CGAL::Kernel_traits< P >::Kernel::FT radius=1.0, bool is_closed=true)
 creates a triangulated regular prism, outward oriented, having nb_vertices vertices in each of its bases and adds it to the graph g.
 
template<class Graph , class P >
boost::graph_traits< Graph >::halfedge_descriptor make_pyramid (typename boost::graph_traits< Graph >::vertices_size_type nb_vertices, Graph &g, const P &base_center=P(0, 0, 0), typename CGAL::Kernel_traits< P >::Kernel::FT height=1.0, typename CGAL::Kernel_traits< P >::Kernel::FT radius=1.0, bool is_closed=true)
 creates a pyramid, outward oriented, having nb_vertices vertices in its base and adds it to the graph g.
 
template<class Graph , class P >
boost::graph_traits< Graph >::halfedge_descriptor make_icosahedron (Graph &g, const P &center=P(0, 0, 0), typename CGAL::Kernel_traits< P >::Kernel::FT radius=1)
 creates an icosahedron, outward oriented, centered in center and adds it to the graph g.
 
template<class Graph , class CoordinateFunctor >
boost::graph_traits< Graph >::halfedge_descriptor make_grid (typename boost::graph_traits< Graph >::vertices_size_type i, typename boost::graph_traits< Graph >::vertices_size_type j, Graph &g, const CoordinateFunctor &calculator, bool triangulated=false)
 creates a row major ordered grid with i cells along the width and j cells along the height and adds it to the graph g.
 
template<class FaceRange , class FaceGraph , class IsFaceSelectedPMap , class OutputIterator >
OutputIterator expand_face_selection (const FaceRange &selection, FaceGraph &fg, unsigned int k, IsFaceSelectedPMap is_selected, OutputIterator out)
 augments a selection with faces of fg that are adjacent to a face in selection.
 
template<class FaceRange , class FaceGraph , class IsFaceSelectedPMap , class OutputIterator >
OutputIterator reduce_face_selection (const FaceRange &selection, FaceGraph &fg, unsigned int k, IsFaceSelectedPMap is_selected, OutputIterator out)
 diminishes a selection of faces from faces adjacent to a non-selected face.
 
template<typename TriangleMesh , typename IsSelectedMap , typename NamedParameters = parameters::Default_named_parameters>
void regularize_face_selection_borders (TriangleMesh &mesh, IsSelectedMap is_selected, double weight, const NamedParameters &np=parameters::default_values())
 regularizes a selection in order to minimize the length of the border of the selection.
 
template<class HalfedgeRange , class FaceGraph , class OutputIterator >
OutputIterator select_incident_faces (const HalfedgeRange &hedges, FaceGraph &fg, OutputIterator out)
 Discovers and puts in out all faces incident to the target vertex of a halfedge in hedges.
 
template<class EdgeRange , class HalfedgeGraph , class IsEdgeSelectedPMap , class OutputIterator >
OutputIterator expand_edge_selection (const EdgeRange &selection, HalfedgeGraph &fg, unsigned int k, IsEdgeSelectedPMap is_selected, OutputIterator out)
 augments a selection with edges of fg that are adjacent to an edge in selection.
 
template<class EdgeRange , class HalfedgeGraph , class IsEdgeSelectedPMap , class OutputIterator >
OutputIterator reduce_edge_selection (const EdgeRange &selection, HalfedgeGraph &fg, unsigned int k, IsEdgeSelectedPMap is_selected, OutputIterator out)
 diminishes a selection of edges from edges adjacent to a non-selected edge.
 
template<class VertexRange , class HalfedgeGraph , class IsVertexSelectedPMap , class OutputIterator >
OutputIterator expand_vertex_selection (const VertexRange &selection, HalfedgeGraph &fg, unsigned int k, IsVertexSelectedPMap is_selected, OutputIterator out)
 augments a selection with vertices of fg that are adjacent to a vertex in selection.
 
template<class VertexRange , class HalfedgeGraph , class IsVertexSelectedPMap , class OutputIterator >
OutputIterator reduce_vertex_selection (const VertexRange &selection, HalfedgeGraph &fg, unsigned int k, IsVertexSelectedPMap is_selected, OutputIterator out)
 diminishes a selection of vertices from vertices adjacent to a non-selected vertex.
 
template<class TriangleMesh , class FaceRange , class IsSelectedMap >
void expand_face_selection_for_removal (const FaceRange &faces_to_be_deleted, TriangleMesh &tm, IsSelectedMap is_selected)
 Expands a selection of faces so that their removal does not create any non manifold vertex.
 
template<typename Graph , typename Visitor , typename IsTerminal >
void split_graph_into_polylines (const Graph &graph, Visitor &polyline_visitor, IsTerminal is_terminal)
 splits into polylines the graph g at vertices of degree greater than 2 and at vertices for which is_terminal(v,graph)==true.
 
template<typename SourceMesh , typename TargetMesh , typename NamedParameters1 = parameters::Default_named_parameters, typename NamedParameters2 = parameters::Default_named_parameters>
void copy_face_graph (const SourceMesh &sm, TargetMesh &tm, const NamedParameters1 &np1=parameters::default_values(), const NamedParameters2 &np2=parameters::default_values())
 copies a source model of FaceListGraph into a target model of a FaceListGraph.
 
template<typename Graph , typename NamedParameters = CGAL::parameters::Default_named_parameters>
bool read_off (std::istream &is, Graph &g, const NamedParameters &np=parameters::default_values())
 
template<typename Graph , typename NamedParameters = CGAL::parameters::Default_named_parameters>
bool read_off (const char *fname, Graph &g, const NamedParameters &np=parameters::default_values())
 
template<typename Graph , typename NamedParameters = CGAL::parameters::Default_named_parameters>
bool write_off (std::ostream &os, const Graph &g, const NamedParameters &np=parameters::default_values())
 
template<typename Graph , typename NamedParameters = CGAL::parameters::Default_named_parameters>
bool write_off (const char *fname, const Graph &g, const NamedParameters &np=parameters::default_values())
 
template<typename Graph , typename NamedParameters = CGAL::parameters::Default_named_parameters>
bool write_vtp (std::ostream &os, const Graph &g, const NamedParameters &np=parameters::default_values())
 
template<typename Graph , typename NamedParameters = CGAL::parameters::Default_named_parameters>
bool write_wrl (std::ostream &os, const Graph &g, const NamedParameters &np=parameters::default_values())
 
template<typename InputGraph , typename EdgeCostMap , typename VertexLabelCostMap , typename VertexLabelMap , typename NamedParameters = parameters::Default_named_parameters>
double alpha_expansion_graphcut (const InputGraph &input_graph, EdgeCostMap edge_cost_map, VertexLabelCostMap vertex_label_cost_map, VertexLabelMap vertex_label_map, const NamedParameters &np=parameters::default_values())
 regularizes a partition of a graph into n labels using the alpha expansion algorithm [1].
 
enum  vertex_index_t
 The constant vertex_index is a property tag which identifies the index property of a vertex of a BGL Graph. More...
 
enum  halfedge_index_t
 The constant halfedge_index is a property tag which identifies the index property of a halfedge of a HalfedgeGraph. More...
 
enum  edge_index_t
 The constant edge_index is a property tag which identifies the index property of an edge of a BGL Graph. More...
 
enum  face_index_t
 The constant face_index is a property tag which identifies the index property of a face of a FaceGraph. More...
 
enum  vertex_point_t
 The constant vertex_point is a property tag which refers to the geometric embedding property of a vertex of a HalfedgeGraph. More...
 

Definition

CGAL Namespace.