Ogre::Volume::OctreeNode Class Reference

A node in the volume octree. More...

`#include <OgreVolumeOctreeNode.h>`

Inheritance diagram for Ogre::Volume::OctreeNode:
[legend]

## Public Member Functions

| OctreeNode (const Vector3 &from=Vector3::ZERO, const Vector3 &to=Vector3::ZERO)
| Constructor. More...
virtual | ~OctreeNode (void)
| Destructor. More...
virtual OctreeNode * | createInstance (const Vector3 &from, const Vector3 &to)
| Factory method to create octree nodes. More...
const Vector3 | getCenter (void) const
| Gets the center of this cell. More...
const Vector3 | getCenterBack (void) const
| Gets the center of the corners 0, 1, 4, 5. More...
const Vector3 | getCenterBackBottom (void) const
| Gets the center of the corners 0, 1. More...
const Vector3 | getCenterBackLeft (void) const
| Gets the center of the corners 0, 4. More...
const Vector3 | getCenterBackRight (void) const
| Gets the center of the corners 1, 5. More...
const Vector3 | getCenterBackTop (void) const
| Gets the center of the corners 4, 5. More...
const Vector3 | getCenterBottom (void) const
| Gets the center of the corners 0, 1, 2, 3. More...
const Vector3 | getCenterFront (void) const
| Gets the center of the corners 2, 3, 6, 7. More...
const Vector3 | getCenterFrontBottom (void) const
| Gets the center of the corners 2, 3. More...
const Vector3 | getCenterFrontLeft (void) const
| Gets the center of the corners 3, 7. More...
const Vector3 | getCenterFrontRight (void) const
| Gets the center of the corners 2, 6. More...
const Vector3 | getCenterFrontTop (void) const
| Gets the center of the corners 6, 7. More...
const Vector3 | getCenterLeft (void) const
| Gets the center of the corners 0, 3, 4, 6. More...
const Vector3 | getCenterLeftBottom (void) const
| Gets the center of the corners 0, 3. More...
const Vector3 | getCenterLeftTop (void) const
| Gets the center of the corners 4, 7. More...
const Vector3 | getCenterRight (void) const
| Gets the center of the corners 1, 2, 5, 6. More...
const Vector3 | getCenterRightBottom (void) const
| Gets the center of the corners 1, 2. More...
const Vector3 | getCenterRightTop (void) const
| Gets the center of the corners 5, 6. More...
const Vector3 | getCenterTop (void) const
| Gets the center of the corners 4, 5, 6, 7. More...
const Vector4 | getCenterValue (void) const
| Gets the center value. More...
const OctreeNode * | getChild (const size_t i) const
| Gets an octree child. More...
const Vector3 | getCorner1 (void) const
| Gets the coordinate of corner 1. More...
const Vector3 | getCorner2 (void) const
| Gets the coordinate of corner 2. More...
const Vector3 | getCorner3 (void) const
| Gets the coordinate of corner 3. More...
const Vector3 | getCorner4 (void) const
| Gets the coordinate of corner 4. More...
const Vector3 | getCorner5 (void) const
| Gets the coordinate of corner 5. More...
const Vector3 | getCorner7 (void) const
| Gets the coordinate of corner 7. More...
const Vector3 & | getFrom (void) const
| Gets the back lower left corner of the cell. More...
Entity * | getOctreeGrid (SceneManager *sceneManager)
| Getter for the octree debug visualization of the octree starting with this node. More...
const Vector3 & | getTo (void) const
| Gets the front upper right corner of the cell. More...
bool | isBorderBack (const OctreeNode &root) const
| Gets whether this cell is at the back of the given root cell. More...
bool | isBorderBottom (const OctreeNode &root) const
| Gets whether this cell is at the bottom of the given root cell. More...
bool | isBorderFront (const OctreeNode &root) const
| Gets whether this cell is at the front of the given root cell. More...
bool | isBorderLeft (const OctreeNode &root) const
| Gets whether this cell is at the left of the given root cell. More...
bool | isBorderRight (const OctreeNode &root) const
| Gets whether this cell is at the right of the given root cell. More...
bool | isBorderTop (const OctreeNode &root) const
| Gets whether this cell is at the top of the given root cell. More...
bool | isIsoSurfaceNear (void) const
| Gets whether the isosurface is somewhat near to this node. More...
bool | isSubdivided (void) const
| Gets whether this cell has any children. More...
void | operator delete (void *ptr)
void | operator delete (void *ptr, void *)
void | operator delete (void *ptr, const char *, int, const char *)
void | operator delete[] (void *ptr)
void | operator delete[] (void *ptr, const char *, int, const char *)
void * | operator new (size_t sz, const char *file, int line, const char *func)
| operator new, with debug line info More...
void * | operator new (size_t sz)
void * | operator new (size_t sz, void *ptr)
| placement operator new More...
void * | operator new[] (size_t sz, const char *file, int line, const char *func)
| array operator new, with debug line info More...
void * | operator new[] (size_t sz)
void | setCenterValue (Vector4 value)
| Raw setter for the center value. More...
void | setFrom (Vector3 from)
| Setter for the from-part of this cell. More...
void | setTo (Vector3 to)
| Setter for the to-part of this cell. More...
void | split (const OctreeNodeSplitPolicy *splitPolicy, const Source *src, const Real geometricError)
| Splits this cell if the split policy says so. More...

