Go to the documentation of this file.
13 #include <CGAL/boost/graph/properties.h>
14 #include <boost/shared_ptr.hpp>
15 #include <boost/any.hpp>
105 return (pmaps.count(map_name) > 0);
109 template<
typename PropertyT >
124 return std::string(
"v:normal");
130 return std::string(
"v:tangent");
136 return std::string(
"v:texcoord");
142 return std::string(
"v:color");
148 return std::string(
"v:custom_vector");
154 return std::string(
"v:custom_vector_color");
160 return std::string(
"v:custom_vector_param");
166 return std::string(
"h:normal");
172 return std::string(
"h:texcoord");
178 return std::string(
"e:color");
184 return std::string(
"f:normal");
190 return std::string(
"f:color");
196 return std::string(
"f:material");
202 return std::string(
"m:materials");
208 return std::string(
"m:guiproperties");
233 template<
typename KeyType,
typename ValueType >
235 :
public boost::associative_property_map< std::map< KeyType, ValueType > >
247 boost::associative_property_map< std::map< KeyType, ValueType > >::
248 operator=(boost::associative_property_map< std::map< KeyType, ValueType > >(
255 boost::associative_property_map< std::map< KeyType, ValueType > >(other)
260 boost::associative_property_map< std::map< KeyType, ValueType > >::
261 operator=(boost::associative_property_map< std::map< KeyType, ValueType > >(
277 boost::associative_property_map< std::map< KeyType, ValueType > >::
278 operator=(boost::associative_property_map< std::map< KeyType, ValueType > >(
287 std::cout <<
"this=" <<
this <<
" map.size()=" << (*map_ptr).size()
292 boost::shared_ptr< std::map< KeyType, ValueType > >
313 template<
typename MeshT,
typename ValueT >
329 template<
typename MeshT,
typename ValueT >
332 typedef typename boost::graph_traits< MeshT >::face_descriptor
face_key_type;
343 template<
typename MeshT,
typename ValueT >
346 typedef typename boost::graph_traits< MeshT >::edge_descriptor
edge_key_type;
357 template<
typename MeshT,
typename ValueT >
360 typedef typename boost::graph_traits< MeshT >::halfedge_descriptor
375 template<
typename MeshT,
typename PropertyT >
379 template<
typename MeshT >
393 template<
typename MeshT >
407 template<
typename MeshT >
421 template<
typename MeshT >
435 template<
typename MeshT >
449 template<
typename MeshT >
463 template<
typename MeshT >
477 template<
typename MeshT >
492 template<
typename MeshT >
507 template<
typename MeshT >
521 template<
typename MeshT >
535 template<
typename MeshT >
549 template<
typename MeshT >
565 template<
typename MeshT >
570 typedef typename boost::vector_property_map< value_type, index_map_type >
582 template<
typename MeshT >
587 typedef typename boost::vector_property_map< value_type, index_map_type >
603 template<
typename PropertyT,
typename MeshT >
606 template<
typename MeshT,
typename ValueT >
609 template<
typename MeshT,
typename ValueT >
612 template<
typename MeshT,
typename ValueT >
615 template<
typename MeshT,
typename ValueT >
628 template<
typename PropertyT,
typename MeshT >
635 std::cout <<
"make_property_map<PropertyT, MeshT>" <<
", map name = " << map_name << std::endl;
644 template<
typename PropertyT,
typename MeshT >
645 typename PMap_traits< PropertyT, MeshT >::pmap_type
650 std::cout <<
"get_property_map<PropertyT, MeshT>" <<
", map name = " <<
get_property_map_name(p) << std::endl;
655 return boost::any_cast< typename PMap_traits< PropertyT, MeshT >::pmap_type >(
662 template<
typename PropertyT,
typename MeshT >
672 std::cout <<
"put_property_map<PropertyT, MeshT>" <<
", map name = " <<
get_property_map_name(p) << std::endl;
677 pmaps[map_name] = pmap;
695 template<
typename PropertyT >
707 std::vector< std::string >
710 std::vector< std::string > names;
711 for(
auto it = pmaps.begin(); it != pmaps.end(); ++it)
712 names.push_back(it->first);
725 for(
auto it = names.begin(); it != names.end(); ++it)
726 std::cout << *it << std::endl;
734 template<
typename MeshT,
typename ValueT >
744 template<
typename MeshT,
typename ValueT >
754 template<
typename MeshT,
typename ValueT >
764 template<
typename MeshT,
typename ValueT >
Vertex_pmap_traits< MeshT, value_type >::pmap_type pmap_type
FEVV::Geometry_traits< MeshT >::Vector value_type
@ vertex_custom_vector_param
void remove_property_map(PropertyT p, PMapsContainer &pmaps)
void put_property_map(PropertyT p, const MeshT &, PMapsContainer &pmaps, const typename PMap_traits< PropertyT, MeshT >::pmap_type &pmap)
static pmap_type create(const MeshT &)
FEVV::Geometry_traits< MeshT >::Vector value_type
Assoc_property_map & operator=(const Assoc_property_map &other)
Edge_pmap_traits< MeshT, ValueT >::pmap_type make_edge_property_map(const MeshT &m)
PMap_traits< PropertyT, MeshT >::pmap_type get_property_map(PropertyT p, const MeshT &, const PMapsContainer &pmaps)
void print_property_maps(const PMapsContainer &pmaps)
void remove_property_map_by_name(const std::string &name, PMapsContainer &pmaps)
static pmap_type create(const MeshT &m)
Face_pmap_traits< MeshT, value_type >::pmap_type pmap_type
bool has_map(const PMapsContainer &pmaps, const std::string &map_name)
(refer to Property Maps API)
Vertex_pmap_traits< MeshT, value_type >::pmap_type pmap_type
std::string get_property_map_name(FEVV::vertex_normal_t)
(refer to Property Maps API)
static pmap_type create(const MeshT &)
boost::identity_property_map index_map_type
FEVV::Geometry_traits< MeshT >::Vector value_type
Halfedge_pmap_traits< MeshT, value_type >::pmap_type pmap_type
Halfedge_pmap_traits< MeshT, ValueT >::pmap_type make_halfedge_property_map(const MeshT &m)
FEVV::Geometry_traits< MeshT >::Vector value_type
Refer to Geometry_traits_documentation_dummy for further documentation on provided types and algorith...
boost::shared_ptr< std::map< KeyType, ValueType > > map_ptr
vertex_custom_vector_color_t
FEVV::Geometry_traits< MeshT >::Vector value_type
FEVV::Assoc_property_map< vertex_key_type, ValueT > pmap_type
static pmap_type create(const MeshT &)
typename Face_pmap_traits< MeshT, ValueT >::pmap_type Face_pmap
Vertex_pmap_traits< MeshT, value_type >::pmap_type pmap_type
std::map< std::string, boost::any > PMapsContainer
Vertex_pmap_traits< MeshT, value_type >::pmap_type pmap_type
FEVV::Types::Material value_type
static pmap_type create(const MeshT &)
FEVV::Geometry_traits< MeshT >::Vector value_type
FEVV::Types::GuiProperties value_type
FEVV::Geometry_traits< MeshT >::Vector value_type
Edge_pmap_traits< MeshT, value_type >::pmap_type pmap_type
Interfaces for plugins These interfaces will be used for different plugins.
FEVV::Assoc_property_map< edge_key_type, ValueT > pmap_type
FEVV::Geometry_traits< MeshT >::Vector value_type
boost::vector_property_map< value_type, index_map_type > pmap_type
@ vertex_custom_vector_color
static pmap_type create(const MeshT &)
boost::graph_traits< MeshT >::edge_descriptor edge_key_type
static pmap_type create(const MeshT &)
FEVV::Geometry_traits< MeshT >::Vector value_type
typename Halfedge_pmap_traits< MeshT, ValueT >::pmap_type Halfedge_pmap
vertex_custom_vector_param_t
boost::graph_traits< MeshT >::vertex_descriptor vertex_key_type
static pmap_type create(const MeshT &)
FEVV::Geometry_traits< MeshT >::Vector value_type
boost::graph_traits< MeshT >::face_descriptor face_key_type
boost::identity_property_map index_map_type
Vertex_pmap_traits< MeshT, value_type >::pmap_type pmap_type
std::vector< std::string > list_property_maps(const PMapsContainer &pmaps)
FEVV::Assoc_property_map< halfedge_key_type, ValueT > pmap_type
Vertex_pmap_traits< MeshT, ValueT >::pmap_type make_vertex_property_map(const MeshT &m)
Face_pmap_traits< MeshT, value_type >::pmap_type pmap_type
static pmap_type create(const MeshT &)
boost::graph_traits< MeshT >::halfedge_descriptor halfedge_key_type
static pmap_type create(const MeshT &m)
static pmap_type create(const MeshT &)
static pmap_type create(const MeshT &)
Vertex_pmap_traits< MeshT, value_type >::pmap_type pmap_type
typename Vertex_pmap_traits< MeshT, ValueT >::pmap_type Vertex_pmap
FEVV::Geometry_traits< MeshT >::Vector value_type
Assoc_property_map(const Assoc_property_map &other)
boost::graph_traits< MeshT >::vertex_descriptor vertex_descriptor
static pmap_type create(const MeshT &)
static pmap_type create(const MeshT &)
This class represents an AIF structure. AIF structure can deal with both manifold and non-manifold su...
typename Edge_pmap_traits< MeshT, ValueT >::pmap_type Edge_pmap
FEVV::Assoc_property_map< face_key_type, ValueT > pmap_type
FEVV::Geometry_traits< MeshT >::Vector value_type
static pmap_type create(const MeshT &)
Vertex_pmap_traits< MeshT, value_type >::pmap_type pmap_type
static pmap_type create(const MeshT &)
static pmap_type create(const MeshT &)
Halfedge_pmap_traits< MeshT, value_type >::pmap_type pmap_type
static pmap_type create(const MeshT &)
boost::vector_property_map< value_type, index_map_type > pmap_type
PMap_traits< PropertyT, MeshT >::pmap_type make_property_map(PropertyT, const MeshT &m)
Face_pmap_traits< MeshT, ValueT >::pmap_type make_face_property_map(const MeshT &m)
Face_pmap_traits< MeshT, value_type >::pmap_type pmap_type
static pmap_type create(const MeshT &)