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] LOD(const LOD&, const CopyOp& copyop=CopyOp::SHALLOW_COPY)
Copy constructor using CopyOp to manage deep vs shallow copy
[more] META_Node(osg, LOD)
[more]virtual void traverse(NodeVisitor& nv)
[more]virtual bool addChild(Node* child)
[more]virtual bool addChild(Node* child, float min, float max)
[more]virtual bool removeChild(Node* child)
[more]void setCenterMode(CenterMode mode)
[more]CenterMode getCenterMode() const
[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]void setRange(unsigned int childNo, float min, float max)
Sets the min and max visible ranges of range of specifiec child.
[more]inline float getMinRange(unsigned int childNo) const
returns the min visible range for specified child
[more]inline float getMaxRange(unsigned int childNo) const
returns the max visible range for specified child
[more]inline unsigned int getNumRanges() const
returns the number of ranges currently set.
[more]inline RangeList& getRangeList()
return the list of MinMax ranges for each child
[more]inline const RangeList& getRangeList() const
return the list of MinMax ranges for each child

Public Members

[more]typedef std::pair<float,float> MinMaxPair
[more]typedef std::vector<MinMaxPair> RangeList
[more]enum CenterMode

Protected Fields

[more]CenterMode _centerMode
[more]Vec3 _userDefinedCenter
[more]RangeList _rangeList

Protected Methods

[more]virtual ~LOD()


Inherited from Group:

Public Methods

ovirtual Group* asGroup()
ovirtual const Group* asGroup() const
ovirtual bool replaceChild( Node* origChild, Node* newChild )
oinline unsigned int getNumChildren() const
oinline Node* getChild( unsigned int i )
oinline const Node* getChild( unsigned 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
oinline unsigned int findChildNo( const Node* node ) const

Public Members

otypedef std::vector<ref_ptr<Node> > ChildList

Protected Fields

oChildList _children

Protected Methods

ovirtual bool computeBound() const


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. The children are ordered from most detailed (for close up views) to the least (see from a distance), and a set of ranges are used to decide which LOD is used at different view distances, the criteria used is child 'i' is used when range[i]
o LOD()

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

o META_Node(osg, LOD)

ovirtual void traverse(NodeVisitor& nv)

ovirtual bool addChild(Node* child)

ovirtual bool addChild(Node* child, float min, float max)

ovirtual bool removeChild(Node* child)

otypedef std::pair<float,float> MinMaxPair

otypedef std::vector<MinMaxPair> RangeList

oenum CenterMode

o USE_BOUNDING_SPHERE_CENTER

o USER_DEFINED_CENTER

ovoid setCenterMode(CenterMode mode)

oCenterMode getCenterMode() const

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.

ovoid setRange(unsigned int childNo, float min, float max)
Sets the min and max visible ranges of range of specifiec child. Values are floating point distance specified in local objects coordinates.

oinline float getMinRange(unsigned int childNo) const
returns the min visible range for specified child

oinline float getMaxRange(unsigned int childNo) const
returns the max visible range for specified child

oinline unsigned int getNumRanges() const
returns the number of ranges currently set. An LOD which has been fully set up will have getNumChildren()==getNumRanges().

oinline RangeList& getRangeList()
return the list of MinMax ranges for each child

oinline const RangeList& getRangeList() const
return the list of MinMax ranges for each child

ovirtual ~LOD()

oCenterMode _centerMode

oVec3 _userDefinedCenter

oRangeList _rangeList


Direct child classes:
Impostor

Alphabetic index HTML hierarchy of classes or Java



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