## Static Public Member Functions

static void | getChildrenDimensions (const Vector3 &from, const Vector3 &to, Vector3 &center, Vector3 &width, Vector3 &height, Vector3 &depth)
| Gets the center and width / height / depth vector of the children of a node. More...

## Static Public Attributes

static const size_t | OCTREE_CHILDREN_COUNT
| Even in an OCtree, the amount of children should not be hardcoded. More...

## Protected Member Functions

void | buildOctreeGridLines (ManualObject *manual) const
| Method to actually add the lines of the octree cells to the debug visualization. More...

## Protected Attributes

Vector4 | mCenterValue
| Density and gradient of the center. More...
OctreeNode ** | mChildren
| The children of this node. More...
Vector3 | mFrom
| The back lower left corner of the cell. More...
Entity * | mOctreeGrid
| Holds the debug visualization of the octree. Just set in the root. More...
Vector3 | mTo
| The front upper right corner of the cell. More...

## Static Protected Attributes

static uint32 | mGridPositionCount
| To count some indices while creating the debug view and recursing through the instances. More...
static size_t | mNodeI
| To give the debug manual object an unique name. More...
static const Real | NEAR_FACTOR
| Factor to the diagonal of the cell to decide whether this cell is near the isosurface or not. More...

## Detailed Description

A node in the volume octree.

Definition at line 45 of file OgreVolumeOctreeNode.h.

## Constructor & Destructor Documentation

## OctreeNode()

Ogre::Volume::OctreeNode::OctreeNode | ( | const Vector3 & | from = `Vector3::ZERO`,
|  | const Vector3 & | to = `Vector3::ZERO`
| ) |  |

Constructor.

Parameters

  from | The back lower left corner of the cell.
  to | The front upper right corner of the cell.

## ~OctreeNode()

virtual Ogre::Volume::OctreeNode::~OctreeNode | ( | void |  | ) |

virtual

Destructor.

## Member Function Documentation

## buildOctreeGridLines()

void Ogre::Volume::OctreeNode::buildOctreeGridLines | ( | ManualObject * | manual | ) | const

protected

Method to actually add the lines of the octree cells to the debug visualization.

Parameters

  manual | The manual object to add the lines to if this is a leaf in the octree.

## createInstance()

virtual OctreeNode* Ogre::Volume::OctreeNode::createInstance | ( | const Vector3 & | from,
|  | const Vector3 & | to
| ) |  |

virtual

Factory method to create octree nodes.

Parameters

  from | The back lower left corner of the cell.
  to | The front upper right corner of the cell.

Returns
  The created entity. Make sure to destroy it when you don't need it anymore.

## getCenter()

const Vector3 Ogre::Volume::OctreeNode::getCenter | ( | void |  | ) | const

