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,
|
||||
ObjectPropertyMap o_pmap=ObjectPropertyMap(),
|
||||
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
|
||||
template < class Id,
|
||||
|
|
@ -150,6 +159,10 @@ public:
|
|||
AABB_primitive(Id id, ObjectPropertyMap obj_pmap=ObjectPropertyMap(), PointPropertyMap pt_pmap=PointPropertyMap())
|
||||
: 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
|
||||
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())
|
||||
: 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; }
|
||||
|
||||
|
|
@ -194,6 +211,10 @@ public:
|
|||
AABB_primitive(Id id, ObjectPropertyMap=ObjectPropertyMap(), PointPropertyMap=PointPropertyMap())
|
||||
: Base(id) {}
|
||||
|
||||
template <class Iterator>
|
||||
AABB_primitive(Iterator it, ObjectPropertyMap=ObjectPropertyMap(), PointPropertyMap=PointPropertyMap())
|
||||
: Base(*it) {}
|
||||
|
||||
typename Base::Datum_reference
|
||||
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())
|
||||
: 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; }
|
||||
|
||||
typename Base::Point_reference
|
||||
|
|
|
|||
Loading…
Reference in New Issue