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

Namespaces

 internal
 
 Properties
 

Classes

class  SM_edge_weight_pmap
 
class  SM_index_pmap
 
class  Surface_mesh
 This class is a data structure that can be used as halfedge data structure or polyhedral surface. It is an alternative to the classes HalfedgeDS and Polyhedron_3 defined in the packages PkgHDSSummary and PkgPolyhedronSummary. The main difference is that it is indexed based and not pointer based, and that the mechanism for adding information to vertices, halfedges, edges, and faces is much simpler and done at runtime and not at compile time. When elements are removed, they are only marked as removed, and a garbage collection function must be called to really remove them. More...
 

Functions

template<typename P >
boost::graph_traits
< CGAL::Surface_mesh< P >
>::vertices_size_type 
num_vertices (const CGAL::Surface_mesh< P > &sm)
 
template<typename P >
boost::graph_traits
< CGAL::Surface_mesh< P >
>::edges_size_type 
num_edges (const CGAL::Surface_mesh< P > &sm)
 
template<typename P >
boost::graph_traits
< CGAL::Surface_mesh< P >
>::degree_size_type 
degree (typename boost::graph_traits< CGAL::Surface_mesh< P > >::vertex_descriptor v, const CGAL::Surface_mesh< P > &sm)
 
template<typename P >
boost::graph_traits
< CGAL::Surface_mesh< P >
>::degree_size_type 
out_degree (typename boost::graph_traits< CGAL::Surface_mesh< P > >::vertex_descriptor v, const CGAL::Surface_mesh< P > &sm)
 
template<typename P >
boost::graph_traits
< CGAL::Surface_mesh< P >
>::degree_size_type 
in_degree (typename boost::graph_traits< CGAL::Surface_mesh< P > >::vertex_descriptor v, const CGAL::Surface_mesh< P > &sm)
 
template<typename P >
boost::graph_traits
< CGAL::Surface_mesh< P >
>::vertex_descriptor 
source (typename boost::graph_traits< CGAL::Surface_mesh< P > >::edge_descriptor e, const CGAL::Surface_mesh< P > &sm)
 
template<typename P >
boost::graph_traits
< CGAL::Surface_mesh< P >
>::vertex_descriptor 
source (typename boost::graph_traits< CGAL::Surface_mesh< P > >::halfedge_descriptor h, const CGAL::Surface_mesh< P > &sm)
 
template<typename P >
boost::graph_traits
< CGAL::Surface_mesh< P >
>::vertex_descriptor 
target (typename boost::graph_traits< CGAL::Surface_mesh< P > >::edge_descriptor e, const CGAL::Surface_mesh< P > &sm)
 
template<typename P >
boost::graph_traits
< CGAL::Surface_mesh< P >
>::vertex_descriptor 
target (typename boost::graph_traits< CGAL::Surface_mesh< P > >::halfedge_descriptor h, const CGAL::Surface_mesh< P > &sm)
 
template<typename P >
Iterator_range< typename
boost::graph_traits
< CGAL::Surface_mesh< P >
>::vertex_iterator > 
vertices (const CGAL::Surface_mesh< P > &sm)
 
template<typename P >
Iterator_range< typename
boost::graph_traits
< CGAL::Surface_mesh< P >
>::edge_iterator > 
edges (const CGAL::Surface_mesh< P > &sm)
 
template<typename P >
Iterator_range< typename
boost::graph_traits
< CGAL::Surface_mesh< P >
>::in_edge_iterator > 
in_edges (typename boost::graph_traits< CGAL::Surface_mesh< P > >::vertex_descriptor v, const CGAL::Surface_mesh< P > &sm)
 
template<typename P >
Iterator_range< typename
boost::graph_traits
< CGAL::Surface_mesh< P >
>::out_edge_iterator > 
out_edges (typename boost::graph_traits< CGAL::Surface_mesh< P > >::vertex_descriptor v, const CGAL::Surface_mesh< P > &sm)
 
template<typename P >
std::pair< typename
boost::graph_traits
< CGAL::Surface_mesh< P >
>::edge_descriptor, bool > 
edge (typename boost::graph_traits< CGAL::Surface_mesh< P > >::vertex_descriptor u, typename boost::graph_traits< CGAL::Surface_mesh< P > >::vertex_descriptor v, const CGAL::Surface_mesh< P > &sm)
 
template<typename P >
boost::graph_traits
< CGAL::Surface_mesh< P >
>::halfedge_descriptor 
next (typename boost::graph_traits< CGAL::Surface_mesh< P > >::halfedge_descriptor h, const CGAL::Surface_mesh< P > &sm)
 
template<typename P >
boost::graph_traits
< CGAL::Surface_mesh< P >
>::halfedge_descriptor 
prev (typename boost::graph_traits< CGAL::Surface_mesh< P > >::halfedge_descriptor h, const CGAL::Surface_mesh< P > &sm)
 
template<typename P >
boost::graph_traits
< CGAL::Surface_mesh< P >
>::halfedge_descriptor 
opposite (typename boost::graph_traits< CGAL::Surface_mesh< P > >::halfedge_descriptor h, const CGAL::Surface_mesh< P > &sm)
 
template<typename P >
boost::graph_traits
< CGAL::Surface_mesh< P >
>::edge_descriptor 
edge (typename boost::graph_traits< CGAL::Surface_mesh< P > >::halfedge_descriptor h, const CGAL::Surface_mesh< P > &sm)
 
template<typename P >
boost::graph_traits
< CGAL::Surface_mesh< P >
>::halfedge_descriptor 
halfedge (typename boost::graph_traits< CGAL::Surface_mesh< P > >::edge_descriptor e, const CGAL::Surface_mesh< P > &sm)
 
template<typename P >
boost::graph_traits
< CGAL::Surface_mesh< P >
>::halfedge_descriptor 
halfedge (typename boost::graph_traits< CGAL::Surface_mesh< P > >::vertex_descriptor v, const CGAL::Surface_mesh< P > &sm)
 
template<typename P >
std::pair< typename
boost::graph_traits
< CGAL::Surface_mesh< P >
>::halfedge_descriptor, bool > 
halfedge (typename boost::graph_traits< CGAL::Surface_mesh< P > >::vertex_descriptor u, typename boost::graph_traits< CGAL::Surface_mesh< P > >::vertex_descriptor v, const CGAL::Surface_mesh< P > &sm)
 
template<typename P >
Iterator_range< typename
boost::graph_traits
< CGAL::Surface_mesh< P >
>::halfedge_iterator > 
halfedges (const CGAL::Surface_mesh< P > &sm)
 
template<typename P >
boost::graph_traits
< CGAL::Surface_mesh< P >
>::halfedges_size_type 
num_halfedges (const CGAL::Surface_mesh< P > &sm)
 
template<typename P >
void set_next (typename boost::graph_traits< CGAL::Surface_mesh< P > >::halfedge_descriptor h1, typename boost::graph_traits< CGAL::Surface_mesh< P > >::halfedge_descriptor h2, CGAL::Surface_mesh< P > &sm)
 
template<typename P >
void set_target (typename boost::graph_traits< CGAL::Surface_mesh< P > >::halfedge_descriptor h, typename boost::graph_traits< CGAL::Surface_mesh< P > >::vertex_descriptor v, CGAL::Surface_mesh< P > &sm)
 
template<typename P >
void set_halfedge (typename boost::graph_traits< CGAL::Surface_mesh< P > >::vertex_descriptor v, typename boost::graph_traits< CGAL::Surface_mesh< P > >::halfedge_descriptor h, CGAL::Surface_mesh< P > &sm)
 
template<typename P >
void collect_garbage (CGAL::Surface_mesh< P > &sm)
 
template<typename P >
boost::graph_traits
< CGAL::Surface_mesh< P >
>::edge_descriptor 
add_edge (CGAL::Surface_mesh< P > &sm)
 
template<typename P >
boost::graph_traits
< CGAL::Surface_mesh< P >
>::halfedge_descriptor 
halfedge (typename boost::graph_traits< CGAL::Surface_mesh< P > >::face_descriptor f, const CGAL::Surface_mesh< P > &sm)
 
template<typename P >
boost::graph_traits
< CGAL::Surface_mesh< P >
>::face_descriptor 
face (typename boost::graph_traits< CGAL::Surface_mesh< P > >::halfedge_descriptor h, const CGAL::Surface_mesh< P > &sm)
 
template<typename P >
void set_face (typename boost::graph_traits< CGAL::Surface_mesh< P > >::halfedge_descriptor h, typename boost::graph_traits< CGAL::Surface_mesh< P > >::face_descriptor f, CGAL::Surface_mesh< P > &sm)
 
template<typename P >
void set_halfedge (typename boost::graph_traits< CGAL::Surface_mesh< P > >::face_descriptor f, typename boost::graph_traits< CGAL::Surface_mesh< P > >::halfedge_descriptor h, CGAL::Surface_mesh< P > &sm)
 
template<typename P >
boost::graph_traits
< CGAL::Surface_mesh< P >
>::faces_size_type 
num_faces (const CGAL::Surface_mesh< P > &sm)
 
