class SG_EXPORT osg::Geode

Leaf Node for grouping Drawables

Inheritance:


Public Methods

[more] Geode()
[more] Geode(const Geode&, const CopyOp& copyop=CopyOp::SHALLOW_COPY)
Copy constructor using CopyOp to manage deep vs shallow copy
[more] META_Node(osg, Geode)
[more]virtual bool addDrawable( Drawable* drawable )
Add Drawable to Geode.
[more]virtual bool removeDrawable( Drawable* drawable )
Remove Drawable from Geode.
[more]virtual bool removeDrawable(unsigned int i, unsigned int numDrawablesToRemove=1)
Remove drawable(s) from the specified position in Geode's drawable list
[more]virtual bool replaceDrawable( Drawable* origDraw, Drawable* newDraw )
Replace specified Drawable with another Drawable.
[more]virtual bool setDrawable( unsigned int i, Drawable* drawable )
set drawable at position i.
[more]inline unsigned int getNumDrawables() const
return the number of drawable's
[more]inline Drawable* getDrawable( unsigned int i )
return drawable at position i
[more]inline const Drawable* getDrawable( unsigned int i ) const
return drawable at position i
[more]inline bool containsDrawable(const Drawable* gset) const
return true if drawable is contained within Geode
[more]inline unsigned int getDrawableIndex( const Drawable* node ) const
Get the index number of drawable, return a value between 0 and _drawablessize()-1 if found, if not found then return _drawablessize()
[more]void compileDrawables(State& state)
compile OpenGL Display List for each drawable
[more]inline const BoundingBox& getBoundingBox() const
return the Geode's bounding box, which the union of all the bounding boxes of the geode's drawables

Public

[more]typedef std::vector< ref_ptr<Drawable> > DrawableList

Protected Fields

[more]mutable osg::BoundingBox _bbox
[more]DrawableList _drawables

Protected Methods

[more]virtual ~Geode()
[more]virtual bool computeBound() const


Inherited from Node:

Public Methods

ovirtual Object* cloneType() const
ovirtual Object* clone(const CopyOp& copyop) const
ovirtual bool isSameKindAs(const Object* obj) const
ovirtual const char* libraryName() const
ovirtual const char* className() const
ovirtual Group* asGroup()
ovirtual const Group* asGroup() const
ovirtual Transform* asTransform()
ovirtual const Transform* asTransform() const
ovirtual void accept(NodeVisitor& nv)
ovirtual void ascend(NodeVisitor& nv)
ovirtual void traverse(NodeVisitor& )
oinline void setName( const std::string& name )
oinline void setName( const char* name )
oinline const std::string& getName() const
oinline const ParentList& getParents() const
oinline ParentList getParents()
oinline Group* getParent(unsigned int i)
oinline const Group* getParent(unsigned int i) const
oinline unsigned int getNumParents() const
ovoid setUpdateCallback(NodeCallback* nc)
oinline NodeCallback* getUpdateCallback()
oinline const NodeCallback* getUpdateCallback() const
oinline unsigned int getNumChildrenRequiringUpdateTraversal() const
ovoid setCullCallback(NodeCallback* nc)
oinline NodeCallback* getCullCallback()
oinline const NodeCallback* getCullCallback() const
ovoid setCullingActive(bool active)
oinline bool getCullingActive() const
oinline unsigned int getNumChildrenWithCullingDisabled() const
oinline bool isCullingActive() const
oinline unsigned int getNumChildrenWithOccluderNodes() const
obool containsOccluderNodes() const
oinline void setNodeMask(NodeMask nm)
oinline NodeMask getNodeMask() const
oinline const DescriptionList& getDescriptions() const
oinline DescriptionList& getDescriptions()
oinline const std::string& getDescription(unsigned int i) const
oinline std::string& getDescription(unsigned int i)
oinline unsigned int getNumDescriptions() const
ovoid addDescription(const std::string& desc)
oinline void setStateSet(osg::StateSet* dstate)
oosg::StateSet* getOrCreateStateSet()
oinline osg::StateSet* getStateSet()
oinline const osg::StateSet* getStateSet() const
oinline const BoundingSphere& getBound() const
ovoid dirtyBound()