Gets the center of this cell.

Returns
  The center.

Definition at line 200 of file OgreVolumeOctreeNode.h.

## getCenterBack()

const Vector3 Ogre::Volume::OctreeNode::getCenterBack | ( | void |  | ) | const

Gets the center of the corners 0, 1, 4, 5.

Returns
  The center.

Definition at line 293 of file OgreVolumeOctreeNode.h.

References Ogre::Vector3::x, Ogre::Vector3::y, and Ogre::Vector3::z.

## getCenterBackBottom()

const Vector3 Ogre::Volume::OctreeNode::getCenterBackBottom | ( | void |  | ) | const

Gets the center of the corners 0, 1.

Returns
  The center.

Definition at line 356 of file OgreVolumeOctreeNode.h.

References Ogre::Vector3::x, Ogre::Vector3::y, and Ogre::Vector3::z.

## getCenterBackLeft()

const Vector3 Ogre::Volume::OctreeNode::getCenterBackLeft | ( | void |  | ) | const

Gets the center of the corners 0, 4.

Returns
  The center.

Definition at line 419 of file OgreVolumeOctreeNode.h.

References Ogre::Vector3::x, Ogre::Vector3::y, and Ogre::Vector3::z.

## getCenterBackRight()

const Vector3 Ogre::Volume::OctreeNode::getCenterBackRight | ( | void |  | ) | const

Gets the center of the corners 1, 5.

Returns
  The center.

Definition at line 437 of file OgreVolumeOctreeNode.h.

References Ogre::Vector3::x, Ogre::Vector3::y, and Ogre::Vector3::z.

## getCenterBackTop()

const Vector3 Ogre::Volume::OctreeNode::getCenterBackTop | ( | void |  | ) | const

Gets the center of the corners 4, 5.

Returns
  The center.

Definition at line 347 of file OgreVolumeOctreeNode.h.

References Ogre::Vector3::x, Ogre::Vector3::y, and Ogre::Vector3::z.

## getCenterBottom()

const Vector3 Ogre::Volume::OctreeNode::getCenterBottom | ( | void |  | ) | const

Gets the center of the corners 0, 1, 2, 3.

Returns
  The center.

Definition at line 338 of file OgreVolumeOctreeNode.h.

References Ogre::Vector3::x, Ogre::Vector3::y, and Ogre::Vector3::z.

## getCenterFront()

const Vector3 Ogre::Volume::OctreeNode::getCenterFront | ( | void |  | ) | const

Gets the center of the corners 2, 3, 6, 7.

Returns
  The center.

Definition at line 302 of file OgreVolumeOctreeNode.h.

References Ogre::Vector3::x, Ogre::Vector3::y, and Ogre::Vector3::z.

## getCenterFrontBottom()

const Vector3 Ogre::Volume::OctreeNode::getCenterFrontBottom | ( | void |  | ) | const

Gets the center of the corners 2, 3.

Returns
  The center.

Definition at line 374 of file OgreVolumeOctreeNode.h.

References Ogre::Vector3::x, Ogre::Vector3::y, and Ogre::Vector3::z.

## getCenterFrontLeft()

const Vector3 Ogre::Volume::OctreeNode::getCenterFrontLeft | ( | void |  | ) | const

Gets the center of the corners 3, 7.

Returns
  The center.

Definition at line 428 of file OgreVolumeOctreeNode.h.

References Ogre::Vector3::x, Ogre::Vector3::y, and Ogre::Vector3::z.

## getCenterFrontRight()

const Vector3 Ogre::Volume::OctreeNode::getCenterFrontRight | ( | void |  | ) | const

Gets the center of the corners 2, 6.

Returns
  The center.

Definition at line 446 of file OgreVolumeOctreeNode.h.

References Ogre::Vector3::x, Ogre::Vector3::y, and Ogre::Vector3::z.

## getCenterFrontTop()

const Vector3 Ogre::Volume::OctreeNode::getCenterFrontTop | ( | void |  | ) | const

Gets the center of the corners 6, 7.

