OOFEM  2.4
OOFEM.org - Object Oriented Finite Element Solver
oofem::OctreeSpatialLocalizerT< T > Class Template Reference

Templated octree spatial localizer. More...

#include <octreelocalizert.h>

+ Collaboration diagram for oofem::OctreeSpatialLocalizerT< T >:

Public Member Functions

 OctreeSpatialLocalizerT ()
 Constructor. More...
 
 ~OctreeSpatialLocalizerT ()
 Destructor. More...
 
void clear ()
 
int init (BoundingBox &BBX, int initialDivision=0)
 Initilizes the octree structure. More...
 
int insertMemberIntoOctree (T &memberID, SL_Insertion_Functor< T > &functor)
 Inserts member into the octree using functor for the evaluation. More...
 
int removeMemberFromOctree (T &memberID, SL_Insertion_Functor< T > &functor)
 Removes member from octree using insertion functor - NOT IN USE. More...
 
void giveDataOnFilter (std::list< T > &answer, SL_Evaluation_Functor< T > &filter)
 Evalutes the search accoring used functor a fills the list with results - NOT IN USE. More...
 
void proceedDataOnFilterAndRemoveFromOctree (std::list< T > &answer, SL_Evaluation_Functor< T > &filter, SL_Insertion_Functor< T > &insertor, Timer &searchingTimer)
 Applies the evaluation functor, fills the answer list with results and removes found object from octree USED BY DELAUNAY TRIANGULATOR. More...
 
const char * giveClassName () const
 
int giveOctreeMaskValue (int indx)
 
void giveOctreeMask (IntArray &answer)
 
CellPtrType giveRootCell ()
 
void giveReport ()
 

Protected Types

typedef OctantRecT< T > * CellPtrType
 
typedef std::list< T > dataContainerType
 
typedef std::list< T >::iterator listIteratorType
 
typedef std::list< T >::const_iterator listConstIteratorType
 

Protected Member Functions

CellPtrType findTerminalContaining (CellPtrType startCell, const FloatArray &coords)
 Returns terminal octant cell containing node with coords. More...
 
int giveCellDepth (CellPtrType cell)
 Returns the depth of the cell. More...
 
int insertMemberIntoCell (T &memberID, SL_Insertion_Functor< T > &functor, CellPtrType cell)
 Inserts member into the cell by evaluating the insertion functor Method is called recursivelly until terminal cell is reached. More...
 
int removeMemberFromCell (T &memberID, SL_Insertion_Functor< T > &functor, CellPtrType cell)
 Removes member from cell using insertion functor to ensure member is contained in. More...
 
void giveMaxTreeDepthFrom (CellPtrType root, int &maxDepth)
 Gives the maximal tree depth from given cell. More...
 
void giveListOfTerminalCellsInBoundingBox (std::list< CellPtrType > &cellList, BoundingBox &BBX, CellPtrType currentCell)
 Gives a list of terminal cells in a bounding box. More...
 

Protected Attributes

IntArray octreeMask
 
CellPtrType rootCell
 
int maxDepthReached
 

Friends

class OctantRecT< T >
 

Detailed Description

template<class T>
class oofem::OctreeSpatialLocalizerT< T >

Templated octree spatial localizer.

Author
David Krybus

Definition at line 62 of file octreelocalizert.h.

Member Typedef Documentation

template<class T>
typedef OctantRecT< T >* oofem::OctreeSpatialLocalizerT< T >::CellPtrType
protected

Definition at line 817 of file octreelocalizert.h.

template<class T>
typedef std :: list< T > oofem::OctreeSpatialLocalizerT< T >::dataContainerType
protected

Definition at line 818 of file octreelocalizert.h.

template<class T>
typedef std :: list< T >:: const_iterator oofem::OctreeSpatialLocalizerT< T >::listConstIteratorType
protected

Definition at line 820 of file octreelocalizert.h.

template<class T>
typedef std :: list< T >:: iterator oofem::OctreeSpatialLocalizerT< T >::listIteratorType
protected

Definition at line 819 of file octreelocalizert.h.

Constructor & Destructor Documentation

template<class T>
oofem::OctreeSpatialLocalizerT< T >::OctreeSpatialLocalizerT ( )
inline

Constructor.

Definition at line 828 of file octreelocalizert.h.

template<class T>
oofem::OctreeSpatialLocalizerT< T >::~OctreeSpatialLocalizerT ( )
inline

Destructor.

Definition at line 833 of file octreelocalizert.h.

Member Function Documentation

template<class T>
void oofem::OctreeSpatialLocalizerT< T >::clear ( )
inline

Definition at line 839 of file octreelocalizert.h.

Referenced by oofem::UnstructuredGridField::initOctree().

template<class T>
CellPtrType oofem::OctreeSpatialLocalizerT< T >::findTerminalContaining ( CellPtrType  startCell,
const FloatArray coords 
)
inlineprotected

Returns terminal octant cell containing node with coords.

Definition at line 983 of file octreelocalizert.h.

