CGAL 6.1.1 - CGAL and the Boost Graph Library

Loading...
Searching...
No Matches
Classes | Functions
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_counting_traits_2
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_tracing_traits_2
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_simplex_base_with_time_stamp
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].
template<typename Graph , typename OutputIterator , typename NamedParameters = parameters::Default_named_parameters>
OutputIterator | dijkstra_shortest_path (const typename boost::graph_traits< Graph >::vertex_descriptor vs, const typename boost::graph_traits< Graph >::vertex_descriptor vt, const Graph &g, OutputIterator halfedge_sequence_oit, const NamedParameters &np=parameters::default_values())
| computes the shortest path between two vertices in a graph `g`, where the vertices must belong to the same connected component of `g`.
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.