OpenSceneGraph 2.8.3

osg::PagedLOD Class Reference

PagedLOD. More...

Inheritance diagram for osg::PagedLOD:

List of all members.

Classes

struct  PerRangeData

Public Types

typedef std::vector< PerRangeDataPerRangeDataList

Public Member Functions

 PagedLOD ()
 PagedLOD (const PagedLOD &, const CopyOp &copyop=CopyOp::SHALLOW_COPY)
 Copy constructor using CopyOp to manage deep vs shallow copy.
 META_Node (osg, PagedLOD)
virtual void traverse (NodeVisitor &nv)
 Traverse downwards : calls children's accept method with NodeVisitor.
virtual bool addChild (Node *child)
 Add Node to Group.
virtual bool addChild (Node *child, float min, float max)
virtual bool addChild (Node *child, float min, float max, const std::string &filename, float priorityOffset=0.0f, float priorityScale=1.0f)
virtual bool removeChildren (unsigned int pos, unsigned int numChildrenToRemove=1)
 Remove children from Group.
void setDatabasePath (const std::string &path)
 Set the database path to prepend to children's filenames.
const std::string & getDatabasePath () const
 Get the database path used to prepend to children's filenames.
void setFileName (unsigned int childNo, const std::string &filename)
const std::string & getFileName (unsigned int childNo) const
unsigned int getNumFileNames () const
void setPriorityOffset (unsigned int childNo, float priorityOffset)
float getPriorityOffset (unsigned int childNo) const
unsigned int getNumPriorityOffsets () const
void setPriorityScale (unsigned int childNo, float priorityScale)
float getPriorityScale (unsigned int childNo) const
unsigned int getNumPriorityScales () const
void setTimeStamp (unsigned int childNo, double timeStamp)
double getTimeStamp (unsigned int childNo) const
unsigned int getNumTimeStamps () const
void setFrameNumber (unsigned int childNo, int frameNumber)
double getFrameNumber (unsigned int childNo) const
unsigned int getNumFrameNumbers () const
osg::ref_ptr< osg::Referenced > & getDatabaseRequest (unsigned int childNo)
 Return the DatabaseRequest object used by the DatabasePager to keep track of file load requests being carried on behalf of the DatabasePager.
const osg::ref_ptr
< osg::Referenced > & 
getDatabaseRequest (unsigned int childNo) const
 Return the const DatabaseRequest object.
void setFrameNumberOfLastTraversal (int frameNumber)
 Set the frame number of the last time that this PageLOD node was traversed.
int getFrameNumberOfLastTraversal () const
 Get the frame number of the last time that this PageLOD node was traversed.
void setNumChildrenThatCannotBeExpired (unsigned int num)
 Set the number of children that the PagedLOD must keep around, even if they are older than their expiry time.
unsigned int getNumChildrenThatCannotBeExpired () const
 Get the number of children that the PagedLOD must keep around, even if they are older than their expiry time.
virtual bool removeExpiredChildren (double expiryTime, int expiryFrame, NodeList &removedChildren)
 Remove the children from the PagedLOD which haven't been visited since specified expiry time and expiry frame number.
virtual bool releaseGLObjectsOnExpiredChildren (double releaseTime, int releaseFrame)
 Release the GL Objects of the children from the PagedLOD which haven't been visited since specified expiry time and expiry frame number.

Protected Member Functions

virtual ~PagedLOD ()
void expandPerRangeDataTo (unsigned int pos)

Protected Attributes

std::string _databasePath
int _frameNumberOfLastTraversal
unsigned int _numChildrenThatCannotBeExpired
PerRangeDataList _perRangeDataList

Detailed Description


Member Typedef Documentation


Constructor & Destructor Documentation

osg::PagedLOD::PagedLOD ( )
osg::PagedLOD::PagedLOD ( const PagedLOD ,
const CopyOp copyop = CopyOp::SHALLOW_COPY 
)

Copy constructor using CopyOp to manage deep vs shallow copy.

virtual osg::PagedLOD::~PagedLOD ( ) [protected, virtual]

Member Function Documentation

virtual bool osg::PagedLOD::addChild ( Node child) [virtual]

Add Node to Group.

If node is not NULL and is not contained in Group then increment its reference count, add it to the child list and dirty the bounding sphere to force it to recompute on next getBound() and return true for success. Otherwise return false. Scene nodes can't be added as child nodes.

Reimplemented from osg::LOD.

virtual bool osg::PagedLOD::addChild ( Node child,
float  min,
float  max 
) [virtual]

Reimplemented from osg::LOD.

