15 #define OSG_PagedLOD 1
38 virtual bool addChild(
Node *child);
40 virtual bool addChild(
Node *child,
float min,
float max);
42 virtual bool addChild(
Node *child,
float min,
float max,
const std::string& filename,
float priorityOffset=0.0f,
float priorityScale=1.0f);
44 virtual bool removeChildren(
unsigned int pos,
unsigned int numChildrenToRemove=1);
58 void setDatabasePath(
const std::string& path);
67 PerRangeData(
const PerRangeData& prd);
68 PerRangeData& operator = (
const PerRangeData& prd);
83 void setFileName(
unsigned int childNo,
const std::string& filename) { expandPerRangeDataTo(childNo); _perRangeDataList[childNo]._filename=filename; }
84 const std::string&
getFileName(
unsigned int childNo)
const {
return _perRangeDataList[childNo]._filename; }
85 unsigned int getNumFileNames()
const {
return static_cast<unsigned int>(_perRangeDataList.size()); }
88 void setPriorityOffset(
unsigned int childNo,
float priorityOffset) { expandPerRangeDataTo(childNo); _perRangeDataList[childNo]._priorityOffset=priorityOffset; }
89 float getPriorityOffset(
unsigned int childNo)
const {
return _perRangeDataList[childNo]._priorityOffset; }
92 void setPriorityScale(
unsigned int childNo,
float priorityScale) { expandPerRangeDataTo(childNo); _perRangeDataList[childNo]._priorityScale=priorityScale; }
93 float getPriorityScale(
unsigned int childNo)
const {
return _perRangeDataList[childNo]._priorityScale; }
97 void setMinimumExpiryTime(
unsigned int childNo,
double minTime) { expandPerRangeDataTo(childNo); _perRangeDataList[childNo]._minExpiryTime=minTime; }
98 double getMinimumExpiryTime(
unsigned int childNo)
const {
return _perRangeDataList[childNo]._minExpiryTime; }
102 void setMinimumExpiryFrames(
unsigned int childNo,
unsigned int minFrames) { expandPerRangeDataTo(childNo); _perRangeDataList[childNo]._minExpiryFrames=minFrames; }
107 void setTimeStamp(
unsigned int childNo,
double timeStamp) { expandPerRangeDataTo(childNo); _perRangeDataList[childNo]._timeStamp=timeStamp; }
108 double getTimeStamp(
unsigned int childNo)
const {
return _perRangeDataList[childNo]._timeStamp; }
109 unsigned int getNumTimeStamps()
const {
return static_cast<unsigned int>(_perRangeDataList.size()); }
111 void setFrameNumber(
unsigned int childNo,
unsigned int frameNumber) { expandPerRangeDataTo(childNo); _perRangeDataList[childNo]._frameNumber=frameNumber; }
112 unsigned getFrameNumber(
unsigned int childNo)
const {
return _perRangeDataList[childNo]._frameNumber; }
113 unsigned int getNumFrameNumbers()
const {
return static_cast<unsigned int>(_perRangeDataList.size()); }
152 virtual bool removeExpiredChildren(
double expiryTime,
unsigned int expiryFrame,
NodeList& removedChildren);
158 void expandPerRangeDataTo(
unsigned int pos);
unsigned int getNumPriorityScales() const
unsigned int getFrameNumberOfLastTraversal() const
const std::string & getFileName(unsigned int childNo) const
void setTimeStamp(unsigned int childNo, double timeStamp)
unsigned int _numChildrenThatCannotBeExpired
unsigned int getNumChildrenThatCannotBeExpired() const
unsigned int getNumFileNames() const
unsigned int getNumMinimumExpiryFrames() const
const osg::ref_ptr< osg::Referenced > & getDatabaseRequest(unsigned int childNo) const
bool _disableExternalChildrenPaging
float getPriorityOffset(unsigned int childNo) const
osg::ref_ptr< osg::Referenced > _databaseRequest
unsigned int getNumPriorityOffsets() const
void setPriorityOffset(unsigned int childNo, float priorityOffset)
const osg::Referenced * getDatabaseOptions() const
#define META_Node(library, name)
osg::ref_ptr< osg::Referenced > & getDatabaseRequest(unsigned int childNo)
unsigned getFrameNumber(unsigned int childNo) const
void setPriorityScale(unsigned int childNo, float priorityScale)
float getPriorityScale(unsigned int childNo) const
void setFrameNumber(unsigned int childNo, unsigned int frameNumber)
unsigned int getMinimumExpiryFrames(unsigned int childNo) const
double getMinimumExpiryTime(unsigned int childNo) const
unsigned int _frameNumberOfLastTraversal
PerRangeDataList _perRangeDataList
std::string _databasePath
double getTimeStamp(unsigned int childNo) const
const std::string & getDatabasePath() const
unsigned int _frameNumber
unsigned int getNumFrameNumbers() const
osg::Referenced * getDatabaseOptions()
unsigned int _frameNumberOfLastReleaseGLObjects
void setDisableExternalChildrenPaging(bool flag)
void setMinimumExpiryTime(unsigned int childNo, double minTime)
void setMinimumExpiryFrames(unsigned int childNo, unsigned int minFrames)
void setNumChildrenThatCannotBeExpired(unsigned int num)
void setFrameNumberOfLastTraversal(unsigned int frameNumber)
std::vector< ref_ptr< Node > > NodeList
bool getDisableExternalChildrenPaging() const
unsigned int _minExpiryFrames
ref_ptr< Referenced > _databaseOptions
std::vector< PerRangeData > PerRangeDataList
unsigned int getNumMinimumExpiryTimes() const
void setDatabaseOptions(osg::Referenced *options)
void setFileName(unsigned int childNo, const std::string &filename)
unsigned int getNumTimeStamps() const