osg::PagedLOD Class Reference

Inheritance diagram for osg::PagedLOD:

osg::LOD osg::Group osg::Node osg::Object osg::Referenced List of all members.

Public Types

typedef std::vector< PerRangeDataPerRangeDataList

Public Member Functions

 PagedLOD ()
 PagedLOD (const PagedLOD &, const CopyOp &copyop=CopyOp::SHALLOW_COPY)
 META_Node (osg, PagedLOD)
virtual void traverse (NodeVisitor &nv)
virtual bool addChild (Node *child)
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)
void setDatabasePath (const std::string &path)
const std::string & getDatabasePath () const
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)
int getFrameNumberOfLastTraversal () const
void setNumChildrenThatCannotBeExpired (unsigned int num)
unsigned int getNumChildrenThatCannotBeExpired () const
virtual bool removeExpiredChildren (double expiryTime, NodeList &removedChildren)

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

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::addChild ( Node child,
float  min,
float  max 
) [virtual]

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.

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.

const std::string& osg::PagedLOD::getFileName ( 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::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,
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::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::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 nv  )  [virtual]

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

Reimplemented from osg::LOD.


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 on Sun Oct 1 13:17:07 2006 for openscenegraph by  doxygen 1.4.7