OpenSceneGraph  3.0.1
Classes | Public Types | Public Member Functions | Protected Member Functions | Protected Attributes
osg::PagedLOD Class Reference

PagedLOD. More...

Inheritance diagram for osg::PagedLOD:
Inheritance graph
[legend]

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 setDatabaseOptions (osg::Referenced *options)
 Set the optional database osgDB::Options object to use when loaded children.
osg::ReferencedgetDatabaseOptions ()
 Get the optional database osgDB::Options object used when loaded children.
const osg::ReferencedgetDatabaseOptions () const
 Get the optional database osgDB::Options object used when loaded children.
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, unsigned int frameNumber)
unsigned 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 (unsigned int frameNumber)
 Set the frame number of the last time that this PageLOD node was traversed.
unsigned 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.
void setDisableExternalChildrenPaging (bool flag)
 Set wether you want to disable the paging in of external nodes.
bool getDisableExternalChildrenPaging () const
virtual bool removeExpiredChildren (double expiryTime, unsigned int expiryFrame, NodeList &removedChildren)
 Remove 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

ref_ptr< Referenced_databaseOptions
std::string _databasePath
unsigned int _frameNumberOfLastTraversal
unsigned int _numChildrenThatCannotBeExpired
bool _disableExternalChildrenPaging
PerRangeDataList _perRangeDataList

Detailed Description

PagedLOD.


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]
osg::Referenced* osg::PagedLOD::getDatabaseOptions ( ) [inline]

Get the optional database osgDB::Options object used when loaded children.

const osg::Referenced* osg::PagedLOD::getDatabaseOptions ( ) const [inline]

Get the optional database osgDB::Options object used when loaded children.

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.

bool osg::PagedLOD::getDisableExternalChildrenPaging ( ) const [inline]
const std::string& osg::PagedLOD::getFileName ( unsigned int  childNo) const [inline]
unsigned osg::PagedLOD::getFrameNumber ( unsigned int  childNo) const [inline]
unsigned 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::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,
unsigned 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::setDatabaseOptions ( osg::Referenced options) [inline]

Set the optional database osgDB::Options object to use when loaded children.

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

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

void osg::PagedLOD::setDisableExternalChildrenPaging ( bool  flag) [inline]

Set wether you want to disable the paging in of external nodes.

void osg::PagedLOD::setFileName ( unsigned int  childNo,
const std::string &  filename 
) [inline]
void osg::PagedLOD::setFrameNumber ( unsigned int  childNo,
unsigned int  frameNumber 
) [inline]
void osg::PagedLOD::setFrameNumberOfLastTraversal ( unsigned 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 Mon Oct 3 2011 12:39:43 for the OpenSceneGraph by doxygen 1.7.5.