template<typename P >
Iterator_range< typename
boost::graph_traits
< CGAL::Surface_mesh< P >
>::face_iterator > 
faces (const CGAL::Surface_mesh< P > &sm)
 
template<typename P >
boost::graph_traits
< CGAL::Surface_mesh< P >
>::vertex_descriptor 
add_vertex (CGAL::Surface_mesh< P > &sm)
 
template<typename P >
boost::graph_traits
< CGAL::Surface_mesh< P >
>::vertex_descriptor 
add_vertex (const typename boost::graph_traits< CGAL::Surface_mesh< P > >::vertex_property_type &p, CGAL::Surface_mesh< P > &sm)
 
template<typename P >
void reserve (CGAL::Surface_mesh< P > &sm, typename boost::graph_traits< CGAL::Surface_mesh< P > >::vertices_size_type nv, typename boost::graph_traits< CGAL::Surface_mesh< P > >::edges_size_type ne, typename boost::graph_traits< CGAL::Surface_mesh< P > >::faces_size_type nf)
 
template<typename P >
void remove_vertex (typename boost::graph_traits< CGAL::Surface_mesh< P > >::vertex_descriptor v, CGAL::Surface_mesh< P > &sm)
 
template<typename P >
void remove_edge (typename boost::graph_traits< CGAL::Surface_mesh< P > >::vertex_descriptor u, typename boost::graph_traits< CGAL::Surface_mesh< P > >::vertex_descriptor v, CGAL::Surface_mesh< P > &sm)
 
template<typename P >
void remove_edge (typename boost::graph_traits< CGAL::Surface_mesh< P > >::edge_descriptor e, CGAL::Surface_mesh< P > &sm)
 
template<typename P >
void remove_edge (typename boost::graph_traits< CGAL::Surface_mesh< P > >::edge_iterator eiter, CGAL::Surface_mesh< P > &sm)
 
template<typename P >
void remove_face (typename boost::graph_traits< CGAL::Surface_mesh< P > >::face_descriptor f, CGAL::Surface_mesh< P > &sm)
 
template<typename P >
boost::graph_traits
< CGAL::Surface_mesh< P >
>::face_descriptor 
add_face (CGAL::Surface_mesh< P > &sm)
 
template<typename P , typename InputIterator >
boost::graph_traits
< CGAL::Surface_mesh< P >
>::face_descriptor 
add_face (InputIterator begin, InputIterator end, CGAL::Surface_mesh< P > &sm)
 
template<typename P >
bool is_valid (const CGAL::Surface_mesh< P > &sm, bool verbose=false)
 
template<typename Point >
boost::property_map
< CGAL::Surface_mesh< Point >
, boost::edge_weight_t >
::const_type 
get (boost::edge_weight_t, const CGAL::Surface_mesh< Point > &sm)
 
template<typename Point >
CGAL::Kernel_traits< Point >
::type::FT 
get (boost::edge_weight_t, const CGAL::Surface_mesh< Point > &sm, const SM_Edge_index &e)
 
template<typename Point >
CGAL::SM_index_pmap< Point,
SM_Vertex_index > 
get (const boost::vertex_index_t &, const CGAL::Surface_mesh< Point > &)
 
template<typename Point >
CGAL::SM_index_pmap< Point,
SM_Face_index > 
get (const boost::face_index_t &, const CGAL::Surface_mesh< Point > &)
 
template<typename Point >
CGAL::SM_index_pmap< Point,
SM_Edge_index > 
get (const boost::edge_index_t &, const CGAL::Surface_mesh< Point > &)
 
template<typename Point >
CGAL::SM_index_pmap< Point,
SM_Halfedge_index > 
get (const boost::halfedge_index_t &, const CGAL::Surface_mesh< Point > &)
 
template<typename Point >
boost::lazy_disable_if
< boost::is_const< Point >
, internal::Get_vertex_point_map_for_Surface_mesh_return_type
< Point >>::type 
get (CGAL::vertex_point_t, const CGAL::Surface_mesh< Point > &g)
 
 CGAL_SM_INTRINSIC_PROPERTY (boost::uint32_t, boost::vertex_index_t, SM_Vertex_index) CGAL_SM_INTRINSIC_PROPERTY(boost
 
template<typename K >
bool read_off (Surface_mesh< K > &mesh, const std::string &filename)
 
template<typename K >
bool write_off (const Surface_mesh< K > &mesh, const std::string &filename)
 
template<typename K >
bool read_mesh (Surface_mesh< K > &mesh, const std::string &filename)
 
template<typename K >
bool write_mesh (const Surface_mesh< K > &mesh, const std::string &filename)