Merge pull request #6047 from MaelRL/PM-Fix_pmaps_reference_types_5.3-GF

Various fixes for property maps (5.3)
This commit is contained in:
Sébastien Loriot
2021-10-29 17:39:22 +02:00
73 changed files with 370 additions and 314 deletions
@@ -86,7 +86,7 @@ template<typename PatchIdMap,
typename ValueType = typename boost::property_traits<PatchIdMap>::value_type>
struct PatchIdMapWrapper
{
typedef typename boost::property_traits<PatchIdMap>::category category;
typedef typename boost::read_write_property_map_tag category;
typedef ValueType value_type;
typedef typename boost::property_traits<PatchIdMap>::reference reference;
typedef typename boost::property_traits<PatchIdMap>::key_type key_type;
@@ -118,7 +118,7 @@ void put(PatchIdMapWrapper<PatchIdMap, Int>& map, Handle_type h,
template<typename PatchIdMap, typename Int>
struct PatchIdMapWrapper<PatchIdMap, std::pair<Int, Int> >
{
typedef typename boost::property_traits<PatchIdMap>::category category;
typedef typename boost::read_write_property_map_tag category;
typedef Int value_type;
typedef typename boost::property_traits<PatchIdMap>::reference reference;
typedef typename boost::property_traits<PatchIdMap>::key_type key_type;
@@ -98,7 +98,7 @@ namespace internal {
public:
typedef edge_descriptor key_type;
typedef bool value_type;
typedef value_type& reference;
typedef value_type reference;
typedef boost::read_write_property_map_tag category;
Border_constraint_pmap()
@@ -172,7 +172,7 @@ namespace internal {
public:
typedef face_descriptor key_type;
typedef Patch_id value_type;
typedef Patch_id& reference;
typedef Patch_id reference;
typedef boost::read_write_property_map_tag category;
//note pmesh is a non-const ref because properties are added and removed
@@ -1181,9 +1181,9 @@ private:
struct Patch_id_property_map
{
typedef boost::readable_property_map_tag category;
typedef Patch_id value_type;
typedef Patch_id& reference;
typedef boost::readable_property_map_tag category;
typedef Patch_id value_type;
typedef Patch_id reference;
typedef typename Triangle_list::const_iterator key_type;
const Self* remesher_ptr_;
@@ -1193,7 +1193,7 @@ private:
Patch_id_property_map(const Self& remesher)
: remesher_ptr_(&remesher) {}
friend Patch_id get(const Patch_id_property_map& m, key_type tr_it)
friend value_type get(const Patch_id_property_map& m, key_type tr_it)
{
//tr_it is an iterator from triangles_
std::size_t id_in_vec = std::distance(
@@ -1499,7 +1499,7 @@ public:
const VertexPointMap& vpm() const { return vpm_; }
// get function for property map
inline friend reference get(const Self& pmap, key_type v) {
inline friend value_type get(const Self& pmap, key_type v) {
return pmap.converter()(get(pmap.vpm(), v));
}