Returns
  The center.

Definition at line 365 of file OgreVolumeOctreeNode.h.

References Ogre::Vector3::x, Ogre::Vector3::y, and Ogre::Vector3::z.

## getCenterLeft()

const Vector3 Ogre::Volume::OctreeNode::getCenterLeft | ( | void |  | ) | const

Gets the center of the corners 0, 3, 4, 6.

Returns
  The center.

Definition at line 311 of file OgreVolumeOctreeNode.h.

References Ogre::Vector3::x, Ogre::Vector3::y, and Ogre::Vector3::z.

## getCenterLeftBottom()

const Vector3 Ogre::Volume::OctreeNode::getCenterLeftBottom | ( | void |  | ) | const

Gets the center of the corners 0, 3.

Returns
  The center.

Definition at line 392 of file OgreVolumeOctreeNode.h.

References Ogre::Vector3::x, Ogre::Vector3::y, and Ogre::Vector3::z.

## getCenterLeftTop()

const Vector3 Ogre::Volume::OctreeNode::getCenterLeftTop | ( | void |  | ) | const

Gets the center of the corners 4, 7.

Returns
  The center.

Definition at line 383 of file OgreVolumeOctreeNode.h.

References Ogre::Vector3::x, Ogre::Vector3::y, and Ogre::Vector3::z.

## getCenterRight()

const Vector3 Ogre::Volume::OctreeNode::getCenterRight | ( | void |  | ) | const

Gets the center of the corners 1, 2, 5, 6.

Returns
  The center.

Definition at line 320 of file OgreVolumeOctreeNode.h.

References Ogre::Vector3::x, Ogre::Vector3::y, and Ogre::Vector3::z.

## getCenterRightBottom()

const Vector3 Ogre::Volume::OctreeNode::getCenterRightBottom | ( | void |  | ) | const

Gets the center of the corners 1, 2.

Returns
  The center.

Definition at line 410 of file OgreVolumeOctreeNode.h.

References Ogre::Vector3::x, Ogre::Vector3::y, and Ogre::Vector3::z.

## getCenterRightTop()

const Vector3 Ogre::Volume::OctreeNode::getCenterRightTop | ( | void |  | ) | const

Gets the center of the corners 5, 6.

Returns
  The center.

Definition at line 401 of file OgreVolumeOctreeNode.h.

References Ogre::Vector3::x, Ogre::Vector3::y, and Ogre::Vector3::z.

## getCenterTop()

const Vector3 Ogre::Volume::OctreeNode::getCenterTop | ( | void |  | ) | const

Gets the center of the corners 4, 5, 6, 7.

Returns
  The center.

Definition at line 329 of file OgreVolumeOctreeNode.h.

References Ogre::Vector3::x, Ogre::Vector3::y, and Ogre::Vector3::z.

## getCenterValue()

const Vector4 Ogre::Volume::OctreeNode::getCenterValue | ( | void |  | ) | const

Gets the center value.

Returns
  The center value, one Vector4 consisting of gradient (x, y, z) and density (w).

Definition at line 518 of file OgreVolumeOctreeNode.h.

## getChild()

const OctreeNode* Ogre::Volume::OctreeNode::getChild | ( | const size_t | i | ) | const

Gets an octree child.

Enumeration: 4 5 7 6 0 1 3 2

Parameters

  i | The child index.

Returns
  The child.

Definition at line 191 of file OgreVolumeOctreeNode.h.

## getChildrenDimensions()

static void Ogre::Volume::OctreeNode::getChildrenDimensions | ( | const Vector3 & | from,
|  | const Vector3 & | to,
|  | Vector3 & | center,
|  | Vector3 & | width,
|  | Vector3 & | height,
|  | Vector3 & | depth
| ) |  |

static

Gets the center and width / height / depth vector of the children of a node.

Parameters

  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).

Definition at line 98 of file OgreVolumeOctreeNode.h.

References Ogre::Vector3::x, Ogre::Vector3::y, Ogre::Vector3::z, and Ogre::Vector3::ZERO.

## getCorner1()

