CGAL 6.0 - CGAL and the Boost Graph Library
|
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 ¢er=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... | |
CGAL Namespace.