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

#include <octreelocalizert.h>

Collaboration diagram for oofem::OctantRecT< T >:

Public Types

typedef OctreeSpatialLocalizerT< T > * LocalizerPtrType
typedef OctantRecT< T > * CellPtrType
typedef std::list< T >::iterator listIteratorType

Public Member Functions

 OctantRecT (LocalizerPtrType loc, CellPtrType parent, FloatArray &origin, double size)
 Constructor.
 ~OctantRecT ()
 Destructor.
CellPtrType giveParent ()
void giveOrigin (FloatArray &answer)
double giveSize ()
 Gives the size of the cell.
int containsPoint (const FloatArray &coords)
CellPtrType giveChild (int xi, int yi, int zi)
int giveChildContainingPoint (CellPtrType *child, const FloatArray &coords)
int isTerminalOctant ()
int divideLocally (int level, const IntArray &octantMask)
OctantRec::BoundingBoxStatus testBoundingBox (BoundingBox &A)
boundingSphereStatus testBoundingSphere (const FloatArray &coords, double radius)
std ::list< T > * giveDataList ()
 Return reference to member List.
void deleteDataList ()
 Removes the data list.
listIteratorType addMember (T &member)
 Adds the object in to the data list returning iterator position to the object in the list.
void removeMember (T &member)
 Removes member from data list.

Protected Attributes

LocalizerPtrType localizer
 Octree localizer whose part of is the cell.
CellPtrType parent
 Parent octree cell.
CellPtrType child [2][2][2]
 Child cells.
FloatArray origin
 Origin of the cell.
double size
 Size of the cell.
std ::list< T > * dataList
 Octant cell member list.

Friends

class OctreeSpatialLocalizerT< T >

Detailed Description

template<class T>
class oofem::OctantRecT< T >

Templated octree cell containing data of T type

Author
David Krybus

Definition at line 154 of file octreelocalizert.h.

Member Typedef Documentation

◆ CellPtrType

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

Definition at line 158 of file octreelocalizert.h.

◆ listIteratorType

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

Definition at line 159 of file octreelocalizert.h.

◆ LocalizerPtrType

template<class T>
typedef OctreeSpatialLocalizerT< T >* oofem::OctantRecT< T >::LocalizerPtrType

Definition at line 157 of file octreelocalizert.h.

Constructor & Destructor Documentation

◆ OctantRecT()

template<class T>
oofem::OctantRecT< T >::OctantRecT ( LocalizerPtrType loc,
CellPtrType parent,
FloatArray & origin,
double size )
inline

Constructor.

Definition at line 179 of file octreelocalizert.h.

Referenced by oofem::OctantRecT< T > *::divideLocally().

◆ ~OctantRecT()

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

Destructor.

Definition at line 197 of file octreelocalizert.h.

Member Function Documentation

◆ addMember()

template<class T>
listIteratorType oofem::OctantRecT< T >::addMember ( T & member)
inline

Adds the object in to the data list returning iterator position to the object in the list.

Definition at line 449 of file octreelocalizert.h.

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

◆ containsPoint()

template<class T>
int oofem::OctantRecT< T >::containsPoint ( const FloatArray & coords)
inline

◆ deleteDataList()

template<class T>
void oofem::OctantRecT< T >::deleteDataList ( )
inline

Removes the data list.

Definition at line 441 of file octreelocalizert.h.

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

◆ divideLocally()

template<class T>
int oofem::OctantRecT< T >::divideLocally ( int level,
const IntArray & octantMask )
inline

Divide receiver further, creating corresponding children.

Parameters
levelDepth of tree.
octantMaskMasking of dimensions.

Definition at line 306 of file octreelocalizert.h.

Referenced by oofem::OctantRecT< T > *::divideLocally(), oofem::OctreeSpatialLocalizerT< T > *::init(), and oofem::OctreeSpatialLocalizerT< T > *::insertMemberIntoCell().

◆ giveChild()

template<class T>
CellPtrType oofem::OctantRecT< T >::giveChild ( int xi,
int yi,
int zi )
inline

Gives the Child at given local indices.

Parameters
xiFirst index.
yiSecond index.
ziThird index.
Returns
Child cell with given local cell coordinates.

