Inheritance diagram for osg::PagedLOD:
Public Types | |
typedef std::vector< PerRangeData > | PerRangeDataList |
Public Member Functions | |
PagedLOD () | |
PagedLOD (const PagedLOD &, const CopyOp ©op=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 |
typedef std::vector<PerRangeData> osg::PagedLOD::PerRangeDataList |
osg::PagedLOD::PagedLOD | ( | ) |
Copy constructor using CopyOp to manage deep vs shallow copy.
virtual osg::PagedLOD::~PagedLOD | ( | ) | [inline, protected, virtual] |
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] |
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.
std::string osg::PagedLOD::_databasePath [protected] |
int osg::PagedLOD::_frameNumberOfLastTraversal [protected] |
unsigned int osg::PagedLOD::_numChildrenThatCannotBeExpired [protected] |
PerRangeDataList osg::PagedLOD::_perRangeDataList [protected] |