OOFEM 3.0
Loading...
Searching...
No Matches
oofem::OctreeSpatialLocalizerT< T > Class Template Reference

#include <octreelocalizert.h>

Collaboration diagram for oofem::OctreeSpatialLocalizerT< T >:

Public Member Functions

 OctreeSpatialLocalizerT ()
 Constructor.
 ~OctreeSpatialLocalizerT ()
 Destructor.
void clear ()
int init (BoundingBox &BBX, int initialDivision=0)
 Initilizes the octree structure.
int insertMemberIntoOctree (T &memberID, SL_Insertion_Functor< T > &functor)
 Inserts member into the octree using functor for the evaluation.
int removeMemberFromOctree (T &memberID, SL_Insertion_Functor< T > &functor)
 Removes member from octree using insertion functor - NOT IN USE.
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.
void proceedDataOnFilterAndRemoveFromOctree (std ::list< T > &answer, SL_Evaluation_Functor< T > &filter, SL_Insertion_Functor< T > &insertor, Timer &searchingTimer)
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.
int giveCellDepth (CellPtrType cell)
 Returns the depth of the cell.
int insertMemberIntoCell (T &memberID, SL_Insertion_Functor< T > &functor, CellPtrType cell)
int removeMemberFromCell (T &memberID, SL_Insertion_Functor< T > &functor, CellPtrType cell)
 Removes member from cell using insertion functor to ensure member is contained in.
void giveMaxTreeDepthFrom (CellPtrType root, int &maxDepth)
 Gives the maximal tree depth from given cell.
void giveListOfTerminalCellsInBoundingBox (std ::list< CellPtrType > &cellList, BoundingBox &BBX, CellPtrType currentCell)
 Gives a list of terminal cells in a bounding box.

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 534 of file octreelocalizert.h.

Member Typedef Documentation

◆ CellPtrType

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

Definition at line 538 of file octreelocalizert.h.

◆ dataContainerType

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

Definition at line 539 of file octreelocalizert.h.

◆ listConstIteratorType

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

Definition at line 541 of file octreelocalizert.h.

◆ listIteratorType

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

Definition at line 540 of file octreelocalizert.h.

Constructor & Destructor Documentation

◆ OctreeSpatialLocalizerT()

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

Constructor.

Definition at line 549 of file octreelocalizert.h.

◆ ~OctreeSpatialLocalizerT()

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

Destructor.

Definition at line 554 of file octreelocalizert.h.

Member Function Documentation

◆ clear()

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

Definition at line 560 of file octreelocalizert.h.

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

◆ findTerminalContaining()

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 704 of file octreelocalizert.h.

Referenced by oofem::OctreeSpatialLocalizerT< T > *::giveDataOnFilter(), and oofem::OctreeSpatialLocalizerT< T > *::proceedDataOnFilterAndRemoveFromOctree().

◆ giveCellDepth()

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

◆ giveClassName()

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

Definition at line 689 of file octreelocalizert.h.

◆ giveDataOnFilter()

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 603 of file octreelocalizert.h.

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

◆ giveListOfTerminalCellsInBoundingBox()

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

◆ giveMaxTreeDepthFrom()

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

Gives the maximal tree depth from given cell.

Definition at line 849 of file octreelocalizert.h.

Referenced by oofem::OctreeSpatialLocalizerT< T > *::giveMaxTreeDepthFrom(), and oofem::OctreeSpatialLocalizerT< T > *::giveReport().

◆ giveOctreeMask()

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

Definition at line 691 of file octreelocalizert.h.

◆ giveOctreeMaskValue()

template<class T>
int oofem::OctreeSpatialLocalizerT< T >::giveOctreeMaskValue ( int indx)
inline

Definition at line 690 of file octreelocalizert.h.

◆ giveReport()

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

Definition at line 693 of file octreelocalizert.h.

◆ giveRootCell()

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

Definition at line 692 of file octreelocalizert.h.

◆ init()

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

Initilizes the octree structure.

Definition at line 566 of file octreelocalizert.h.

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

◆ insertMemberIntoCell()

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 729 of file octreelocalizert.h.

Referenced by oofem::OctreeSpatialLocalizerT< T > *::insertMemberIntoCell(), and oofem::OctreeSpatialLocalizerT< T > *::insertMemberIntoOctree().

◆ insertMemberIntoOctree()

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 583 of file octreelocalizert.h.

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

◆ proceedDataOnFilterAndRemoveFromOctree()

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 645 of file octreelocalizert.h.

◆ removeMemberFromCell()

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

◆ removeMemberFromOctree()

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 596 of file octreelocalizert.h.

◆ OctantRecT< T >

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

Definition at line 866 of file octreelocalizert.h.

Referenced by oofem::OctreeSpatialLocalizerT< T > *::init().

Member Data Documentation

◆ maxDepthReached

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

Definition at line 545 of file octreelocalizert.h.

◆ octreeMask

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

Definition at line 542 of file octreelocalizert.h.

◆ rootCell

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

Definition at line 543 of file octreelocalizert.h.


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

This page is part of the OOFEM-3.0 documentation. Copyright Copyright (C) 1994-2025 Borek Patzak Bořek Patzák
Project e-mail: oofem@fsv.cvut.cz
Generated at for OOFEM by doxygen 1.15.0 written by Dimitri van Heesch, © 1997-2011