IndexedTreeDataStrategy< InheritedStrategy, Data >::StrategyBase< Base > Class Template Reference

#include <VisionX/components/pointcloud_processor/EfficientRANSACPrimitiveExtractor/EfficientRANSAC/GfxTL/IndexedTreeDataStrategy.h>

+ Inheritance diagram for IndexedTreeDataStrategy< InheritedStrategy, Data >::StrategyBase< Base >:

Public Types

typedef Base::CellType CellType
 
typedef IndexedTreeDataCore< Data >::DataType DataType
 
typedef IndexedTreeDataStrategy< InheritedStrategy, Data >::HandleType HandleType
 
typedef IndexedTreeDataStrategy< InheritedStrategy, Data >::IndicesType IndicesType
 
typedef DataType::PointType PointType
 
typedef PointType::ScalarType ScalarType
 
typedef InheritedStrategy::StrategyBase< Base > StrategyBaseType
 

Public Member Functions

void Add (const DataType &data)
 
void BoundingCube (AACube< PointType > *cube)
 
template<class BV>
void BoundingVolume (BV *bv)
 
void Clear ()
 
void PointsInCell (const CellType &cell, std::vector< size_t > *points) const
 
virtual void RefreshWithNewTreeData (const AACube< PointType > &bc)
 
template<class BoundingVolume>
void Remove (const BoundingVolume &bv)
 
size_t Size () const
 
 StrategyBase ()
 
template<class T>
void Transform (const T &t)
 
template<class T>
void Transform (size_t i, const T &t)
 
template<class TFunc>
void TransformFunc (TFunc tfunc)
 
void Translate (const PointType &translation)
 
size_t Translate (HandleType i) const
 

Protected Member Functions

void BoundingCube (const CellType &data, AACube< PointType > *cube)
 
template<class BoundingVolume>
void RootCellData (const BoundingVolume &bv, CellType *cell)
 
void SplitAlongAxis (const CellType &cell, unsigned int axis, ScalarType s, CellType *left, CellType *right)
 

Detailed Description

template<class InheritedStrategy, class Data>
template<class Base>
class GfxTL::IndexedTreeDataStrategy< InheritedStrategy, Data >::StrategyBase< Base >

Definition at line 270 of file IndexedTreeDataStrategy.h.

Member Typedef Documentation

◆ CellType

template<class InheritedStrategy, class Data>
template<class Base>
typedef Base::CellType CellType

Definition at line 275 of file IndexedTreeDataStrategy.h.

◆ DataType

template<class InheritedStrategy, class Data>
template<class Base>
typedef IndexedTreeDataCore<Data>::DataType DataType

Definition at line 276 of file IndexedTreeDataStrategy.h.

◆ HandleType

template<class InheritedStrategy, class Data>
template<class Base>
typedef IndexedTreeDataStrategy<InheritedStrategy,Data>::HandleType HandleType

Definition at line 280 of file IndexedTreeDataStrategy.h.

◆ IndicesType

template<class InheritedStrategy, class Data>
template<class Base>
typedef IndexedTreeDataStrategy<InheritedStrategy,Data>::IndicesType IndicesType

Definition at line 282 of file IndexedTreeDataStrategy.h.

◆ PointType

template<class InheritedStrategy, class Data>
template<class Base>
typedef DataType::PointType PointType

Definition at line 277 of file IndexedTreeDataStrategy.h.

◆ ScalarType

template<class InheritedStrategy, class Data>
template<class Base>
typedef PointType::ScalarType ScalarType

Definition at line 278 of file IndexedTreeDataStrategy.h.

◆ StrategyBaseType

template<class InheritedStrategy, class Data>
template<class Base>
typedef InheritedStrategy::StrategyBase<Base> StrategyBaseType

Definition at line 283 of file IndexedTreeDataStrategy.h.

Constructor & Destructor Documentation

◆ StrategyBase()

template<class InheritedStrategy, class Data>
template<class Base>
StrategyBase ( )
inline

Definition at line 285 of file IndexedTreeDataStrategy.h.

Member Function Documentation

◆ Add()

