mirror of https://github.com/CGAL/cgal
Merge pull request #2965 from sloriot/AABB_tree-Add_primitive_constructor
Add a constructor from iterator on id for AABB_primitive
This commit is contained in:
commit
599f7c3b73
|
|
@ -126,6 +126,15 @@ struct AABB_primitive
|
||||||
AABB_primitive(Id id,
|
AABB_primitive(Id id,
|
||||||
ObjectPropertyMap o_pmap=ObjectPropertyMap(),
|
ObjectPropertyMap o_pmap=ObjectPropertyMap(),
|
||||||
PointPropertyMap p_pmap=PointPropertyMap());
|
PointPropertyMap p_pmap=PointPropertyMap());
|
||||||
|
|
||||||
|
/*!
|
||||||
|
Constructs a primitive from an iterator with `Id` as value type
|
||||||
|
and initializes the property maps.
|
||||||
|
*/
|
||||||
|
template <class Iterator>
|
||||||
|
AABB_primitive(Iterator it,
|
||||||
|
ObjectPropertyMap o_pmap=ObjectPropertyMap(),
|
||||||
|
PointPropertyMap p_pmap=PointPropertyMap());
|
||||||
};
|
};
|
||||||
#else
|
#else
|
||||||
template < class Id,
|
template < class Id,
|
||||||
|
|
@ -150,6 +159,10 @@ public:
|
||||||
AABB_primitive(Id id, ObjectPropertyMap obj_pmap=ObjectPropertyMap(), PointPropertyMap pt_pmap=PointPropertyMap())
|
AABB_primitive(Id id, ObjectPropertyMap obj_pmap=ObjectPropertyMap(), PointPropertyMap pt_pmap=PointPropertyMap())
|
||||||
: Base(id), m_obj_pmap(obj_pmap), m_pt_pmap(pt_pmap) {}
|
: Base(id), m_obj_pmap(obj_pmap), m_pt_pmap(pt_pmap) {}
|
||||||
|
|
||||||
|
template <class Iterator>
|
||||||
|
AABB_primitive(Iterator it, ObjectPropertyMap obj_pmap=ObjectPropertyMap(), PointPropertyMap pt_pmap=PointPropertyMap())
|
||||||
|
: Base(*it), m_obj_pmap(obj_pmap), m_pt_pmap(pt_pmap) {}
|
||||||
|
|
||||||
typename Base::Datum_reference
|
typename Base::Datum_reference
|
||||||
datum() const { return get(m_obj_pmap,this->m_id); }
|
datum() const { return get(m_obj_pmap,this->m_id); }
|
||||||
|
|
||||||
|
|
@ -173,6 +186,10 @@ public:
|
||||||
AABB_primitive(Id id, ObjectPropertyMap obj_pmap=ObjectPropertyMap(), PointPropertyMap pt_pmap=PointPropertyMap())
|
AABB_primitive(Id id, ObjectPropertyMap obj_pmap=ObjectPropertyMap(), PointPropertyMap pt_pmap=PointPropertyMap())
|
||||||
: Base(id), m_datum( get(obj_pmap,id) ), m_pt_pmap(pt_pmap){}
|
: Base(id), m_datum( get(obj_pmap,id) ), m_pt_pmap(pt_pmap){}
|
||||||
|
|
||||||
|
template <class Iterator>
|
||||||
|
AABB_primitive(Iterator it, ObjectPropertyMap obj_pmap=ObjectPropertyMap(), PointPropertyMap pt_pmap=PointPropertyMap())
|
||||||
|
: Base(*it), m_datum( get(obj_pmap,*it) ), m_pt_pmap(pt_pmap){}
|
||||||
|
|
||||||
|
|
||||||
Datum_reference datum() const { return m_datum; }
|
Datum_reference datum() const { return m_datum; }
|
||||||
|
|
||||||
|
|
@ -194,6 +211,10 @@ public:
|
||||||
AABB_primitive(Id id, ObjectPropertyMap=ObjectPropertyMap(), PointPropertyMap=PointPropertyMap())
|
AABB_primitive(Id id, ObjectPropertyMap=ObjectPropertyMap(), PointPropertyMap=PointPropertyMap())
|
||||||
: Base(id) {}
|
: Base(id) {}
|
||||||
|
|
||||||
|
template <class Iterator>
|
||||||
|
AABB_primitive(Iterator it, ObjectPropertyMap=ObjectPropertyMap(), PointPropertyMap=PointPropertyMap())
|
||||||
|
: Base(*it) {}
|
||||||
|
|
||||||
typename Base::Datum_reference
|
typename Base::Datum_reference
|
||||||
datum(const Shared_data& data) const { return get(data.first,this->m_id); }
|
datum(const Shared_data& data) const { return get(data.first,this->m_id); }
|
||||||
|
|
||||||
|
|
@ -220,6 +241,10 @@ public:
|
||||||
AABB_primitive(Id id, ObjectPropertyMap obj_pmap=ObjectPropertyMap(), PointPropertyMap=PointPropertyMap())
|
AABB_primitive(Id id, ObjectPropertyMap obj_pmap=ObjectPropertyMap(), PointPropertyMap=PointPropertyMap())
|
||||||
: Base(id), m_datum( get(obj_pmap,id) ) {}
|
: Base(id), m_datum( get(obj_pmap,id) ) {}
|
||||||
|
|
||||||
|
template <class Iterator>
|
||||||
|
AABB_primitive(Iterator it, ObjectPropertyMap obj_pmap=ObjectPropertyMap(), PointPropertyMap=PointPropertyMap())
|
||||||
|
: Base(*it), m_datum( get(obj_pmap,*it) ) {}
|
||||||
|
|
||||||
Datum_reference datum(Shared_data) const { return m_datum; }
|
Datum_reference datum(Shared_data) const { return m_datum; }
|
||||||
|
|
||||||
typename Base::Point_reference
|
typename Base::Point_reference
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue