Changeset 12942
- Timestamp:
- 02/06/12 13:06:40 (16 months ago)
- Location:
- OpenSceneGraph/trunk
- Files:
-
- 2 modified
-
include/osg/PagedLOD (modified) (2 diffs)
-
src/osg/PagedLOD.cpp (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
OpenSceneGraph/trunk/include/osg/PagedLOD
r12056 r12942 71 71 float _priorityOffset; 72 72 float _priorityScale; 73 double _minExpiryTime; 74 unsigned int _minExpiryFrames; 73 75 double _timeStamp; 74 76 unsigned int _frameNumber; … … 91 93 float getPriorityScale(unsigned int childNo) const { return _perRangeDataList[childNo]._priorityScale; } 92 94 unsigned int getNumPriorityScales() const { return _perRangeDataList.size(); } 95 96 /** Sets the minimum amount of time, in seconds, that must pass without a child being traversed before it can be expired. */ 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; } 99 unsigned int getNumMinimumExpiryTimes() const { return _perRangeDataList.size(); } 100 101 /** Sets the minimum number of frames that must be rendered without a child being traversed before it can be expired. */ 102 void setMinimumExpiryFrames(unsigned int childNo, unsigned int minFrames) { expandPerRangeDataTo(childNo); _perRangeDataList[childNo]._minExpiryFrames=minFrames; } 103 unsigned int getMinimumExpiryFrames(unsigned int childNo) const { return _perRangeDataList[childNo]._minExpiryFrames; } 104 unsigned int getNumMinimumExpiryFrames() const { return _perRangeDataList.size(); } 93 105 94 106 -
OpenSceneGraph/trunk/src/osg/PagedLOD.cpp
r12271 r12942 23 23 _priorityOffset(0.0f), 24 24 _priorityScale(1.0f), 25 _minExpiryTime(0.0), 26 _minExpiryFrames(0), 25 27 _timeStamp(0.0f), 26 28 _frameNumber(0), … … 31 33 _priorityOffset(prd._priorityOffset), 32 34 _priorityScale(prd._priorityScale), 35 _minExpiryTime(prd._minExpiryTime), 36 _minExpiryFrames(prd._minExpiryFrames), 33 37 _timeStamp(prd._timeStamp), 34 38 _frameNumber(prd._frameNumber), … … 46 50 _frameNumberOfLastReleaseGLObjects = prd._frameNumberOfLastReleaseGLObjects; 47 51 _databaseRequest = prd._databaseRequest; 52 _minExpiryTime = prd._minExpiryTime; 53 _minExpiryFrames = prd._minExpiryFrames; 48 54 return *this; 49 55 } … … 291 297 unsigned cindex = _children.size() - 1; 292 298 if (!_perRangeDataList[cindex]._filename.empty() && 293 _perRangeDataList[cindex]._timeStamp <expiryTime &&294 _perRangeDataList[cindex]._frameNumber <expiryFrame)299 _perRangeDataList[cindex]._timeStamp + _perRangeDataList[cindex]._minExpiryTime < expiryTime && 300 _perRangeDataList[cindex]._frameNumber + _perRangeDataList[cindex]._minExpiryFrames < expiryFrame) 295 301 { 296 302 osg::Node* nodeToRemove = _children[cindex].get();