template<class InheritedStrategy, class Data>
template<class Base>
void Add ( const DataType & data)
inline

Definition at line 332 of file IndexedTreeDataStrategy.h.

+ Here is the call graph for this function:

◆ BoundingCube() [1/2]

template<class InheritedStrategy, class Data>
template<class Base>
void BoundingCube ( AACube< PointType > * cube)
inline

Definition at line 319 of file IndexedTreeDataStrategy.h.

+ Here is the call graph for this function:

◆ BoundingCube() [2/2]

template<class InheritedStrategy, class Data>
template<class Base>
void BoundingCube ( const CellType & data,
AACube< PointType > * cube )
inlineprotected

Definition at line 463 of file IndexedTreeDataStrategy.h.

◆ BoundingVolume()

template<class InheritedStrategy, class Data>
template<class Base>
template<class BV>
void BoundingVolume ( BV * bv)
inline

Definition at line 326 of file IndexedTreeDataStrategy.h.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ Clear()

template<class InheritedStrategy, class Data>
template<class Base>
void Clear ( )
inline

Definition at line 290 of file IndexedTreeDataStrategy.h.

◆ PointsInCell()

template<class InheritedStrategy, class Data>
template<class Base>
void PointsInCell ( const CellType & cell,
std::vector< size_t > * points ) const
inline

Definition at line 309 of file IndexedTreeDataStrategy.h.

+ Here is the call graph for this function:

◆ RefreshWithNewTreeData()

template<class InheritedStrategy, class Data>
template<class Base>
virtual void RefreshWithNewTreeData ( const AACube< PointType > & bc)
inlinevirtual

Definition at line 385 of file IndexedTreeDataStrategy.h.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ Remove()

template<class InheritedStrategy, class Data>
template<class Base>
template<class BoundingVolume>
void Remove ( const BoundingVolume & bv)
inline

Definition at line 377 of file IndexedTreeDataStrategy.h.

+ Here is the call graph for this function:

◆ RootCellData()

template<class InheritedStrategy, class Data>
template<class Base>
template<class BoundingVolume>
void RootCellData ( const BoundingVolume & bv,
CellType * cell )
inlineprotected

Definition at line 401 of file IndexedTreeDataStrategy.h.

+ Here is the call graph for this function:

◆ Size()

template<class InheritedStrategy, class Data>
template<class Base>
size_t Size ( ) const
inline

Definition at line 303 of file IndexedTreeDataStrategy.h.

+ Here is the caller graph for this function:

◆ SplitAlongAxis()

template<class InheritedStrategy, class Data>
template<class Base>
void SplitAlongAxis ( const CellType & cell,
unsigned int axis,
ScalarType s,
CellType * left,
CellType * right )
inlineprotected

Definition at line 428 of file IndexedTreeDataStrategy.h.

◆ Transform() [1/2]

template<class InheritedStrategy, class Data>
template<class Base>
template<class T>
void Transform ( const T & t)
inline

Definition at line 342 of file IndexedTreeDataStrategy.h.

+ Here is the call graph for this function:

◆ Transform() [2/2]

template<class InheritedStrategy, class Data>
template<class Base>
template<class T>
void Transform ( size_t i,
const T & t )
inline

Definition at line 351 of file IndexedTreeDataStrategy.h.

+ Here is the call graph for this function:

◆ TransformFunc()

template<class InheritedStrategy, class Data>
template<class Base>
template<class TFunc>
void TransformFunc ( TFunc tfunc)
inline

Definition at line 368 of file IndexedTreeDataStrategy.h.

+ Here is the call graph for this function:

◆ Translate() [1/2]

template<class InheritedStrategy, class Data>
template<class Base>
void Translate ( const PointType & translation)
inline

Definition at line 359 of file IndexedTreeDataStrategy.h.

+ Here is the call graph for this function:

◆ Translate() [2/2]

template<class InheritedStrategy, class Data>
template<class Base>
size_t Translate ( HandleType i) const
inline

Definition at line 297 of file IndexedTreeDataStrategy.h.

+ Here is the caller graph for this function:

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