OOFEM
2.4
OOFEM.org - Object Oriented Finite Element Solver
|
Templated octree cell containing data of T type. More...
#include <octreelocalizert.h>
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. More... | |
~OctantRecT () | |
Destructor. More... | |
CellPtrType | giveParent () |
void | giveOrigin (FloatArray &answer) |
Gives the cell origin. More... | |
double | giveSize () |
Gives the size of the cell. More... | |
int | containsPoint (const FloatArray &coords) |
Gives 1 if a given point is contained in the cell, 0 otherwise. More... | |
CellPtrType | giveChild (int xi, int yi, int zi) |
Gives the Child at given local indices. More... | |
int | giveChildContainingPoint (CellPtrType *child, const FloatArray &coords) |
Returns the child containing given point. More... | |
int | isTerminalOctant () |
int | divideLocally (int level, const IntArray &octantMask) |
Divide receiver further, creating corresponding children. More... | |
OctantRec::BoundingBoxStatus | testBoundingBox (BoundingBox &testedBBX) |
Tests the position of a bounding box in relation to the octant cell. More... | |
boundingSphereStatus | testBoundingSphere (const FloatArray &coords, double radius) |
Tests the position of a bounding spere in relation to the octant cell. More... | |
std::list< T > * | giveDataList () |
Return reference to member List. More... | |
void | deleteDataList () |
Removes the data list. More... | |
listIteratorType | addMember (T &member) |
Adds the object in to the data list returning iterator position to the object in the list. More... | |
void | removeMember (T &member) |
Removes member from data list. More... | |
Protected Attributes | |
LocalizerPtrType | localizer |
Octree localizer whose part of is the cell. More... | |
CellPtrType | parent |
Parent octree cell. More... | |
CellPtrType | child [2][2][2] |
Child cells. More... | |
FloatArray | origin |
Origin of the cell. More... | |
double | size |
Size of the cell. More... | |
std::list< T > * | dataList |
Octant cell member list. More... | |
Friends | |
class | OctreeSpatialLocalizerT< T > |
Templated octree cell containing data of T type.
Definition at line 154 of file octreelocalizert.h.
typedef OctantRecT< T >* oofem::OctantRecT< T >::CellPtrType |
Definition at line 158 of file octreelocalizert.h.
typedef std :: list< T >:: iterator oofem::OctantRecT< T >::listIteratorType |
Definition at line 159 of file octreelocalizert.h.
typedef OctreeSpatialLocalizerT< T >* oofem::OctantRecT< T >::LocalizerPtrType |
Definition at line 157 of file octreelocalizert.h.
|
inline |
Constructor.
Definition at line 179 of file octreelocalizert.h.
|
inline |
Destructor.
Definition at line 197 of file octreelocalizert.h.
|
inline |
Adds the object in to the data list returning iterator position to the object in the list.
Definition at line 471 of file octreelocalizert.h.
Referenced by oofem::OctreeSpatialLocalizerT< oofem::UnstructuredGridField::Cell >::insertMemberIntoCell().
|
inline |
Gives 1 if a given point is contained in the cell, 0 otherwise.
coords | coordinates of tested point. |
Definition at line 227 of file octreelocalizert.h.
Referenced by oofem::InsertNode::evaluate(), and oofem::OctreeSpatialLocalizerT< oofem::UnstructuredGridField::Cell >::findTerminalContaining().
|
inline |
Removes the data list.
Definition at line 463 of file octreelocalizert.h.
Referenced by oofem::OctreeSpatialLocalizerT< oofem::UnstructuredGridField::Cell >::insertMemberIntoCell().
|
inline |
Divide receiver further, creating corresponding children.
level | Depth of tree. |
octantMask | Masking of dimensions. |
Definition at line 307 of file octreelocalizert.h.
Referenced by oofem::OctantRecT< oofem::UnstructuredGridField::Cell >::divideLocally(), oofem::OctreeSpatialLocalizerT< oofem::UnstructuredGridField::Cell >::init(), and oofem::OctreeSpatialLocalizerT< oofem::UnstructuredGridField::Cell >::insertMemberIntoCell().
|
inline |
Gives the Child at given local indices.
xi | First index. |
yi | Second index. |
zi | Third index. |
Definition at line 249 of file octreelocalizert.h.
Referenced by oofem::OctreeSpatialLocalizerT< oofem::UnstructuredGridField::Cell >::giveListOfTerminalCellsInBoundingBox(), oofem::OctreeSpatialLocalizerT< oofem::UnstructuredGridField::Cell >::giveMaxTreeDepthFrom(), oofem::OctreeSpatialLocalizerT< oofem::UnstructuredGridField::Cell >::insertMemberIntoCell(), and oofem::OctreeSpatialLocalizerT< oofem::UnstructuredGridField::Cell >::removeMemberFromCell().
|
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.
child | |
coords | Coordinate which child should contain. |
Definition at line 268 of file octreelocalizert.h.
Referenced by oofem::OctreeSpatialLocalizerT< oofem::UnstructuredGridField::Cell >::findTerminalContaining().
|
inline |
Return reference to member List.
Definition at line 454 of file octreelocalizert.h.
Referenced by oofem::OctreeSpatialLocalizerT< oofem::UnstructuredGridField::Cell >::giveDataOnFilter(), oofem::OctreeSpatialLocalizerT< oofem::UnstructuredGridField::Cell >::insertMemberIntoCell(), and oofem::OctreeSpatialLocalizerT< oofem::UnstructuredGridField::Cell >::proceedDataOnFilterAndRemoveFromOctree().
|
inline |
Gives the cell origin.
answer | Cell origin. |
Definition at line 220 of file octreelocalizert.h.
|
inline |
Definition at line 215 of file octreelocalizert.h.
|
inline |
Gives the size of the cell.
Definition at line 222 of file octreelocalizert.h.
Referenced by oofem::OctreeSpatialLocalizerT< oofem::UnstructuredGridField::Cell >::giveCellDepth().
|
inline |
Definition at line 293 of file octreelocalizert.h.
Referenced by oofem::OctreeSpatialLocalizerT< oofem::UnstructuredGridField::Cell >::findTerminalContaining(), oofem::OctreeSpatialLocalizerT< oofem::UnstructuredGridField::Cell >::giveListOfTerminalCellsInBoundingBox(), oofem::OctreeSpatialLocalizerT< oofem::UnstructuredGridField::Cell >::insertMemberIntoCell(), and oofem::OctreeSpatialLocalizerT< oofem::UnstructuredGridField::Cell >::removeMemberFromCell().
|
inline |
Removes member from data list.
Definition at line 478 of file octreelocalizert.h.
Referenced by oofem::OctreeSpatialLocalizerT< oofem::UnstructuredGridField::Cell >::removeMemberFromCell().
|
inline |
Tests the position of a bounding box in relation to the octant cell.
testedBBX | Tested bounding box |
Definition at line 351 of file octreelocalizert.h.
Referenced by oofem::UnstructuredGridField::CellInsertionFunctor::evaluate(), oofem::OctreeSpatialLocalizerT< oofem::UnstructuredGridField::Cell >::giveDataOnFilter(), and oofem::OctreeSpatialLocalizerT< oofem::UnstructuredGridField::Cell >::giveListOfTerminalCellsInBoundingBox().
|
inline |
Tests the position of a bounding spere in relation to the octant cell.
coords | Coordinates of the spere center |
radius | Radius of the sphere |
Definition at line 396 of file octreelocalizert.h.
Referenced by oofem::InsertTriangleBasedOnCircumcircle::evaluate().
|
friend |
Definition at line 480 of file octreelocalizert.h.
|
protected |
Child cells.
Definition at line 167 of file octreelocalizert.h.
|
protected |
Octant cell member list.
Definition at line 174 of file octreelocalizert.h.
|
protected |
Octree localizer whose part of is the cell.
Definition at line 163 of file octreelocalizert.h.
|
protected |
Origin of the cell.
Definition at line 169 of file octreelocalizert.h.
|
protected |
Parent octree cell.
Definition at line 165 of file octreelocalizert.h.
|
protected |
Size of the cell.
Definition at line 171 of file octreelocalizert.h.