osg::PagedLOD Class Reference

PagedLOD. More...

Inheritance diagram for osg::PagedLOD:

Inheritance graph
[legend]

List of all members.

Public Types

typedef std::vector
< PerRangeData
PerRangeDataList

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 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, NodeList &removedChildren)
 Remove the children from the PagedLOD which haven't been visited since specified expiry time.

Protected Member Functions

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

Protected Attributes

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

Classes

struct  PerRangeData


Detailed Description

PagedLOD.

Member Typedef Documentation

typedef std::vector<PerRangeData> osg::PagedLOD::PerRangeDataList


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 (  )  [inline, protected, virtual]


Member Function Documentation

osg::PagedLOD::META_Node ( osg  ,
PagedLOD   
)

virtual void osg::PagedLOD::traverse ( NodeVisitor  )  [virtual]

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

Reimplemented from osg::LOD.

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]

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.

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

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

const std::string& osg::PagedLOD::getDatabasePath (  )  const [inline]

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

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

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

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

void osg::PagedLOD::setPriorityOffset ( unsigned int  childNo,
float  priorityOffset 
) [inline]

float osg::PagedLOD::getPriorityOffset ( unsigned int  childNo  )  const [inline]

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

void osg::PagedLOD::setPriorityScale ( unsigned int  childNo,
float  priorityScale 
) [inline]

float osg::PagedLOD::getPriorityScale ( unsigned int  childNo  )  const [inline]

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

void osg::PagedLOD::setTimeStamp ( unsigned int  childNo,
double  timeStamp 
) [inline]

double osg::PagedLOD::getTimeStamp ( unsigned int  childNo  )  const [inline]

unsigned int osg::PagedLOD::getNumTimeStamps (  )  const [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.).

int osg::PagedLOD::getFrameNumberOfLastTraversal (  )  const [inline]

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

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.

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.

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

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

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::expandPerRangeDataTo ( unsigned int  pos  )  [protected]


Member Data Documentation

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

int osg::PagedLOD::_frameNumberOfLastTraversal [protected]

unsigned int osg::PagedLOD::_numChildrenThatCannotBeExpired [protected]

PerRangeDataList osg::PagedLOD::_perRangeDataList [protected]


The documentation for this class was generated from the following file:
Generated at Sun Oct 14 02:12:13 2007 for the OpenSceneGraph by doxygen 1.5.3.