Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

osg::PagedLOD Class Reference

PagedLOD. More...

Inheritance diagram for osg::PagedLOD:

Inheritance graph
[legend]
List of all members.

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 removeChild (Node *child)
 Remove Node 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 ()
virtual void childRemoved (unsigned int pos, unsigned int numChildrenToRemove)
virtual void childInserted (unsigned int pos)
virtual void rangeRemoved (unsigned int pos, unsigned int numChildrenToRemove)
virtual void rangeInserted (unsigned int pos)
void expandPerRangeDataTo (unsigned int pos)

Protected Attributes

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

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.

virtual void osg::PagedLOD::childInserted unsigned int  pos  )  [protected, virtual]
 

Reimplemented from osg::LOD.

virtual void osg::PagedLOD::childRemoved unsigned int  pos,
unsigned int  numChildrenToRemove
[protected, virtual]
 

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 void osg::PagedLOD::rangeInserted unsigned int  pos  )  [protected, virtual]
 

Reimplemented from osg::LOD.

virtual void osg::PagedLOD::rangeRemoved unsigned int  pos,
unsigned int  numChildrenToRemove
[protected, virtual]
 

Reimplemented from osg::LOD.

virtual bool osg::PagedLOD::removeChild Node child  )  [virtual]
 

Remove Node from Group.

If Node is contained in Group then remove it from the child list, decrement its reference count, and dirty the bounding sphere to force it to recompute on next getBound() and return true for success. If Node is not found then return false and do not change the reference count of the Node.

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 at Thu Nov 24 16:23:26 2005 for the OpenSceneGraph by doxygen 1.3.6.