|  | OGRE 2.1
    Object-Oriented Graphics Rendering Engine | 
A node in the volume octree. More...
#include <OgreVolumeOctreeNode.h>
 Inheritance diagram for Ogre::Volume::OctreeNode:
 Inheritance diagram for Ogre::Volume::OctreeNode:| Public Member Functions | |
| OctreeNode (const Vector3 &from=Vector3::ZERO, const Vector3 &to=Vector3::ZERO) | |
| Constructor. | |
| virtual | ~OctreeNode (void) | 
| Destructor. | |
| virtual OctreeNode * | createInstance (const Vector3 &from, const Vector3 &to) | 
| Factory method to create octree nodes. | |
| const Vector3 | getCenter (void) const | 
| Gets the center of this cell. | |
| const Vector3 | getCenterBack (void) const | 
| Gets the center of the corners 0, 1, 4, 5. | |
| const Vector3 | getCenterBackBottom (void) const | 
| Gets the center of the corners 0, 1. | |
| const Vector3 | getCenterBackLeft (void) const | 
| Gets the center of the corners 0, 4. | |
| const Vector3 | getCenterBackRight (void) const | 
| Gets the center of the corners 1, 5. | |
| const Vector3 | getCenterBackTop (void) const | 
| Gets the center of the corners 4, 5. | |
| const Vector3 | getCenterBottom (void) const | 
| Gets the center of the corners 0, 1, 2, 3. | |
| const Vector3 | getCenterFront (void) const | 
| Gets the center of the corners 2, 3, 6, 7. | |
| const Vector3 | getCenterFrontBottom (void) const | 
| Gets the center of the corners 2, 3. | |
| const Vector3 | getCenterFrontLeft (void) const | 
| Gets the center of the corners 3, 7. | |
| const Vector3 | getCenterFrontRight (void) const | 
| Gets the center of the corners 2, 6. | |
| const Vector3 | getCenterFrontTop (void) const | 
| Gets the center of the corners 6, 7. | |
| const Vector3 | getCenterLeft (void) const | 
| Gets the center of the corners 0, 3, 4, 6. | |
| const Vector3 | getCenterLeftBottom (void) const | 
| Gets the center of the corners 0, 3. | |
| const Vector3 | getCenterLeftTop (void) const | 
| Gets the center of the corners 4, 7. | |
| const Vector3 | getCenterRight (void) const | 
| Gets the center of the corners 1, 2, 5, 6. | |
| const Vector3 | getCenterRightBottom (void) const | 
| Gets the center of the corners 1, 2. | |
| const Vector3 | getCenterRightTop (void) const | 
| Gets the center of the corners 5, 6. | |
| const Vector3 | getCenterTop (void) const | 
| Gets the center of the corners 4, 5, 6, 7. | |
| const Vector4 | getCenterValue (void) const | 
| Gets the center value. | |
| const OctreeNode * | getChild (const size_t i) const | 
| Gets an octree child. | |
| const Vector3 | getCorner1 (void) const | 
| Gets the coordinate of corner 1. | |
| const Vector3 | getCorner2 (void) const | 
| Gets the coordinate of corner 2. | |
| const Vector3 | getCorner3 (void) const | 
| Gets the coordinate of corner 3. | |
| const Vector3 | getCorner4 (void) const | 
| Gets the coordinate of corner 4. | |
| const Vector3 | getCorner5 (void) const | 
| Gets the coordinate of corner 5. | |
| const Vector3 | getCorner7 (void) const | 
| Gets the coordinate of corner 7. | |
| const Vector3 & | getFrom (void) const | 
| Gets the back lower left corner of the cell. | |
| Entity * | getOctreeGrid (SceneManager *sceneManager) | 
| Getter for the octree debug visualization of the octree starting with this node. | |
| const Vector3 & | getTo (void) const | 
| Gets the front upper right corner of the cell. | |
| bool | isBorderBack (const OctreeNode &root) const | 
| Gets whether this cell is at the back of the given root cell. | |
| bool | isBorderBottom (const OctreeNode &root) const | 
| Gets whether this cell is at the bottom of the given root cell. | |
| bool | isBorderFront (const OctreeNode &root) const | 
| Gets whether this cell is at the front of the given root cell. | |
| bool | isBorderLeft (const OctreeNode &root) const | 
| Gets whether this cell is at the left of the given root cell. | |
| bool | isBorderRight (const OctreeNode &root) const | 
| Gets whether this cell is at the right of the given root cell. | |
| bool | isBorderTop (const OctreeNode &root) const | 
| Gets whether this cell is at the top of the given root cell. | |
| bool | isIsoSurfaceNear (void) const | 
| Gets whether the isosurface is somewhat near to this node. | |
| bool | isSubdivided (void) const | 
| Gets whether this cell has any children. | |
| void | operator delete (void *ptr) | 
| void | operator delete (void *ptr, const char *, int, const char *) | 
| void | operator delete (void *ptr, void *) | 
| void | operator delete[] (void *ptr) | 
| void | operator delete[] (void *ptr, const char *, int, const char *) | 
| void * | operator new (size_t sz) | 
| void * | operator new (size_t sz, const char *file, int line, const char *func) | 
| operator new, with debug line info | |
| void * | operator new (size_t sz, void *ptr) | 
| placement operator new | |
| void * | operator new[] (size_t sz) | 
| void * | operator new[] (size_t sz, const char *file, int line, const char *func) | 
| array operator new, with debug line info | |
| void | setCenterValue (Vector4 value) | 
| Raw setter for the center value. | |
| void | setFrom (Vector3 from) | 
| Setter for the from-part of this cell. | |
| void | setTo (Vector3 to) | 
| Setter for the to-part of this cell. | |
| void | split (const OctreeNodeSplitPolicy *splitPolicy, const Source *src, const Real geometricError) | 
| Splits this cell if the split policy says so. | |
| Static Public Member Functions | |
| static void | getChildrenDimensions (const Vector3 &from, const Vector3 &to, Vector3 ¢er, Vector3 &width, Vector3 &height, Vector3 &depth) | 
| Gets the center and width / height / depth vector of the children of a node. | |
| Static Public Attributes | |
| static const size_t | OCTREE_CHILDREN_COUNT | 
| Even in an OCtree, the amount of children should not be hardcoded. | |
A node in the volume octree.
| Ogre::Volume::OctreeNode::OctreeNode | ( | const Vector3 & | from = Vector3::ZERO, | 
| const Vector3 & | to = Vector3::ZERO | ||
| ) | 
Constructor.
| from | The back lower left corner of the cell. | 
| to | The front upper right corner of the cell. | 
| 
 | virtual | 