template<class T>
int oofem::OctreeSpatialLocalizerT< T >::giveCellDepth ( CellPtrType  cell)
inlineprotected

Returns the depth of the cell.

Definition at line 1002 of file octreelocalizert.h.

template<class T>
const char* oofem::OctreeSpatialLocalizerT< T >::giveClassName ( ) const
inline

Definition at line 968 of file octreelocalizert.h.

template<class T>
void oofem::OctreeSpatialLocalizerT< T >::giveDataOnFilter ( std::list< T > &  answer,
SL_Evaluation_Functor< T > &  filter 
)
inline

Evalutes the search accoring used functor a fills the list with results - NOT IN USE.

Definition at line 882 of file octreelocalizert.h.

Referenced by oofem::UnstructuredGridField::evaluateAt().

template<class T>
void oofem::OctreeSpatialLocalizerT< T >::giveListOfTerminalCellsInBoundingBox ( std::list< CellPtrType > &  cellList,
BoundingBox BBX,
CellPtrType  currentCell 
)
inlineprotected

Gives a list of terminal cells in a bounding box.

Definition at line 1145 of file octreelocalizert.h.

template<class T>
void oofem::OctreeSpatialLocalizerT< T >::giveMaxTreeDepthFrom ( CellPtrType  root,
int &  maxDepth 
)
inlineprotected

Gives the maximal tree depth from given cell.

Definition at line 1128 of file octreelocalizert.h.

template<class T>
void oofem::OctreeSpatialLocalizerT< T >::giveOctreeMask ( IntArray answer)
inline

Definition at line 970 of file octreelocalizert.h.

template<class T>
void oofem::OctreeSpatialLocalizerT< T >::giveReport ( )
inline

Definition at line 972 of file octreelocalizert.h.

template<class T>
CellPtrType oofem::OctreeSpatialLocalizerT< T >::giveRootCell ( )
inline

Definition at line 971 of file octreelocalizert.h.

template<class T>
int oofem::OctreeSpatialLocalizerT< T >::init ( BoundingBox BBX,
int  initialDivision = 0 
)
inline

Initilizes the octree structure.

Definition at line 845 of file octreelocalizert.h.

Referenced by oofem::UnstructuredGridField::initOctree().

template<class T>
int oofem::OctreeSpatialLocalizerT< T >::insertMemberIntoCell ( T &  memberID,
SL_Insertion_Functor< T > &  functor,
CellPtrType  cell 
)
inlineprotected

Inserts member into the cell by evaluating the insertion functor Method is called recursivelly until terminal cell is reached.

Definition at line 1008 of file octreelocalizert.h.

template<class T>
int oofem::OctreeSpatialLocalizerT< T >::insertMemberIntoOctree ( T &  memberID,
SL_Insertion_Functor< T > &  functor 
)
inline

Inserts member into the octree using functor for the evaluation.

Definition at line 862 of file octreelocalizert.h.

Referenced by oofem::UnstructuredGridField::initOctree().

template<class T>
void oofem::OctreeSpatialLocalizerT< T >::proceedDataOnFilterAndRemoveFromOctree ( std::list< T > &  answer,
SL_Evaluation_Functor< T > &  filter,
SL_Insertion_Functor< T > &  insertor,
Timer searchingTimer 
)
inline

Applies the evaluation functor, fills the answer list with results and removes found object from octree USED BY DELAUNAY TRIANGULATOR.

Definition at line 924 of file octreelocalizert.h.

template<class T>
int oofem::OctreeSpatialLocalizerT< T >::removeMemberFromCell ( T &  memberID,
SL_Insertion_Functor< T > &  functor,
CellPtrType  cell 
)
inlineprotected

Removes member from cell using insertion functor to ensure member is contained in.

Definition at line 1100 of file octreelocalizert.h.

template<class T>
int oofem::OctreeSpatialLocalizerT< T >::removeMemberFromOctree ( T &  memberID,
SL_Insertion_Functor< T > &  functor 
)
inline

Removes member from octree using insertion functor - NOT IN USE.

Definition at line 875 of file octreelocalizert.h.

Friends And Related Function Documentation

template<class T>
friend class OctantRecT< T >
friend

Definition at line 1166 of file octreelocalizert.h.

Member Data Documentation

template<class T>
int oofem::OctreeSpatialLocalizerT< T >::maxDepthReached
protected

Definition at line 824 of file octreelocalizert.h.

template<class T>
IntArray oofem::OctreeSpatialLocalizerT< T >::octreeMask
protected

Definition at line 821 of file octreelocalizert.h.

template<class T>
CellPtrType oofem::OctreeSpatialLocalizerT< T >::rootCell
protected

Definition at line 822 of file octreelocalizert.h.


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

This page is part of the OOFEM documentation. Copyright (c) 2011 Borek Patzak
Project e-mail: info@oofem.org
Generated at Tue Jan 2 2018 20:07:39 for OOFEM by doxygen 1.8.11 written by Dimitri van Heesch, © 1997-2011