Public

otypedef std::vector<Group*> ParentList
otypedef unsigned int NodeMask
otypedef std::vector<std::string> DescriptionList

Protected Fields

omutable BoundingSphere _bsphere
omutable bool _bsphere_computed
ostd::string _name
oParentList _parents
oref_ptr<NodeCallback> _updateCallback
ounsigned int _numChildrenRequiringUpdateTraversal
oref_ptr<NodeCallback> _cullCallback
obool _cullingActive
ounsigned int _numChildrenWithCullingDisabled
ounsigned int _numChildrenWithOccluderNodes
oNodeMask _nodeMask
oDescriptionList _descriptions
oref_ptr<StateSet> _stateset

Protected Methods

ovoid addParent(osg::Group* node)
ovoid removeParent(osg::Group* node)
ovoid setNumChildrenRequiringUpdateTraversal(unsigned int num)
ovoid setNumChildrenWithCullingDisabled(unsigned int num)
ovoid setNumChildrenWithOccluderNodes(unsigned int num)


Inherited from Object:

Public Classes

oenum DataVariance

Public Methods

oinline void setDataVariance(DataVariance dv)
oinline DataVariance getDataVariance() const
oinline void setUserData(Referenced* obj)
oinline Referenced* getUserData()
oinline const Referenced* getUserData() const

Protected Fields

oDataVariance _dataVariance
oref_ptr<Referenced> _userData


Inherited from Referenced:

Public Methods

oinline Referenced& operator = (const Referenced&)
ostatic void setDeleteHandler(DeleteHandler* handler)
ostatic DeleteHandler* getDeleteHandler()
oinline void ref() const
oinline void unref_nodelete() const
oinline int referenceCount() const
oinline void unref() const

Protected Fields

omutable OpenThreads::Mutex _refMutex
omutable int _refCount


Documentation

Leaf Node for grouping Drawables
otypedef std::vector< ref_ptr<Drawable> > DrawableList

o Geode()

o Geode(const Geode&, const CopyOp& copyop=CopyOp::SHALLOW_COPY)
Copy constructor using CopyOp to manage deep vs shallow copy

o META_Node(osg, Geode)

ovirtual bool addDrawable( Drawable* drawable )
Add Drawable to Geode. If gset is not NULL and is not contained in Geode then increment its reference count, add it to the drawables list and dirty the bounding sphere to force it to recompute on next getBound() and return true for success. Otherwise return false.

ovirtual bool removeDrawable( Drawable* drawable )
Remove Drawable from Geode. Equivalent to setDrawabke(getDrawableIndex(orignChild),node), see docs for setNode for futher details on implementation.

ovirtual bool removeDrawable(unsigned int i, unsigned int numDrawablesToRemove=1)
Remove drawable(s) from the specified position in Geode's drawable list

ovirtual bool replaceDrawable( Drawable* origDraw, Drawable* newDraw )
Replace specified Drawable with another Drawable. Equivalent to setDrawable(getDrawableIndex(orignChild),node), see docs for setDrawable for futher details on implementation.

ovirtual bool setDrawable( unsigned int i, Drawable* drawable )
set drawable at position i. return true if set correctly, false on failure (if node==NULL || i is out of range). 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.

oinline unsigned int getNumDrawables() const
return the number of drawable's

oinline Drawable* getDrawable( unsigned int i )
return drawable at position i

oinline const Drawable* getDrawable( unsigned int i ) const
return drawable at position i

oinline bool containsDrawable(const Drawable* gset) const
return true if drawable is contained within Geode

oinline unsigned int getDrawableIndex( const Drawable* node ) const
Get the index number of drawable, return a value between 0 and _drawablessize()-1 if found, if not found then return _drawablessize()

ovoid compileDrawables(State& state)
compile OpenGL Display List for each drawable

oinline const BoundingBox& getBoundingBox() const
return the Geode's bounding box, which the union of all the bounding boxes of the geode's drawables

ovirtual ~Geode()

ovirtual bool computeBound() const

omutable osg::BoundingBox _bbox

oDrawableList _drawables


Direct child classes:
Billboard

Alphabetic index HTML hierarchy of classes or Java



This page was generated with the help of DOC++.