Factory method to create octree nodes.
| from | The back lower left corner of the cell. | 
| to | The front upper right corner of the cell. | 
Gets the center of this cell.
Gets the center of the corners 0, 1, 4, 5.
References Ogre::Vector3::x, Ogre::Vector3::y, and Ogre::Vector3::z.
Gets the center of the corners 0, 1.
References Ogre::Vector3::x, Ogre::Vector3::y, and Ogre::Vector3::z.
Gets the center of the corners 0, 4.
References Ogre::Vector3::x, Ogre::Vector3::y, and Ogre::Vector3::z.
Gets the center of the corners 1, 5.
References Ogre::Vector3::x, Ogre::Vector3::y, and Ogre::Vector3::z.
Gets the center of the corners 4, 5.
References Ogre::Vector3::x, Ogre::Vector3::y, and Ogre::Vector3::z.
Gets the center of the corners 0, 1, 2, 3.
References Ogre::Vector3::x, Ogre::Vector3::y, and Ogre::Vector3::z.
Gets the center of the corners 2, 3, 6, 7.
References Ogre::Vector3::x, Ogre::Vector3::y, and Ogre::Vector3::z.
Gets the center of the corners 2, 3.
References Ogre::Vector3::x, Ogre::Vector3::y, and Ogre::Vector3::z.
Gets the center of the corners 3, 7.
References Ogre::Vector3::x, Ogre::Vector3::y, and Ogre::Vector3::z.
Gets the center of the corners 2, 6.
References Ogre::Vector3::x, Ogre::Vector3::y, and Ogre::Vector3::z.
Gets the center of the corners 6, 7.
References Ogre::Vector3::x, Ogre::Vector3::y, and Ogre::Vector3::z.
Gets the center of the corners 0, 3, 4, 6.
References Ogre::Vector3::x, Ogre::Vector3::y, and Ogre::Vector3::z.
Gets the center of the corners 0, 3.
References Ogre::Vector3::x, Ogre::Vector3::y, and Ogre::Vector3::z.
Gets the center of the corners 4, 7.
References Ogre::Vector3::x, Ogre::Vector3::y, and Ogre::Vector3::z.
Gets the center of the corners 1, 2, 5, 6.
References Ogre::Vector3::x, Ogre::Vector3::y, and Ogre::Vector3::z.
Gets the center of the corners 1, 2.
References Ogre::Vector3::x, Ogre::Vector3::y, and Ogre::Vector3::z.
Gets the center of the corners 5, 6.
References Ogre::Vector3::x, Ogre::Vector3::y, and Ogre::Vector3::z.
Gets the center of the corners 4, 5, 6, 7.
References Ogre::Vector3::x, Ogre::Vector3::y, and Ogre::Vector3::z.
Gets the center value.
| 
 | inline | 
