# osg::PagedLOD Class Reference

PagedLOD. More...

Inheritance diagram for osg::PagedLOD:

[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 | 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.
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

## Classes

struct | PerRangeData

## Detailed Description

PagedLOD.

## Member Typedef Documentation

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

## Constructor & Destructor Documentation

PagedLOD::PagedLOD | ( |  | ) |

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

bool PagedLOD::addChild | ( | Node * | child,
|  | float | min,
|  | float | max,
|  | const std::string & | filename,
|  | float | priorityOffset = `0.0f`,
|  | float | priorityScale = `1.0f`
| ) | `[virtual]`

bool PagedLOD::addChild | ( | Node * | child,
|  | float | min,
|  | float | max
| ) | `[virtual]`

| Reimplemented from osg::LOD.

bool 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 PagedLOD::childInserted | ( | unsigned int | pos | ) | `[protected, virtual]`

| Reimplemented from osg::LOD.

void PagedLOD::childRemoved | ( | unsigned int | pos,
|  | unsigned int | numChildrenToRemove
| ) | `[protected, virtual]`

| Reimplemented from osg::LOD.

void 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 |
| ) |

void PagedLOD::rangeInserted | ( | unsigned int | pos | ) | `[protected, virtual]`

| Reimplemented from osg::LOD.

void PagedLOD::rangeRemoved | ( | unsigned int | pos,
|  | unsigned int | numChildrenToRemove
| ) | `[protected, virtual]`

| Reimplemented from osg::LOD.

bool 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.

bool PagedLOD::removeExpiredChildren | ( | double | expiryTime,
|  | NodeList & | removedChildren
| ) |

| 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 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]`

void 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 files:

- PagedLOD
- PagedLOD.cpp