Go to the documentation of this file.
15 #include <boost/graph/graph_concepts.hpp>
16 #include <boost/concept/detail/concept_def.hpp>
20 using namespace boost;
31 typedef typename boost::graph_traits< G >::halfedge_descriptor
33 typedef typename boost::graph_traits< G >::edge_descriptor edge_descriptor;
36 BOOST_CONCEPT_USAGE(CGALHalfedgeGraph)
38 BOOST_CONCEPT_ASSERT((DefaultConstructible< halfedge_descriptor >));
39 BOOST_CONCEPT_ASSERT((Assignable< halfedge_descriptor >));
40 BOOST_CONCEPT_ASSERT((EqualityComparable< halfedge_descriptor >));
41 BOOST_CONCEPT_ASSERT((LessThanComparable< halfedge_descriptor >));
51 h = boost::graph_traits< G >::null_halfedge();
53 halfedge_descriptor h;
56 std::pair< halfedge_descriptor, bool > p;
71 typename boost::graph_traits< G >::halfedge_iterator halfedge_iterator;
72 typedef typename boost::graph_traits< G >::halfedges_size_type
74 BOOST_CONCEPT_USAGE(CGALHalfedgeListGraph)
76 BOOST_CONCEPT_ASSERT((DefaultConstructible< halfedge_iterator >));
77 BOOST_CONCEPT_ASSERT((Assignable< halfedge_iterator >));
78 BOOST_CONCEPT_ASSERT((EqualityComparable< halfedge_iterator >));
82 std::pair< halfedge_iterator, halfedge_iterator > p;
83 halfedges_size_type E;
97 typedef typename boost::graph_traits< G >::halfedge_descriptor
99 typedef typename boost::graph_traits< G >::edge_descriptor edge_descriptor;
102 BOOST_CONCEPT_USAGE(CGALMutableHalfedgeGraph)
112 halfedge_descriptor h, h1, h2;
127 typedef typename boost::graph_traits< G >::face_descriptor face_descriptor;
128 typedef typename boost::graph_traits< G >::halfedge_descriptor
130 BOOST_CONCEPT_USAGE(CGALFaceGraph)
135 f = boost::graph_traits< G >::null_face();
138 halfedge_descriptor h;
152 typedef typename boost::graph_traits< G >::face_iterator face_iterator;
153 typedef typename boost::graph_traits< G >::faces_size_type faces_size_type;
155 BOOST_CONCEPT_USAGE(CGALFaceListGraph)
160 std::pair< face_iterator, face_iterator > p;
174 : CGALFaceGraph<
G >, CGALMutableHalfedgeGraph<
G >
176 typedef typename boost::graph_traits< G >::face_descriptor face_descriptor;
177 typedef typename boost::graph_traits< G >::halfedge_descriptor
179 BOOST_CONCEPT_USAGE(CGALMutableFaceGraph)
187 halfedge_descriptor h;
199 : CGALMutableFaceGraph<
G >, CGALHalfedgeListGraph<
G >,
200 CGALFaceListGraph<
G >{};
void remove_vertex(typename boost::graph_traits< FEVV::DataStructures::AIF::AIFMesh >::vertex_descriptor v, FEVV::DataStructures::AIF::AIFMesh &sm)
Removes v from the mesh.
boost::graph_traits< FEVV::DataStructures::AIF::AIFMesh >::halfedge_descriptor next(typename boost::graph_traits< FEVV::DataStructures::AIF::AIFMesh >::halfedge_descriptor h, const FEVV::DataStructures::AIF::AIFMesh &sm)
Returns the next halfedge around its face.
boost::graph_traits< FEVV::DataStructures::AIF::AIFMesh >::degree_size_type degree(typename boost::graph_traits< FEVV::DataStructures::AIF::AIFMesh >::vertex_descriptor u, const FEVV::DataStructures::AIF::AIFMesh &)
void set_halfedge(typename boost::graph_traits< FEVV::DataStructures::AIF::AIFMesh >::vertex_descriptor v, typename boost::graph_traits< FEVV::DataStructures::AIF::AIFMesh >::halfedge_descriptor h, FEVV::DataStructures::AIF::AIFMesh &sm)
Sets the halfedge of v to h. The target vertex of h must be v.
BOOST_concept(CGALHalfedgeGraph,(G))
CGAL's HalfedgeGraph concept (expressed with Boost Concept Check Library) (BCCL)
void set_next(typename boost::graph_traits< FEVV::DataStructures::AIF::AIFMesh >::halfedge_descriptor h1, typename boost::graph_traits< FEVV::DataStructures::AIF::AIFMesh >::halfedge_descriptor h2, FEVV::DataStructures::AIF::AIFMesh &sm)
Sets the successor of h1 around a face to h2, and the prededecessor of h2 to h1.
boost::graph_traits< FEVV::DataStructures::AIF::AIFMesh >::face_descriptor add_face(FEVV::DataStructures::AIF::AIFMesh &sm)
Adds a new face to the graph without initializing the connectivity.
void remove_edge(typename boost::graph_traits< FEVV::DataStructures::AIF::AIFMesh >::edge_descriptor e, FEVV::DataStructures::AIF::AIFMesh &sm)
Remove edge e.
boost::graph_traits< FEVV::DataStructures::AIF::AIFMesh >::halfedge_descriptor opposite(typename boost::graph_traits< FEVV::DataStructures::AIF::AIFMesh >::halfedge_descriptor h, const FEVV::DataStructures::AIF::AIFMesh &sm)
Returns the halfedge with source and target swapped.
boost::graph_traits< FEVV::DataStructures::AIF::AIFMesh >::vertex_descriptor source(typename boost::graph_traits< FEVV::DataStructures::AIF::AIFMesh >::edge_descriptor e, const FEVV::DataStructures::AIF::AIFMesh &)
Returns the source vertex of e.
boost::graph_traits< FEVV::DataStructures::AIF::AIFMesh >::edge_descriptor add_edge(FEVV::DataStructures::AIF::AIFMesh &sm)
Adds two opposite halfedges to the graph without initializing the connectivity.
boost::graph_traits< FEVV::DataStructures::AIF::AIFMesh >::edge_descriptor edge(typename boost::graph_traits< FEVV::DataStructures::AIF::AIFMesh >::halfedge_descriptor h, const FEVV::DataStructures::AIF::AIFMesh &sm)
Returns the edge corresponding to h and opposite(h).
boost::graph_traits< FEVV::DataStructures::AIF::AIFMesh >::faces_size_type num_faces(const FEVV::DataStructures::AIF::AIFMesh &sm)
Returns an upper bound of the number of faces of the graph.
Interfaces for plugins These interfaces will be used for different plugins.
std::pair< typename boost::graph_traits< FEVV::DataStructures::AIF::AIFMesh >::face_iterator, typename boost::graph_traits< FEVV::DataStructures::AIF::AIFMesh >::face_iterator > faces(const FEVV::DataStructures::AIF::AIFMesh &sm)
Returns an iterator range over all faces of the mesh.
boost::graph_traits< FEVV::DataStructures::AIF::AIFMesh >::halfedge_descriptor halfedge(typename boost::graph_traits< FEVV::DataStructures::AIF::AIFMesh >::vertex_descriptor v, const FEVV::DataStructures::AIF::AIFMesh &sm)
Returns a halfedge with target v.
boost::graph_traits< FEVV::DataStructures::AIF::AIFMesh >::vertex_descriptor target(typename boost::graph_traits< FEVV::DataStructures::AIF::AIFMesh >::edge_descriptor e, const FEVV::DataStructures::AIF::AIFMesh &)
Returns the target vertex of e.
void set_target(typename boost::graph_traits< FEVV::DataStructures::AIF::AIFMesh >::halfedge_descriptor h, typename boost::graph_traits< FEVV::DataStructures::AIF::AIFMesh >::vertex_descriptor v, FEVV::DataStructures::AIF::AIFMesh &sm)
Sets the target vertex of h and the source of opposite(h) to v.
boost::graph_traits< FEVV::DataStructures::AIF::AIFMesh >::vertex_descriptor add_vertex(typename boost::graph_traits< FEVV::DataStructures::AIF::AIFMesh >::vertex_property_type vp, FEVV::DataStructures::AIF::AIFMesh &sm)
boost::graph_traits< FEVV::DataStructures::AIF::AIFMesh >::halfedge_descriptor prev(typename boost::graph_traits< FEVV::DataStructures::AIF::AIFMesh >::halfedge_descriptor h, const FEVV::DataStructures::AIF::AIFMesh &sm)
Returns the previous halfedge around its face.
boost::graph_traits< MeshT >::vertex_descriptor vertex_descriptor
This class represents an AIF structure. AIF structure can deal with both manifold and non-manifold su...
boost::graph_traits< FEVV::DataStructures::AIF::AIFMesh >::face_descriptor face(typename boost::graph_traits< FEVV::DataStructures::AIF::AIFMesh >::halfedge_descriptor h, const FEVV::DataStructures::AIF::AIFMesh &)
Returns the face incident to halfedge h.
void set_face(typename boost::graph_traits< FEVV::DataStructures::AIF::AIFMesh >::halfedge_descriptor h, typename boost::graph_traits< FEVV::DataStructures::AIF::AIFMesh >::face_descriptor f, FEVV::DataStructures::AIF::AIFMesh &sm)
Sets the corresponding face of h to f.
void remove_face(typename boost::graph_traits< FEVV::DataStructures::AIF::AIFMesh >::face_descriptor f, FEVV::DataStructures::AIF::AIFMesh &sm)
Removes f from the mesh.