Robert Osfield
f02c556874
Changed Layer::get*Value(..) methods to const
2018-03-30 12:39:52 +01:00
Robert Osfield
d3c6dc6f34
Fixed doxygen warnings
2016-06-01 14:20:14 +01:00
Robert Osfield
dd996a3289
Introduced CMake option OSG_PROVIDE_READFILE option that defaults to ON, but when switched to OFF disables the building of the osgDB::read*File() methods,
...
forcing users to use osgDB::readRef*File() methods. The later is preferable as it closes a potential threading bug when using paging databases in conjunction
with the osgDB::Registry Object Cache. This threading bug occurs when one thread gets an object from the Cache via an osgDB::read*File() call where only
a pointer to the object is passed back, so taking a reference to the object is delayed till it gets reassigned to a ref_ptr<>, but at the same time another
thread calls a flush of the Object Cache deleting this object as it's referenceCount is now zero. Using osgDB::readREf*File() makes sure the a ref_ptr<> is
passed back and the referenceCount never goes to zero.
To ensure the OSG builds when OSG_PROVIDE_READFILE is to OFF the many cases of osgDB::read*File() usage had to be replaced with a ref_ptr<> osgDB::readRef*File()
usage. The avoid this change causing lots of other client code to be rewritten to handle the use of ref_ptr<> in place of C pointer I introduced a serious of
templte methods in various class to adapt ref_ptr<> to the underly C pointer to be passed to old OSG API's, example of this is found in include/osg/Group:
bool addChild(Node* child); // old method which can only be used with a Node*
tempalte<class T> bool addChild(const osg::ref_ptr<T>& child) { return addChild(child.get()); } // adapter template method
These changes together cover 149 modified files, so it's a large submission. This extent of changes are warrent to make use of the Object Cache
and multi-threaded loaded more robust.
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@15164 16af8721-9629-0410-8352-f15c8da7e697
2015-10-22 13:42:19 +00:00
Robert Osfield
1a683e2f83
From Ulrich Hertlein, "Attached is a patch that introduces 'static_cast<unsigned int>' on some instances where
...
the code returns '.size()' of a std::vector. This caused some warnings when using clang++
on OS X."
2013-05-14 16:12:21 +00:00
Robert Osfield
14a563dc9f
Ran script to remove trailing spaces and tabs
2012-03-21 17:36:20 +00:00
Robert Osfield
3d67b7a7eb
From Ulrich Hertlein, "attached are patches to osgTerrain that fix some typos and add a bit of documentation.
...
"
2010-12-08 10:34:29 +00:00
Robert Osfield
304214e0df
Introduced the use of linear interpolation of evelvations when sampling
2010-03-25 11:11:35 +00:00
Robert Osfield
2d55740b3e
Refactored osg::TransferFunction1D to use an std::map internally which is kept in sync with the actual osg::Image that is passed to the GPU.
...
Added .osg support for osg::TransferFunction1D.
Updated wrappers
2009-02-02 14:43:27 +00:00
Robert Osfield
98bd058317
Fixed warnings
2009-01-07 10:32:59 +00:00
Robert Osfield
10186190f6
Introduced support for controlling mipmapping of osgTerrain::ImageLayer and compression of osgTerrain::HeightFieldLayer.
2008-10-20 08:43:25 +00:00
Robert Osfield
c7b66322be
From Ralf Habacker, removed redundent SwitchLayer::clear()
2008-09-15 11:27:30 +00:00
Robert Osfield
e1930d127e
Refinements to SwitchLayer and WhiteListTileLoadedCallback
2008-09-11 14:28:42 +00:00
Robert Osfield
ff299eb104
Introduced osgTerrain::WhiteListTileLoadedCallback for the management of options terrain layers
2008-09-11 13:21:58 +00:00
Robert Osfield
08883dbf6c
Added setSetName/getSetName() methods
2008-09-02 12:55:26 +00:00
Robert Osfield
8fec858b49
Build fixes for Windows
2008-09-01 09:57:35 +00:00
Robert Osfield
bc747b0935
Added CompositeLayer::addLayer(setname,filename) convinience function
2008-08-29 09:28:28 +00:00
Robert Osfield
ed617f87df
Introduce the concept of layer set name, using the osg::Object::s/getName() to store
...
the setname, and using a compound string (set:setname:filename) in place of standard filename when reading and writing
files.
2008-08-28 16:15:57 +00:00
Robert Osfield
95a359bdab
Introduced SwitchLayer which will form the basis of provided support for varients
2008-08-27 10:13:30 +00:00
Robert Osfield
67f1503c7d
Refactored osgTerrain so that the interface for setting up layer is more straight forward, and added support into GeometryTechnique for handling multiple layers
2008-02-22 11:52:23 +00:00
Robert Osfield
6516bf4910
Added TextureUnit entry to osg::TransferFunction and osgTerrain::Layer
2008-02-20 12:34:13 +00:00
Robert Osfield
efdc026114
Fixed the computation of terrain bounding volume so that it properly accounts for
...
elevation layers
2008-01-17 15:37:35 +00:00
Robert Osfield
828851c08a
Refactor osgTerrain::ProxyLayer so that it is now a pure Proxy, defering implementations
...
to an Implementation rather than a subclass of ProxyLayer. Updating the osgTerrain and GDAL plugins
to comply with this refactor.
2008-01-14 14:53:49 +00:00
Robert Osfield
2cab28c3b8
Added support for min to max level ranges for Layers in support of VirtualPlanetBuilder usage of this.
2007-12-20 15:51:13 +00:00
Robert Osfield
667be8bb57
Further refinement of ProxyLayer API
2007-08-30 10:15:35 +00:00
Robert Osfield
9a9ffbe229
Further work on new ProxyLayer
2007-08-29 16:29:05 +00:00
Robert Osfield
2f895b839e
Added ProxyLayer support into osgTerrain plugin
2007-08-29 12:18:41 +00:00
Robert Osfield
71e7a65cca
Added preliminary ProxLayer and DataSetLayer in GDAL plugin to aid integration
...
of GDAL reading into osgTerrain.
2007-08-29 10:52:03 +00:00
Robert Osfield
ffc8123a73
Changed the tolower of the file extension into the plugin name construction code.
...
Added support for CompositeLayer.
2007-08-16 18:49:46 +00:00
Robert Osfield
2b84aa7760
Added dirty count support to osgTerrain::Layer clases.
...
Added LayerHandler to osgterrain example that modifies the layers in
response to pressing the 's' and 'q' keys
2007-07-06 16:47:08 +00:00
Robert Osfield
acb2ed177c
Added ValidDataOperator base class and NoDataValue and ValidRange subclasses, and
...
support for it in osgTerrain::Layer and GeometryTechniqnue.
2007-05-11 18:25:06 +00:00
Robert Osfield
8c7b5b5865
Added supoort for transforming layers by an offset and scale
2007-05-10 18:07:54 +00:00
Robert Osfield
d434ee0db8
Added support for reading values from an ImageLayer, and building of the
...
elevation data in GeometryTechnique.
2007-03-30 14:57:57 +00:00
Robert Osfield
a2ecb93c2b
Converted osg::HeightField across to using a osg::FloatArray internally to enable
...
it to be assigned as a vertex attribute array to an osg::Geometry.
Removed the osgTerrain::ArrayLayer as its no longer required thanks to the above change
which makes the osgTerrain::HeightFieldLayer more flexible.
Updated wrappers
2007-03-29 19:42:07 +00:00
Robert Osfield
78ed8f9219
Add computeBound support to TerrainNode and Layer.
2007-03-27 19:27:36 +00:00
Robert Osfield
1cdda0654f
Added Locator and layer setting to osgterrain example
2007-03-26 15:52:22 +00:00
Robert Osfield
56a1808794
Added ImageLayer, ArrayLayer and HeightFieldLayer classes
2007-03-21 17:18:53 +00:00
Robert Osfield
541c3f13e9
Added GeometryTechinque to osgTerrain. Added usage of GeometryTechnique into osgterrain example
...
Added --width and --height command line options to osgdistortion to allow users
to control the window size.
2007-03-21 16:34:04 +00:00
Robert Osfield
2fae221f2d
Added class shells for osgTerrain::Locator and osgTerrain::Layer classes
2007-03-14 12:00:54 +00:00