const Vector3 Ogre::Volume::OctreeNode::getCorner1 | ( | void |  | ) | const

Gets the coordinate of corner 1.

Returns
  The corner.

Definition at line 455 of file OgreVolumeOctreeNode.h.

References Ogre::Vector3::x, Ogre::Vector3::y, and Ogre::Vector3::z.

## getCorner2()

const Vector3 Ogre::Volume::OctreeNode::getCorner2 | ( | void |  | ) | const

Gets the coordinate of corner 2.

Returns
  The corner.

Definition at line 464 of file OgreVolumeOctreeNode.h.

References Ogre::Vector3::x, Ogre::Vector3::y, and Ogre::Vector3::z.

## getCorner3()

const Vector3 Ogre::Volume::OctreeNode::getCorner3 | ( | void |  | ) | const

Gets the coordinate of corner 3.

Returns
  The corner.

Definition at line 473 of file OgreVolumeOctreeNode.h.

References Ogre::Vector3::x, Ogre::Vector3::y, and Ogre::Vector3::z.

## getCorner4()

const Vector3 Ogre::Volume::OctreeNode::getCorner4 | ( | void |  | ) | const

Gets the coordinate of corner 4.

Returns
  The corner.

Definition at line 482 of file OgreVolumeOctreeNode.h.

References Ogre::Vector3::x, Ogre::Vector3::y, and Ogre::Vector3::z.

## getCorner5()

const Vector3 Ogre::Volume::OctreeNode::getCorner5 | ( | void |  | ) | const

Gets the coordinate of corner 5.

Returns
  The corner.

Definition at line 491 of file OgreVolumeOctreeNode.h.

References Ogre::Vector3::x, Ogre::Vector3::y, and Ogre::Vector3::z.

## getCorner7()

const Vector3 Ogre::Volume::OctreeNode::getCorner7 | ( | void |  | ) | const

Gets the coordinate of corner 7.

Returns
  The corner.

Definition at line 500 of file OgreVolumeOctreeNode.h.

References Ogre::Vector3::x, Ogre::Vector3::y, and Ogre::Vector3::z.

## getFrom()

const Vector3& Ogre::Volume::OctreeNode::getFrom | ( | void |  | ) | const

Gets the back lower left corner of the cell.

Returns
  The back lower left corner of the cell.

Definition at line 209 of file OgreVolumeOctreeNode.h.

Referenced by Ogre::Volume::DualGridGenerator::addDualCell().

## getOctreeGrid()

Entity* Ogre::Volume::OctreeNode::getOctreeGrid | ( | SceneManager * | sceneManager | ) |

Getter for the octree debug visualization of the octree starting with this node.

Parameters

  sceneManager | The scenemanager creating the actual entity.

Returns
  The lazily created debug visualization.

## getTo()

const Vector3& Ogre::Volume::OctreeNode::getTo | ( | void |  | ) | const

Gets the front upper right corner of the cell.

Returns
  The front upper right corner of the cell.

Definition at line 218 of file OgreVolumeOctreeNode.h.

Referenced by Ogre::Volume::DualGridGenerator::addDualCell().

## isBorderBack()

bool Ogre::Volume::OctreeNode::isBorderBack | ( | const OctreeNode & | root | ) | const

Gets whether this cell is at the back of the given root cell.

Parameters

  root | The octree root node to test against.

Returns
  true if so.

Definition at line 273 of file OgreVolumeOctreeNode.h.

References mFrom, and Ogre::Vector3::z.

## isBorderBottom()

bool Ogre::Volume::OctreeNode::isBorderBottom | ( | const OctreeNode & | root | ) | const

Gets whether this cell is at the bottom of the given root cell.

Parameters

  root | The octree root node to test against.

Returns
  true if so.

Definition at line 251 of file OgreVolumeOctreeNode.h.

References mFrom, and Ogre::Vector3::y.

## isBorderFront()

bool Ogre::Volume::OctreeNode::isBorderFront | ( | const OctreeNode & | root | ) | const

Gets whether this cell is at the front of the given root cell.

