Parasol Planning Library (PPL)
SegmentTrees< PropertyType > Class Template Reference

#include <SegmentTrees.h>

Public Types

Local types

{

typedef CGAL::Cartesian< double > CK
 
typedef CGAL::Segment_tree_map_traits_2< CK, size_t > Traits2
 
typedef CGAL::Segment_tree_2< Traits2Segment_tree_2_type
 
typedef CGAL::Segment_tree_map_traits_3< CK, size_t > Traits3
 
typedef CGAL::Segment_tree_3< Traits3Segment_tree_3_type
 
typedef Traits2::Interval Interval2
 
typedef Traits3::Interval Interval3
 
typedef Traits2::Pure_interval Pure_interval2
 
typedef Traits3::Pure_interval Pure_interval3
 
typedef Traits2::Key Key2
 
typedef Traits3::Key Key3
 

Public Member Functions

Construction
 SegmentTrees (size_t _d=3)
 
 ~SegmentTrees ()
 
Modifiers
void AddBoundary (const Boundary *_b)
 
void AddBoundary (const Boundary *_b, PropertyType _p)
 
void BuildSegmentTrees ()
 Build the Segment Trees. More...
 
size_t FindEnclosingBoundaries (const Point3d &_p, double _e=0.5 *numeric_limits< float >::epsilon())
 
Accessors
size_t GetNumberEnclosingBoundaries ()
 
size_t GetOutputBoundaryIndex (size_t _i)
 
PropertyType GetOutputBoundaryProperty (size_t _i)
 
const BoundaryGetOutputBoundary (size_t _i)
 
size_t GetDimension ()
 
void SetDimension (size_t _d=3)
 

Detailed Description

template<typename PropertyType = size_t>
class SegmentTrees< PropertyType >

CGAL Segment Tree implementation for easy interval (bounding volme) search

Member Typedef Documentation

◆ CK

template<typename PropertyType = size_t>
typedef CGAL::Cartesian<double> SegmentTrees< PropertyType >::CK

◆ Interval2

template<typename PropertyType = size_t>
typedef Traits2::Interval SegmentTrees< PropertyType >::Interval2

◆ Interval3

template<typename PropertyType = size_t>
typedef Traits3::Interval SegmentTrees< PropertyType >::Interval3

◆ Key2

template<typename PropertyType = size_t>
typedef Traits2::Key SegmentTrees< PropertyType >::Key2

◆ Key3

template<typename PropertyType = size_t>
typedef Traits3::Key SegmentTrees< PropertyType >::Key3

◆ Pure_interval2

template<typename PropertyType = size_t>
typedef Traits2::Pure_interval SegmentTrees< PropertyType >::Pure_interval2

◆ Pure_interval3

template<typename PropertyType = size_t>
typedef Traits3::Pure_interval SegmentTrees< PropertyType >::Pure_interval3

◆ Segment_tree_2_type

template<typename PropertyType = size_t>
typedef CGAL::Segment_tree_2<Traits2> SegmentTrees< PropertyType >::Segment_tree_2_type

◆ Segment_tree_3_type

template<typename PropertyType = size_t>
typedef CGAL::Segment_tree_3<Traits3> SegmentTrees< PropertyType >::Segment_tree_3_type

◆ Traits2

template<typename PropertyType = size_t>
typedef CGAL::Segment_tree_map_traits_2<CK, size_t> SegmentTrees< PropertyType >::Traits2

◆ Traits3

template<typename PropertyType = size_t>
typedef CGAL::Segment_tree_map_traits_3<CK, size_t> SegmentTrees< PropertyType >::Traits3

Constructor & Destructor Documentation

◆ SegmentTrees()

template<typename PropertyType >
SegmentTrees< PropertyType >::SegmentTrees ( size_t  _d = 3)

◆ ~SegmentTrees()

template<typename PropertyType >
SegmentTrees< PropertyType >::~SegmentTrees

Member Function Documentation

◆ AddBoundary() [1/2]

template<typename PropertyType = size_t>
void SegmentTrees< PropertyType >::AddBoundary ( const Boundary _b)
inline

Add a boundary

Parameters
_bBoundaries.

◆ AddBoundary() [2/2]

template<typename PropertyType >
void SegmentTrees< PropertyType >::AddBoundary ( const Boundary _b,
PropertyType  _p 
)

Add a boundary with a property index

Parameters
_bBoundaries.
_pProperty index

◆ BuildSegmentTrees()

template<typename PropertyType >
void SegmentTrees< PropertyType >::BuildSegmentTrees

Build the Segment Trees.

◆ FindEnclosingBoundaries()

template<typename PropertyType >
size_t SegmentTrees< PropertyType >::FindEnclosingBoundaries ( const Point3d &  _p,
double  _e = 0.5*numeric_limits<float>::epsilon() 
)

Finds the Number of Enclosing Boundaries

Parameters
_pPoint to search
_eRange of the point
Returns
Number of enclosing boundaries

◆ GetDimension()

template<typename PropertyType = size_t>
size_t SegmentTrees< PropertyType >::GetDimension ( )
inline

◆ GetNumberEnclosingBoundaries()

template<typename PropertyType = size_t>
size_t SegmentTrees< PropertyType >::GetNumberEnclosingBoundaries ( )
inline

◆ GetOutputBoundary()

template<typename PropertyType = size_t>
const Boundary* SegmentTrees< PropertyType >::GetOutputBoundary ( size_t  _i)
inline

◆ GetOutputBoundaryIndex()

template<typename PropertyType = size_t>
size_t SegmentTrees< PropertyType >::GetOutputBoundaryIndex ( size_t  _i)
inline

◆ GetOutputBoundaryProperty()

template<typename PropertyType = size_t>
PropertyType SegmentTrees< PropertyType >::GetOutputBoundaryProperty ( size_t  _i)
inline

◆ SetDimension()

template<typename PropertyType = size_t>
void SegmentTrees< PropertyType >::SetDimension ( size_t  _d = 3)
inline

The documentation for this class was generated from the following file: