Public Types | |
typedef std::vector < PerRangeData > | PerRangeDataList |
Public Member Functions | |
PagedLOD () | |
PagedLOD (const PagedLOD &, const CopyOp ©op=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 |
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] |
osg::PagedLOD::META_Node | ( | osg | , | |
PagedLOD | ||||
) |
virtual void osg::PagedLOD::traverse | ( | NodeVisitor & | ) | [virtual] |
virtual bool osg::PagedLOD::addChild | ( | Node * | child | ) | [virtual] |
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] |
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] |
std::string osg::PagedLOD::_databasePath [protected] |
int osg::PagedLOD::_frameNumberOfLastTraversal [protected] |
unsigned int osg::PagedLOD::_numChildrenThatCannotBeExpired [protected] |
PerRangeDataList osg::PagedLOD::_perRangeDataList [protected] |