make dynamic properties working

a better partial specialization is required as Dynamic_property_map
provide a as good specialization otherwise
This commit is contained in:
Sébastien Loriot 2018-02-12 14:18:37 +01:00
parent 1a1fcf9553
commit 0d2991f903
1 changed files with 19 additions and 0 deletions

View File

@ -26,6 +26,7 @@
#include <CGAL/boost/graph/iterator.h>
#include <CGAL/boost/graph/named_function_params.h>
#include <CGAL/boost/graph/helpers.h>
#include <CGAL/Dynamic_property_map.h>
#include <CGAL/assertions.h>
#include <boost/foreach.hpp>
#include <boost/unordered_set.hpp>
@ -1131,6 +1132,24 @@ struct property_map<CGAL::Face_filtered_graph<Graph, FIMap, VIMap, HIMap>,Proper
typedef typename boost::property_map<Graph, PropertyTag >::const_type const_type;
};
#define CGAL_FILTERED_FACE_GRAPH_DYNAMIC_PMAP_SPECIALIZATION(DYNAMIC_TAG) \
template<typename Graph, \
typename FIMap, \
typename VIMap, \
typename HIMap, \
typename T> \
struct property_map<CGAL::Face_filtered_graph<Graph, FIMap, VIMap, HIMap>, CGAL::DYNAMIC_TAG<T> > { \
typedef typename boost::property_map<Graph, CGAL::DYNAMIC_TAG<T> >::type type; \
typedef typename boost::property_map<Graph, CGAL::DYNAMIC_TAG<T> >::const_type const_type; \
};
CGAL_FILTERED_FACE_GRAPH_DYNAMIC_PMAP_SPECIALIZATION(dynamic_vertex_property_t)
CGAL_FILTERED_FACE_GRAPH_DYNAMIC_PMAP_SPECIALIZATION(dynamic_edge_property_t)
CGAL_FILTERED_FACE_GRAPH_DYNAMIC_PMAP_SPECIALIZATION(dynamic_halfedge_property_t)
CGAL_FILTERED_FACE_GRAPH_DYNAMIC_PMAP_SPECIALIZATION(dynamic_face_property_t)
#undef CGAL_FILTERED_FACE_GRAPH_DYNAMIC_PMAP_SPECIALIZATION
//specializations for indices