My Project
 All Classes Namespaces Files Functions Variables Enumerations Enumerator Friends Macros
Classes | Public Member Functions | Friends | List of all members
Octree< ValueType > Class Template Reference

#include <Octree.hpp>

Public Member Functions

double RayTrace (const Vector &startPoint, const Vector &directionVector) const
 
ValueType Query (const Vector &queryPoint) const
 
double InterpolatingQuery (const Vector &queryPoint) const
 
 Octree ()
 
 Octree (const Octree< ValueType > &octreeToCopy)
 
 Octree (const Vector &desiredResolution, const Vector &lowerBounds, const Vector &upperBounds, const OctreeType::EnumOctreeType octreeType)
 
Octreeoperator= (Octree< ValueType > rightHandSide)
 
 ~Octree ()
 
bool AddPoint (const Vector &point)
 
long AddPoints (const Vector points[], const long numPoints)
 
bool AddData (const Vector point, const ValueType data)
 
long AddData (const Vector points[], const ValueType data[], const long numDatas)
 
void FillIfEmpty (const Vector &point, ValueType fillValue)
 
void FillIfEmpty (const Vector points[], long numPoints, ValueType fillValue)
 
void Collapse (void)
 
bool SaveToFile (const char *filename) const
 
bool LoadFromFile (const char *filename)
 
void Print (void) const
 
Vector GetTrueResolution (void) const
 
Vector GetLowerBounds (void) const
 
Vector GetUpperBounds (void) const
 
void FillSmallestResolutionLeafAtPointIfEmpty (const Vector &point, ValueType fillValue)
 
template<>
double RayTrace (const Vector &startPoint, const Vector &directionVector) const
 

Friends

class OctreeNode
 

Constructor & Destructor Documentation

template<class ValueType >
Octree< ValueType >::Octree ( )
template<class ValueType>
Octree< ValueType >::Octree ( const Octree< ValueType > &  octreeToCopy)
template<class ValueType>
Octree< ValueType >::Octree ( const Vector desiredResolution,
const Vector lowerBounds,
const Vector upperBounds,
const OctreeType::EnumOctreeType  octreeType 
)
template<class ValueType >
Octree< ValueType >::~Octree ( )

Member Function Documentation

template<class ValueType>
bool Octree< ValueType >::AddData ( const Vector  point,
const ValueType  data 
)
template<class ValueType>
long Octree< ValueType >::AddData ( const Vector  points[],
const ValueType  data[],
const long  numDatas 
)
template<class ValueType >
bool Octree< ValueType >::AddPoint ( const Vector point)

Adding points: Adding points will switch based on the OctreeType for determining what is done as a result of a point being added. See OctreeNode.tcc for the various AddPoint methods or Octree.hpp for a description of the Octree Types. The return indicates the number of points added.

If the point is outside the bounds of the Octree, it expands to include the new point. This is not recomended as it can result in unnecessarily large Octrees.

template<class ValueType >
long Octree< ValueType >::AddPoints ( const Vector  points[],
const long  numPoints 
)
template<class ValueType >
void Octree< ValueType >::Collapse ( void  )
template<class ValueType>
void Octree< ValueType >::FillIfEmpty ( const Vector point,
ValueType  fillValue 
)
template<class ValueType>
void Octree< ValueType >::FillIfEmpty ( const Vector  points[],
long  numPoints,
ValueType  fillValue 
)
template<class ValueType>
void Octree< ValueType >::FillSmallestResolutionLeafAtPointIfEmpty ( const Vector point,
ValueType  fillValue 
)
template<class ValueType>
Vector Octree< ValueType >::GetLowerBounds ( void  ) const
inline
template<class ValueType>
Vector Octree< ValueType >::GetTrueResolution ( void  ) const
inline
template<class ValueType>
Vector Octree< ValueType >::GetUpperBounds ( void  ) const
inline
template<class ValueType >
double Octree< ValueType >::InterpolatingQuery ( const Vector queryPoint) const
template<class ValueType >
bool Octree< ValueType >::LoadFromFile ( const char *  filename)
template<class ValueType>
Octree< ValueType > & Octree< ValueType >::operator= ( Octree< ValueType >  rightHandSide)
template<class ValueType >
void Octree< ValueType >::Print ( void  ) const
template<class ValueType >
ValueType Octree< ValueType >::Query ( const Vector queryPoint) const
template<class ValueType >
double Octree< ValueType >::RayTrace ( const Vector startPoint,
const Vector directionVector 
) const
template<>
double Octree< PlanarFitNode >::RayTrace ( const Vector startPoint,
const Vector directionVector 
) const
template<class ValueType >
bool Octree< ValueType >::SaveToFile ( const char *  filename) const

Friends And Related Function Documentation

template<class ValueType>
friend class OctreeNode
friend

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