virtual bool osg::PagedLOD::addChild ( Node child,
float  min,
float  max,
const std::string &  filename,
float  priorityOffset = 0.0f,
float  priorityScale = 1.0f 
) [virtual]
void osg::PagedLOD::expandPerRangeDataTo ( unsigned int  pos) [protected]
const std::string& osg::PagedLOD::getDatabasePath ( ) const [inline]

Get the database path used to prepend to children's filenames.

osg::ref_ptr<osg::Referenced>& osg::PagedLOD::getDatabaseRequest ( unsigned int  childNo) [inline]

Return the DatabaseRequest object used by the DatabasePager to keep track of file load requests being carried on behalf of the DatabasePager.

Note, in normal OSG usage you should not set this value yourself, as this will be managed by the osgDB::DatabasePager.

const osg::ref_ptr<osg::Referenced>& osg::PagedLOD::getDatabaseRequest ( unsigned int  childNo) const [inline]

Return the const DatabaseRequest object.

const std::string& osg::PagedLOD::getFileName ( unsigned int  childNo) const [inline]
double osg::PagedLOD::getFrameNumber ( unsigned int  childNo) const [inline]
int osg::PagedLOD::getFrameNumberOfLastTraversal ( ) const [inline]

Get the frame number of the last time that this PageLOD node was traversed.

unsigned int osg::PagedLOD::getNumChildrenThatCannotBeExpired ( ) const [inline]

Get the number of children that the PagedLOD must keep around, even if they are older than their expiry time.

unsigned int osg::PagedLOD::getNumFileNames ( ) const [inline]
unsigned int osg::PagedLOD::getNumFrameNumbers ( ) const [inline]
unsigned int osg::PagedLOD::getNumPriorityOffsets ( ) const [inline]
unsigned int osg::PagedLOD::getNumPriorityScales ( ) const [inline]
unsigned int osg::PagedLOD::getNumTimeStamps ( ) const [inline]
float osg::PagedLOD::getPriorityOffset ( unsigned int  childNo) const [inline]
float osg::PagedLOD::getPriorityScale ( unsigned int  childNo) const [inline]
double osg::PagedLOD::getTimeStamp ( unsigned int  childNo) const [inline]
osg::PagedLOD::META_Node ( osg  ,
PagedLOD   
)
virtual bool osg::PagedLOD::releaseGLObjectsOnExpiredChildren ( double  releaseTime,
int  releaseFrame 
) [virtual]

Release the GL Objects of the children from the PagedLOD which haven't been visited since specified expiry time and expiry frame number.

Return true if any children have release called upon them, false otherwise.

virtual bool osg::PagedLOD::removeChildren ( unsigned int  pos,
unsigned int  numChildrenToRemove = 1 
) [virtual]

Remove children from Group.

Note, must be override by subclasses of Group which add per child attributes.

Reimplemented from osg::LOD.

virtual bool osg::PagedLOD::removeExpiredChildren ( double  expiryTime,
int  expiryFrame,
NodeList removedChildren 
) [virtual]

Remove the children from the PagedLOD which haven't been visited since specified expiry time and expiry frame number.

The removed children are added to the removeChildren list passed into the method, this allows the children to be deleted later at the caller's discretion. Return true if children are removed, false otherwise.

void osg::PagedLOD::setDatabasePath ( const std::string &  path)

Set the database path to prepend to children's filenames.

void osg::PagedLOD::setFileName ( unsigned int  childNo,
const std::string &  filename 
) [inline]
void osg::PagedLOD::setFrameNumber ( unsigned int  childNo,
int  frameNumber 
) [inline]
void osg::PagedLOD::setFrameNumberOfLastTraversal ( int  frameNumber) [inline]

Set the frame number of the last time that this PageLOD node was traversed.

Note, this frame number is automatically set by the traverse() method for all traversals (update, cull etc.).

void osg::PagedLOD::setNumChildrenThatCannotBeExpired ( unsigned int  num) [inline]

Set the number of children that the PagedLOD must keep around, even if they are older than their expiry time.

void osg::PagedLOD::setPriorityOffset ( unsigned int  childNo,
float  priorityOffset 
) [inline]
void osg::PagedLOD::setPriorityScale ( unsigned int  childNo,
float  priorityScale 
) [inline]
void osg::PagedLOD::setTimeStamp ( unsigned int  childNo,
double  timeStamp 
) [inline]
virtual void osg::PagedLOD::traverse ( NodeVisitor ) [virtual]

Traverse downwards : calls children's accept method with NodeVisitor.

Reimplemented from osg::LOD.


Member Data Documentation

std::string osg::PagedLOD::_databasePath [protected]

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

osg logo
Generated at Tue Mar 22 2011 13:20:22 for the OpenSceneGraph by doxygen 1.7.3.