Definition at line 249 of file octreelocalizert.h.

Referenced by oofem::OctreeSpatialLocalizerT< T > *::giveListOfTerminalCellsInBoundingBox(), oofem::OctreeSpatialLocalizerT< T > *::giveMaxTreeDepthFrom(), oofem::OctreeSpatialLocalizerT< T > *::insertMemberIntoCell(), and oofem::OctreeSpatialLocalizerT< T > *::removeMemberFromCell().

◆ giveChildContainingPoint()

template<class T>
int oofem::OctantRecT< T >::giveChildContainingPoint ( CellPtrType * child,
const FloatArray & coords )
inline

Returns the child containing given point. If not full 3d coordinates are provided, then only provided coordinates are taken into account, assuming remaining to be same as origin. If point is contained by receiver, corresponding child is set, otherwise. child is set to NULL.

Parameters
child
coordsCoordinate which child should contain.
Returns
Child status.

Definition at line 267 of file octreelocalizert.h.

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

◆ giveDataList()

◆ giveOrigin()

template<class T>
void oofem::OctantRecT< T >::giveOrigin ( FloatArray & answer)
inline

Gives the cell origin.

Parameters
answerCell origin.

Definition at line 220 of file octreelocalizert.h.

◆ giveParent()

template<class T>
CellPtrType oofem::OctantRecT< T >::giveParent ( )
inline
Returns
Reference to parent; NULL if root.

Definition at line 215 of file octreelocalizert.h.

◆ giveSize()

template<class T>
double oofem::OctantRecT< T >::giveSize ( )
inline

Gives the size of the cell.

Definition at line 222 of file octreelocalizert.h.

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

◆ isTerminalOctant()

◆ removeMember()

template<class T>
void oofem::OctantRecT< T >::removeMember ( T & member)
inline

Removes member from data list.

Definition at line 456 of file octreelocalizert.h.

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

◆ testBoundingBox()

template<class T>
OctantRec::BoundingBoxStatus oofem::OctantRecT< T >::testBoundingBox ( BoundingBox & A)
inline

Tests the position of a bounding box in relation to the octant cell

Parameters
testedBBXTested bounding box
Returns
BoundingBoxStatus status

Definition at line 349 of file octreelocalizert.h.

Referenced by oofem::UnstructuredGridField::CellInsertionFunctor::evaluate(), oofem::OctreeSpatialLocalizerT< T > *::giveDataOnFilter(), and oofem::OctreeSpatialLocalizerT< T > *::giveListOfTerminalCellsInBoundingBox().

◆ testBoundingSphere()

template<class T>
boundingSphereStatus oofem::OctantRecT< T >::testBoundingSphere ( const FloatArray & coords,
double radius )
inline

Tests the position of a bounding spere in relation to the octant cell

Parameters
coordsCoordinates of the spere center
radiusRadius of the sphere
Returns
boundingSpereStatus status

Definition at line 374 of file octreelocalizert.h.

Referenced by oofem::InsertTriangleBasedOnCircumcircle::evaluate().

◆ OctreeSpatialLocalizerT< T >

template<class T>
friend class OctreeSpatialLocalizerT< T >
friend

Definition at line 456 of file octreelocalizert.h.

Member Data Documentation

◆ child

template<class T>
CellPtrType oofem::OctantRecT< T >::child[2][2][2]
protected

Child cells.

Definition at line 167 of file octreelocalizert.h.

◆ dataList

template<class T>
std :: list< T >* oofem::OctantRecT< T >::dataList
protected

Octant cell member list.

Definition at line 174 of file octreelocalizert.h.

◆ localizer

template<class T>
LocalizerPtrType oofem::OctantRecT< T >::localizer
protected

Octree localizer whose part of is the cell.

Definition at line 163 of file octreelocalizert.h.

◆ origin

template<class T>
FloatArray oofem::OctantRecT< T >::origin
protected

Origin of the cell.

Definition at line 169 of file octreelocalizert.h.

◆ parent

template<class T>
CellPtrType oofem::OctantRecT< T >::parent
protected

Parent octree cell.

Definition at line 165 of file octreelocalizert.h.

◆ size

template<class T>
double oofem::OctantRecT< T >::size
protected

Size of the cell.

Definition at line 171 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