Commit Graph

31 Commits

Author SHA1 Message Date
Robert Osfield
027158b441 From Laurens Voerman, "I hit a bug when making a copy of a PagedLOD node, the copy has lost
it's _databasePath and can no longer load it's childen. " 

Added _databasePath(plod._databasePath), in the copy copy construcutor.
2007-09-03 09:56:30 +00:00
Robert Osfield
d730559ade Fixed spacing. 2007-09-03 09:54:24 +00:00
Robert Osfield
982a4db9e2 Added ViewPoint support into NodeVistor/CullStack/CullVisitor/LOD/PagedLOD etc to facilate
management of LOD settings for RTT cameras.
2006-12-15 17:27:18 +00:00
Robert Osfield
f1c2694c17 Updated copyright years. 2006-07-18 15:21:48 +00:00
Robert Osfield
3132f1f2f7 Fixed expire of children to work with the new Group::removeChildren method. 2006-05-04 19:15:52 +00:00
Robert Osfield
43f0efd6d2 Reorganised the Group::removeChild and Geode::removeDrawable methods so
that removeChild(Node*), removeChild(uint) and equivilant Geode methods are
now inline methods, not designed to be overriden, and seperated out the
multiple remove method to be called removeChildren(uint, uint) which is
now the only virtual method.  There removeChildren is now the method to
override in subclasses.

This reorganisation requires some call code to be rename removeChild usage
to removeChildren.
2006-05-02 09:45:31 +00:00
Robert Osfield
85b3c4b179 Added check against LODScale being zero, and fixed the search for the maximum
LOD range in the pixel size range fallback.
2005-11-22 10:26:27 +00:00
Robert Osfield
611e49b736 From Chris Hanson, add LODScale support to pixel based LOD range selection. 2005-11-22 10:08:00 +00:00
Robert Osfield
05528abf25 From Chris Hanson:
Spelling fixes in include/osg/LOD

   Negated priority in PagedLOD when using _rangeMode==PIXEL_SIZE_ON_SCREEN

   Added clampedPixelSize() methods to CullStack and CullingSet to return fabs()ed values.

   Changed LOD and PagedLOD ::traverse to use clampedPixelSize() methods.
2005-09-28 13:33:58 +00:00
Robert Osfield
0e4b263ddb Fix PagedLOD::addChild(,,) so that they allocate the correct size of range data. 2005-07-14 20:32:25 +00:00
Robert Osfield
678b22ce83 Updated Copyright notices to 1998-2005. 2005-04-14 21:41:28 +00:00
Robert Osfield
7d24d9fdd5 Added #include <algorithm> 2005-04-08 12:22:03 +00:00
Robert Osfield
5adff5c15e Added support for pixel based LOD's and set the default priority scale to 1.0 2004-11-20 12:08:33 +00:00
Robert Osfield
796b4cbe8d Added support for pixel range to PagedLOD 2004-11-20 11:48:28 +00:00
Robert Osfield
b60304f8ad Improvements to support for archives 2004-11-12 08:55:11 +00:00
Robert Osfield
7e4d34c57a Added :
osg::PagedLOD::s/getDatabasePath() and support in PagedLOD::traverse().
    osgDB::ReaderWriter::Options::s/getDatabasePath()
    osgDB::Input::s/getOptions()
    setting of osgDB::Input::setOptions() in ReaderWriterOSG.cpp
    src/osgPlugins/ive/DataInputStream::s/getOptions()
    setting of src/osgPlugins/ive/DataInputStream::setOptions() in ReaderWriterIVE.cpp
2004-10-06 09:31:34 +00:00
Robert Osfield
0d884d66eb Various improvements to database paing. 2004-09-21 17:26:08 +00:00
Robert Osfield
ebad31c3dd Fixed warnings 2004-08-02 13:57:47 +00:00
Robert Osfield
0c38189018 Moved the radius parameter from PageLOD into LOD. 2004-07-01 13:53:30 +00:00
Robert Osfield
4aa7afedf3 Removed include <iostream> where possible, replacing with istream or ostream and changing
std::cout/cerr to osg::notify().
2004-03-03 13:27:21 +00:00
Robert Osfield
24b710986f Fixed the PagedLOD::removeExpiredChildren() so it only removes the high
res child that has expired and no more.
2004-02-01 16:13:07 +00:00
Robert Osfield
cace776940 Moaved PagedLOD::PerRangeData implementaton into .cpp and add missing
return *this to copy operator.
2004-01-07 08:39:33 +00:00
Robert Osfield
3f9ba1484c Added code to scale the priority by the offset and scale. 2004-01-05 20:51:30 +00:00
Robert Osfield
413064fc6e Added support for priority offset and scale into PagedLOD. 2004-01-05 20:45:28 +00:00
Robert Osfield
315065df24 Fixed PagedLOD's handling of distances beyond the furthest range. 2003-12-20 23:25:05 +00:00
Robert Osfield
1baffa3a77 Addition of the following methods:
/** Set the object-space reference radius of the volume enclosed by the PagedLOD.
          * Used to detmine the bounding sphere of the PagedLOD in the absense of any children.*/
        inline void setRadius(float radius) { _radius = radius; }

        /** Get the object-space radius of the volume enclosed by the PagedLOD.*/
        inline float getRadius() const { return _radius; }


        /** Set the number of children that the PagedLOD must keep around, even if thay are older than their expiry time.*/
        inline void setNumChildrenThatCannotBeExpired(unsigned int num) { _numChildrenThatCannotBeExpired = num; }

        /** Get the number of children that the PagedLOD must keep around, even if thay are older than their expiry time.*/
        unsigned int getNumChildrenThatCannotBeExpired() const { return _numChildrenThatCannotBeExpired; }
2003-12-09 12:08:27 +00:00
Robert Osfield
fad832425f Improvements to DatabasePager 2003-10-10 19:25:14 +00:00
Robert Osfield
606daca904 Added default constructor implemention to LOD and PagedLOD.
Added verbose messages to DatabasePager.
2003-07-10 14:53:07 +00:00
Robert Osfield
12c7526f87 From Bob Kuehne, Fixed typo. 2003-07-10 08:05:24 +00:00
Robert Osfield
5aa47a77c2 Improvements to the DatabasePager and PagedLOD class adding support for
deleting expuired children in the database thread.
2003-07-09 14:55:39 +00:00
Robert Osfield
c2eabe1d4b Added osg::PagedLOD and osgProducer::DatabasePager class, and linked up osgProducer::Viewer
to manage the pager.
2003-07-08 14:44:00 +00:00