class SG_EXPORT osg::LOD

LOD - Level Of Detail group node which allows switching between children depending on distance from eye point.

Inheritance:


Public Methods

[more] LOD()
[more] META_Node(LOD)
[more]virtual void traverse(NodeVisitor& nv)
[more]void setRange(const unsigned int index, const float range)
Sets the value of range list element index to range which is a floating point distance specified in world coordinates.
[more]inline const float getRange(const unsigned int index) const
returns the range for specified index
[more]inline const int getNumRanges() const
returns the number of ranges currently set
[more]inline void setCenter(const Vec3 &center)
Sets the object-space point which defines the center of the osg::LOD.
[more]inline const Vec3& getCenter() const
return the LOD center point.
[more]const int evaluate(const Vec3& eye_local, const float bias=1.0f) const
return the child to traverse.

Protected Fields

[more]RangeList _rangeList2
[more]Vec3 _center

Protected Methods

[more]virtual ~LOD()

Protected Members

[more]typedef std::vector<float> RangeList RangeList _rangeList


Inherited from Group:

Public Methods

ovirtual bool addChild( Node* child )
ovirtual bool removeChild( Node* child )
ovirtual bool replaceChild( Node* origChild, Node* newChild )
oinline const int getNumChildren() const
oinline Node* getChild( const int i )
oinline const Node* getChild( const int i ) const
oinline bool containsNode( const Node* node ) const
oinline ChildList::iterator findNode( const Node* node )
oinline ChildList::const_iterator findNode( const Node* node ) const

Protected Fields

oChildList _children

Protected Methods

ovirtual const bool computeBound() const


Inherited from Node:

Public Methods

ovirtual Object* clone() const
ovirtual bool isSameKindAs(const Object* obj) const
ovirtual const char* className() const
ovirtual void accept(NodeVisitor& nv)
ovirtual void ascend(NodeVisitor& nv)
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 Group* getParent(const int i)
oinline const Group* getParent(const int i) const
oinline const int getNumParents() const
ovoid setAppCallback(NodeCallback* nc)
oinline NodeCallback* getAppCallback()
oinline const NodeCallback* getAppCallback() const
oinline const int getNumChildrenRequiringAppTraversal() const
oinline void setUserData(void* data, MemoryAdapter* ma=0L)
oinline void* getUserData()
oinline const void* getUserData() const
oinline MemoryAdapter* getMemoryAdapter()
oinline const MemoryAdapter* getMemoryAdapter() const
oinline void setNodeMask(const NodeMask nm)
oinline const NodeMask getNodeMask() const
oinline const DescriptionList& getDescriptions() const
oinline DescriptionList& getDescriptions()
oinline const std::string& getDescription(const int i) const
oinline std::string& getDescription(const int i)
oinline const int getNumDescriptions() const
ovoid addDescription(const std::string& desc)
oinline void setStateSet(osg::StateSet* dstate)
oinline osg::StateSet* getStateSet()
oinline const osg::StateSet* getStateSet() const
oinline const BoundingSphere& getBound() const
ovoid dirtyBound()

Public Members

otypedef std::vector<Group*> ParentList
otypedef std::vector<std::string> DescriptionList

Protected Fields

omutable BoundingSphere _bsphere
omutable bool _bsphere_computed
ostd::string _name
oParentList _parents
oref_ptr<NodeCallback> _appCallback
oint _numChildrenRequiringAppTraversal
ovoid* _userData
oref_ptr<MemoryAdapter> _memoryAdapter
oNodeMask _nodeMask
oDescriptionList _descriptions
oref_ptr<StateSet> _dstate

Protected Methods

ovoid setNumChildrenRequiringAppTraversal(const int num)


Inherited from Object:


Inherited from Referenced:

Public Methods

oinline Referenced& operator = (Referenced&)
oinline void ref() const
oinline void unref() const
oinline const int referenceCount() const

Protected Fields

omutable int _refCount


Documentation

LOD - Level Of Detail group node which allows switching between children depending on distance from eye point. Typical uses are for load balancing - objects further away from the eye point are rendered at a lower level of detail, and at times of high stress on the graphics pipeline lower levels of detail can also be chosen.
o LOD()

o META_Node(LOD)

ovirtual void traverse(NodeVisitor& nv)

ovoid setRange(const unsigned int index, const float range)
Sets the value of range list element index to range which is a floating point distance specified in world coordinates. Range list automatically expands to accomodate values beyond the current getNumRanges().

oinline const float getRange(const unsigned int index) const
returns the range for specified index

oinline const int getNumRanges() const
returns the number of ranges currently set

oinline void setCenter(const Vec3 &center)
Sets the object-space point which defines the center of the osg::LOD. center is affected by any transforms in the hierarchy above the osg::LOD.

oinline const Vec3& getCenter() const
return the LOD center point.

oconst int evaluate(const Vec3& eye_local, const float bias=1.0f) const
return the child to traverse. Selected by the distance between the eye point in local coordinates and the LOD center, mutliplied by the bias.

ovirtual ~LOD()

otypedef std::vector<float> RangeList RangeList _rangeList

oRangeList _rangeList2

oVec3 _center


Direct child classes:
Impostor

Alphabetic index HTML hierarchy of classes or Java



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