|
OpenSceneGraph
3.4.0
|
A Geode is a "geometry node", that is, a leaf node on the scene graph that can have "renderable things" attached to it.
More...

Public Member Functions | |
| Geode () | |
| Geode (const Geode &, const CopyOp ©op=CopyOp::SHALLOW_COPY) | |
| Copy constructor using CopyOp to manage deep vs shallow copy. | |
| META_Node (osg, Geode) | |
| virtual Geode * | asGeode () |
| Convert 'this' into a Geode pointer if Node is a Geode, otherwise return 0. | |
| virtual const Geode * | asGeode () const |
| convert 'const this' into a const Geode pointer if Node is a Geode, otherwise return 0. | |
| virtual bool | addDrawable (Drawable *drawable) |
Add a Drawable to the Geode. | |
| virtual bool | removeDrawable (Drawable *drawable) |
Remove a Drawable from the Geode. | |
| virtual bool | removeDrawables (unsigned int i, unsigned int numDrawablesToRemove=1) |
Remove Drawable(s) from the specified position in Geode's drawable list. | |
| virtual bool | replaceDrawable (Drawable *origDraw, Drawable *newDraw) |
| Replace specified Drawable with another Drawable. | |
| virtual bool | setDrawable (unsigned int i, Drawable *drawable) |
Set Drawable at position i. | |
| unsigned int | getNumDrawables () const |
Return the number of Drawables currently attached to the Geode. | |
| Drawable * | getDrawable (unsigned int i) |
Return the Drawable at position i. | |
| const Drawable * | getDrawable (unsigned int i) const |
Return the Drawable at position i. | |
| bool | containsDrawable (const Drawable *drawable) const |
Return true if a given Drawable is contained within Geode. | |
| unsigned int | getDrawableIndex (const Drawable *drawable) const |
Get the index number of drawable. | |
| void | compileDrawables (RenderInfo &renderInfo) |
| Compile OpenGL Display List for each drawable. | |
| const BoundingBox & | getBoundingBox () const |
| Return the Geode's bounding box, which is the union of all the bounding boxes of the geode's drawables. | |
| virtual BoundingSphere | computeBound () const |
| Compute the bounding sphere around Node's geometry or children. | |
Protected Member Functions | |
| virtual | ~Geode () |
Protected Attributes | |
| osg::BoundingBox | _bbox |
A Geode is a "geometry node", that is, a leaf node on the scene graph that can have "renderable things" attached to it.
In OSG, renderable things are represented by objects from the Drawable class, so a Geode is a Node whose purpose is grouping Drawables.
| osg::Geode::Geode | ( | const Geode & | , |
| const CopyOp & | copyop = CopyOp::SHALLOW_COPY |
||
| ) |
Copy constructor using CopyOp to manage deep vs shallow copy.
| virtual osg::Geode::~Geode | ( | ) | [protected, virtual] |
| virtual bool osg::Geode::addDrawable | ( | Drawable * | drawable | ) | [virtual] |
If drawable is not NULL and is not contained in the Geode then increment its reference count, add it to the drawables list and dirty the bounding sphere to force it to be recomputed on the next call to getBound().
true for success; false otherwise. Reimplemented in osg::Billboard.
| virtual Geode* osg::Geode::asGeode | ( | ) | [inline, virtual] |
| virtual const Geode* osg::Geode::asGeode | ( | ) | const [inline, virtual] |
| void osg::Geode::compileDrawables | ( | RenderInfo & | renderInfo | ) |
Compile OpenGL Display List for each drawable.
| virtual BoundingSphere osg::Geode::computeBound | ( | ) | const [virtual] |
Compute the bounding sphere around Node's geometry or children.
This method is automatically called by getBound() when the bounding sphere has been marked dirty via dirtyBound().
Reimplemented from osg::Group.
Reimplemented in osg::Billboard.
| bool osg::Geode::containsDrawable | ( | const Drawable * | drawable | ) | const [inline] |
| const BoundingBox& osg::Geode::getBoundingBox | ( | ) | const [inline] |
Return the Geode's bounding box, which is the union of all the bounding boxes of the geode's drawables.
| Drawable* osg::Geode::getDrawable | ( | unsigned int | i | ) | [inline] |
Return the Drawable at position i.
References osg::Drawable::asDrawable().
Referenced by osgUtil::Simplifier::apply().
| const Drawable* osg::Geode::getDrawable | ( | unsigned int | i | ) | const [inline] |
Return the Drawable at position i.
References osg::Drawable::asDrawable().
| unsigned int osg::Geode::getDrawableIndex | ( | const Drawable * | drawable | ) | const [inline] |
Get the index number of drawable.
getNumDrawables()-1 if drawable is found; if not found, then getNumDrawables() is returned. | unsigned int osg::Geode::getNumDrawables | ( | ) | const [inline] |
Return the number of Drawables currently attached to the Geode.
Referenced by osgUtil::Simplifier::apply().
| osg::Geode::META_Node | ( | osg | , |
| Geode | |||
| ) |
| virtual bool osg::Geode::removeDrawable | ( | Drawable * | drawable | ) | [virtual] |
Remove a Drawable from the Geode.
Equivalent to removeDrawable(getDrawableIndex(drawable).
| drawable | The drawable to be removed. |
true if at least one Drawable was removed. false otherwise. Reimplemented in osg::Billboard.
| virtual bool osg::Geode::removeDrawables | ( | unsigned int | i, |
| unsigned int | numDrawablesToRemove = 1 |
||
| ) | [virtual] |
| virtual bool osg::Geode::replaceDrawable | ( | Drawable * | origDraw, |
| Drawable * | newDraw | ||
| ) | [virtual] |
Replace specified Drawable with another Drawable.
Equivalent to setDrawable(getDrawableIndex(origDraw),newDraw), see docs for setDrawable() for further details on implementation.
| virtual bool osg::Geode::setDrawable | ( | unsigned int | i, |
| Drawable * | drawable | ||
| ) | [virtual] |
Set Drawable at position i.
Decrement the reference count origGSet and increments the reference count of newGset, and dirty the bounding sphere to force it to recompute on next getBound() and returns true. If origDrawable is not found then return false and do not add newGset. If newGset is NULL then return false and do not remove origGset.
true if set correctly, false on failure (if node==NULL || i is out of range). osg::BoundingBox osg::Geode::_bbox [mutable, protected] |
| Generated at Tue Dec 8 2015 00:16:41 for the OpenSceneGraph by doxygen 1.7.6.1. |