Parameters

  root | The octree root node to test against.

Returns
  true if so.

Definition at line 284 of file OgreVolumeOctreeNode.h.

References mTo, and Ogre::Vector3::z.

## isBorderLeft()

bool Ogre::Volume::OctreeNode::isBorderLeft | ( | const OctreeNode & | root | ) | const

Gets whether this cell is at the left of the given root cell.

Parameters

  root | The octree root node to test against.

Returns
  true if so.

Definition at line 229 of file OgreVolumeOctreeNode.h.

References mFrom, and Ogre::Vector3::x.

## isBorderRight()

bool Ogre::Volume::OctreeNode::isBorderRight | ( | const OctreeNode & | root | ) | const

Gets whether this cell is at the right of the given root cell.

Parameters

  root | The octree root node to test against.

Returns
  true if so.

Definition at line 240 of file OgreVolumeOctreeNode.h.

References mTo, and Ogre::Vector3::x.

## isBorderTop()

bool Ogre::Volume::OctreeNode::isBorderTop | ( | const OctreeNode & | root | ) | const

Gets whether this cell is at the top of the given root cell.

Parameters

  root | The octree root node to test against.

Returns
  true if so.

Definition at line 262 of file OgreVolumeOctreeNode.h.

References mTo, and Ogre::Vector3::y.

## isIsoSurfaceNear()

bool Ogre::Volume::OctreeNode::isIsoSurfaceNear | ( | void |  | ) | const

Gets whether the isosurface is somewhat near to this node.

Returns
  true if somewhat near.

Definition at line 527 of file OgreVolumeOctreeNode.h.

References Ogre::Math::Abs(), and Ogre::Vector4::w.

## isSubdivided()

bool Ogre::Volume::OctreeNode::isSubdivided | ( | void |  | ) | const

Gets whether this cell has any children.

Returns
  True if so.

Definition at line 176 of file OgreVolumeOctreeNode.h.

## operator delete() [1/3]

template<class Alloc >

void Ogre::AllocatedObject< Alloc >::operator delete | ( | void * | ptr | ) |

inherited

Definition at line 96 of file OgreMemoryAllocatedObject.h.

## operator delete() [2/3]

template<class Alloc >

void Ogre::AllocatedObject< Alloc >::operator delete | ( | void * | ptr,
|  | void * |
| ) |  |

inherited

Definition at line 102 of file OgreMemoryAllocatedObject.h.

## operator delete() [3/3]

template<class Alloc >

void Ogre::AllocatedObject< Alloc >::operator delete | ( | void * | ptr,
|  | const char * | ,
|  | int | ,
|  | const char * |
| ) |  |

inherited

Definition at line 108 of file OgreMemoryAllocatedObject.h.

## operator delete[]() [1/2]

template<class Alloc >

void Ogre::AllocatedObject< Alloc >::operator delete[] | ( | void * | ptr | ) |

inherited

Definition at line 113 of file OgreMemoryAllocatedObject.h.

## operator delete[]() [2/2]

template<class Alloc >

void Ogre::AllocatedObject< Alloc >::operator delete[] | ( | void * | ptr,
|  | const char * | ,
|  | int | ,
|  | const char * |
| ) |  |

inherited

Definition at line 119 of file OgreMemoryAllocatedObject.h.

## operator new() [1/3]

template<class Alloc >

void* Ogre::AllocatedObject< Alloc >::operator new | ( | size_t | sz,
|  | const char * | file,
|  | int | line,
|  | const char * | func
| ) |  |

inherited

operator new, with debug line info

Definition at line 68 of file OgreMemoryAllocatedObject.h.

## operator new() [2/3]

template<class Alloc >

void* Ogre::AllocatedObject< Alloc >::operator new | ( | size_t | sz | ) |

inherited

Definition at line 73 of file OgreMemoryAllocatedObject.h.

## operator new() [3/3]

template<class Alloc >

void* Ogre::AllocatedObject< Alloc >::operator new | ( | size_t | sz,
|  | void * | ptr
| ) |  |

inherited

placement operator new