Gets an octree child.
Enumeration: 4 5 7 6 0 1 3 2
| i | The child index. | 
| 
 | inlinestatic | 
Gets the center and width / height / depth vector of the children of a node.
| from | The back lower left corner of the cell. | 
| to | The front upper right corner of the cell. | 
| center | Out parameter of the calculated center. | 
| width | Out parameter of the width vector (width in x, rest zero). | 
| height | Out parameter of the height vector (height in y, rest zero). | 
| depth | Out parameter of the depth vector (depth in z, rest zero). | 
References Ogre::Vector3::x, Ogre::Vector3::y, and Ogre::Vector3::z.
Gets the coordinate of corner 1.
References Ogre::Vector3::x, Ogre::Vector3::y, and Ogre::Vector3::z.
Gets the coordinate of corner 2.
References Ogre::Vector3::x, Ogre::Vector3::y, and Ogre::Vector3::z.
Gets the coordinate of corner 3.
References Ogre::Vector3::x, Ogre::Vector3::y, and Ogre::Vector3::z.
Gets the coordinate of corner 4.
References Ogre::Vector3::x, Ogre::Vector3::y, and Ogre::Vector3::z.
Gets the coordinate of corner 5.
References Ogre::Vector3::x, Ogre::Vector3::y, and Ogre::Vector3::z.
Gets the coordinate of corner 7.
References Ogre::Vector3::x, Ogre::Vector3::y, and Ogre::Vector3::z.
Gets the back lower left corner of the cell.
| Entity * Ogre::Volume::OctreeNode::getOctreeGrid | ( | SceneManager * | sceneManager | ) | 
Getter for the octree debug visualization of the octree starting with this node.
| sceneManager | The scenemanager creating the actual entity. | 
Gets the front upper right corner of the cell.
| 
 | inline | 
Gets whether this cell is at the back of the given root cell.
| root | The octree root node to test against. | 
References Ogre::Vector3::z.
| 
 | inline | 
Gets whether this cell is at the bottom of the given root cell.
| root | The octree root node to test against. | 
References Ogre::Vector3::y.
| 
 | inline | 
Gets whether this cell is at the front of the given root cell.
| root | The octree root node to test against. | 
References Ogre::Vector3::z.
| 
 | inline | 
Gets whether this cell is at the left of the given root cell.
| root | The octree root node to test against. | 
References Ogre::Vector3::x.
| 
 | inline | 
Gets whether this cell is at the right of the given root cell.
| root | The octree root node to test against. | 
References Ogre::Vector3::x.
| 
 | inline | 
Gets whether this cell is at the top of the given root cell.
| root | The octree root node to test against. | 
References Ogre::Vector3::y.
Gets whether the isosurface is somewhat near to this node.
References Ogre::Vector4::w.
Gets whether this cell has any children.
| 
 | inlineinherited | 
| 
 | inlineinherited | 
| 
 | inlineinherited | 
| 
 | inlineinherited | 
| 
 | inlineinherited | 
| 
 | inlineinherited | 
operator new, with debug line info
placement operator new
| 
 | inlineinherited | 
| 
 | inlineinherited | 
array operator new, with debug line info
Raw setter for the center value.
| value | The density value. | 
Setter for the from-part of this cell.
| from | The back lower left corner of the cell. | 
Setter for the to-part of this cell.
| to | The front upper right corner of the cell. | 
| void Ogre::Volume::OctreeNode::split | ( | const OctreeNodeSplitPolicy * | splitPolicy, | 
| const Source * | src, | ||
| const Real | geometricError | ||
| ) | 
Splits this cell if the split policy says so.
| splitPolicy | Defines the policy deciding whether to split this node or not. | 
| src | The volume source. | 
| geometricError | The accepted geometric error. | 
Even in an OCtree, the amount of children should not be hardcoded.