Definition at line 79 of file OgreMemoryAllocatedObject.h.

## operator new[]() [1/2]

template<class Alloc >

void* Ogre::AllocatedObject< Alloc >::operator new[] | ( | size_t | sz,
|  | const char * | file,
|  | int | line,
|  | const char * | func
| ) |  |

inherited

array operator new, with debug line info

Definition at line 86 of file OgreMemoryAllocatedObject.h.

## operator new[]() [2/2]

template<class Alloc >

void* Ogre::AllocatedObject< Alloc >::operator new[] | ( | size_t | sz | ) |

inherited

Definition at line 91 of file OgreMemoryAllocatedObject.h.

## setCenterValue()

void Ogre::Volume::OctreeNode::setCenterValue | ( | Vector4 | value | ) |

Raw setter for the center value.

Parameters

  value | The density value.

Definition at line 509 of file OgreVolumeOctreeNode.h.

## setFrom()

void Ogre::Volume::OctreeNode::setFrom | ( | Vector3 | from | ) |

Setter for the from-part of this cell.

Parameters

  from | The back lower left corner of the cell.

Definition at line 158 of file OgreVolumeOctreeNode.h.

## setTo()

void Ogre::Volume::OctreeNode::setTo | ( | Vector3 | to | ) |

Setter for the to-part of this cell.

Parameters

  to | The front upper right corner of the cell.

Definition at line 167 of file OgreVolumeOctreeNode.h.

## split()

void Ogre::Volume::OctreeNode::split | ( | const OctreeNodeSplitPolicy * | splitPolicy,
|  | const Source * | src,
|  | const Real | geometricError
| ) |  |

Splits this cell if the split policy says so.

Parameters

  splitPolicy | Defines the policy deciding whether to split this node or not.
  src | The volume source.
  geometricError | The accepted geometric error.

## Member Data Documentation

## mCenterValue

Vector4 Ogre::Volume::OctreeNode::mCenterValue

protected

Density and gradient of the center.

Definition at line 71 of file OgreVolumeOctreeNode.h.

## mChildren

OctreeNode** Ogre::Volume::OctreeNode::mChildren

protected

The children of this node.

Definition at line 65 of file OgreVolumeOctreeNode.h.

## mFrom

Vector3 Ogre::Volume::OctreeNode::mFrom

protected

The back lower left corner of the cell.

Definition at line 59 of file OgreVolumeOctreeNode.h.

Referenced by isBorderBack(), isBorderBottom(), and isBorderLeft().

## mGridPositionCount

uint32 Ogre::Volume::OctreeNode::mGridPositionCount

static protected

To count some indices while creating the debug view and recursing through the instances.

Definition at line 53 of file OgreVolumeOctreeNode.h.

## mNodeI

size_t Ogre::Volume::OctreeNode::mNodeI

static protected

To give the debug manual object an unique name.

Definition at line 56 of file OgreVolumeOctreeNode.h.

## mOctreeGrid

Entity* Ogre::Volume::OctreeNode::mOctreeGrid

protected

Holds the debug visualization of the octree. Just set in the root.

Definition at line 68 of file OgreVolumeOctreeNode.h.

## mTo

Vector3 Ogre::Volume::OctreeNode::mTo

protected

The front upper right corner of the cell.

Definition at line 62 of file OgreVolumeOctreeNode.h.

Referenced by isBorderFront(), isBorderRight(), and isBorderTop().

## NEAR_FACTOR

const Real Ogre::Volume::OctreeNode::NEAR_FACTOR

static protected

Factor to the diagonal of the cell to decide whether this cell is near the isosurface or not.

Definition at line 50 of file OgreVolumeOctreeNode.h.

## OCTREE_CHILDREN_COUNT

const size_t Ogre::Volume::OctreeNode::OCTREE_CHILDREN_COUNT

static

Even in an OCtree, the amount of children should not be hardcoded.

Definition at line 82 of file OgreVolumeOctreeNode.h.

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

- OgreVolumeOctreeNode.h

Copyright © 2012 Torus Knot Software Ltd
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.