Commit Graph

183 Commits

Author SHA1 Message Date
Robert Osfield
4d60d73eca Reorginized the TerrainTile/TerrainTechnique dirty mechanism so that TerrainTile
now holds the dirty flag and enables/disables event traversal in response dirty
being set/unset.  This allows terrain to be automatically updated in response
to Terrain scale and sample ratio changes.
2008-05-27 15:30:20 +00:00
Robert Osfield
1519d0d546 From John Vidar Larring, "Added vertical scale as a property of osgTerrain::Terrain. Lets you configure vertical scale when initializing the terrain model. E.g:
osgTerrain::Terrain* terrain = findTopMostNodeOfType<osgTerrain::Terrain>(model.get());
  if (!terrain)
  {
      terrain = new osgTerrain::Terrain;
      terrain->addChild(model.get());
      terrain->setVerticalScale(2.0f);
      model = terrain;
  }
  viewerWindow->setSceneData(model.get());
"
2008-05-27 13:11:47 +00:00
Robert Osfield
234bfeb648 Removed hardware down sampling hack from GeoemtryTechnique and replaced with Terrain::g/setSampleRatio()
usage.
2008-04-22 11:39:47 +00:00
Robert Osfield
3f81a994b7 Introduced mutex into Terrain node to manage the tile system data structures 2008-03-28 15:31:46 +00:00
Robert Osfield
2567b810cf Removed TileSystem class, and added support for TerrainTile's automatically
registering and unregistering themseles with the enclosing Terrain node.
2008-03-27 13:21:36 +00:00
Robert Osfield
6396a156a2 Renamed osgTerrain::TerrainSystem to osgTerrain::Terrain 2008-03-27 11:55:03 +00:00
Robert Osfield
35c5bd2c92 Renamed Terrain to TerrainTile 2008-03-27 10:55:39 +00:00
Robert Osfield
a9d283ca73 Introduce TerrainSystem node which decorates a complete terrain model made up of Terrain tiles. 2008-03-26 20:06:54 +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
f7e91fa28e Added Locator::s/getTransformScaledByResolution(bool) to assist with VPB integration 2007-12-13 17:51:43 +00:00
Robert Osfield
f4afa427a7 From Roland Smeenk, "Attached you will find a large set of small typo fixes (mainly in the comments)." 2007-12-10 17:30:18 +00:00
Robert Osfield
ae5883dd23 Fixed Locator::setTransform method so it takes a const Matrixd&, and improved
the setting of Locator in the gdal plugin.
2007-09-16 17:48:07 +00:00
Robert Osfield
884b3b7aa2 Seperated out GeometryTechnique .osg support. 2007-09-11 13:32:46 +00:00
Robert Osfield
b20d542317 From David Callu, improved consistency of Version strings and add version support
for osgIntrospection and osgManipulator.
2007-09-05 17:12:24 +00:00
Robert Osfield
a2447d493c Added option to Locator to help specify here the locator value was defined from.
Update wrappers and Gdal plugin to use this new parameter
2007-09-05 14:15:55 +00:00
Robert Osfield
a8c3bc2116 Added export for Windows build 2007-08-31 12:14:39 +00:00
Robert Osfield
f4d2d1241d Further work on osgTerrain::Locator and GDAL plugin 2007-08-30 19:26:52 +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
5b1b648ef5 Replaced CartesianLocator and EllipsoidLocator by a single general purpose
Locator class
2007-08-27 16:59:51 +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
3c82058c68 Updated wrappers 2007-08-16 15:29:50 +00:00
Robert Osfield
2f41234793 From Maria Ten, "I divide the init method of the
geometrytechnique in submethods to made more easy the inheritance
between the user and osg-class. This is a first step to add more
functions in osgTerrain. Maybe the subdivision of the method have to
be in the terraintechnique because is the base class of
GeometryTechnique. If Robert or anyone think that this is better i
change this class too."
2007-08-16 14:13:10 +00:00
Robert Osfield
1c6193ba78 Renamed osgTerrain::TerrainNode to osgTerrain::Terrain and introduced basic
.osg read support for osgTerrain::Terrain.
2007-08-07 19:53:57 +00:00
Robert Osfield
6b4e2fbdf2 From Alexandre Amalric, Fox example
From Robert Osfield, CMake build support for FOX example
2007-07-24 14:02:53 +00:00
Robert Osfield
51e07f1e66 Added traverse method implementation into GeometryTechnique. 2007-07-17 17:36:44 +00:00
Robert Osfield
03749d5e34 Removed redundent TerrainGeometry classes, and adding double buffer of
internal data within GeometryTechinque in prep for support multi-threaded
set up and rendering of terrain.
2007-07-12 20:12:38 +00:00
Robert Osfield
ecf0b58a19 Renamed include/osg/OperationsThread to OperationThread.
Created a new GraphicsThread subclass from OperationThread which allows the
GraphicsContext specific calls to be moved out of the base OperationThread class.

Updated the rest of the OSG to respect these changes.
2007-07-12 15:54:45 +00:00
Robert Osfield
691a49d0fa From Paul Melis, fixes to spelling mistakes/typos. 2007-07-11 15:51:17 +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
601217025f Improved the mapping of update and cull traversal 2007-07-05 18:30:20 +00:00
Robert Osfield
eac3dc1963 From Paul Melis, "Here is a list of fixes to misspelled APIs. Unfortunately, more than one
of these are public APIs and therefore will break linkage to existing
shared libraries."

Note from Robert Osfield, updated wrappers.
2007-06-27 20:36:16 +00:00
Robert Osfield
9f72c9392e Added code of support for contouring shaders 2007-06-20 12:00:29 +00:00
Robert Osfield
d4309ce69a Added use of GLSL filters 2007-06-18 12:10:46 +00:00
Robert Osfield
b92ebca928 From Maria Ten, "The constructor method of the EllipsoidLocator of osgTerrain assumes
that the terrain is always the Earth planet. I changed the constructor
method to accept the Equator radius and the Polar radius like
parameters. By default, it assumes the Earth radius for the
EllipsoidLocator. I added a setEllipsoidModel method, too.

Now, we are developing some libraries for a GIS applicacion, and our
libraries can visualize terrains of planets like Mars. I think that is
a interesting change."
2007-06-01 21:33:29 +00:00
Robert Osfield
8f87e14416 From Mike Wittman, "Just found another issue building the C# wrappers: the osgTerrain ValidDataOperator file uses osg::Vec2, osg::Vec3, and osg::Vec4, but does not include their headers. The file with the relevant includes is attached.
"
2007-06-01 19:10:59 +00:00
Robert Osfield
b97d8c0fe0 Added TerrainNode::init() and s/getTreatBoundariesToValidDataAsDefaultValue flag. 2007-05-13 09:54:51 +00:00
Robert Osfield
91ddcdf531 Added include 2007-05-11 20:16:52 +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
af5b6aa43e Added CartizianLocator 2007-05-03 16:23:19 +00:00
Robert Osfield
368f9b0034 Added return *this to operator = 2007-05-03 14:51:02 +00:00
Robert Osfield
65811d0233 Added virtual orientationOpenGL() method into osgTerrain::Locator. 2007-05-03 11:11:03 +00:00
Robert Osfield
efb52dfab9 Added TerrainNode::setColorFilter(layerNum,Filter) to allow developers to set
what type of texture filter to use, either LINEAER and NEAREST.
2007-04-30 09:47:35 +00:00
Robert Osfield
aa56bddefc Added a MatrixTransform set up to provide a local origin for better precision. 2007-04-29 20:10:43 +00:00
Robert Osfield
47598ce1a9 Added back in osg::Geometry path 2007-04-27 17:03:06 +00:00
Robert Osfield
835e315494 Implement basic TerrainGeometry code 2007-04-16 19:34:25 +00:00
Robert Osfield
73f980bd49 Prep work on new TerrainGeometry Drawable which supports selective display list/VBO's usage.
Updated wrappers
2007-04-11 17:39:13 +00:00
Robert Osfield
557fdacba2 Added support for multiple colour layers, and fixed handling of elevation
and colour layers having different locator
2007-04-11 11:20:04 +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
cb811aa7cd Added support for compute the extents on local NDC coordiantes of the
elevation and colour layers
2007-03-28 16:28:20 +00:00
Robert Osfield
78ed8f9219 Add computeBound support to TerrainNode and Layer. 2007-03-27 19:27:36 +00:00
Robert Osfield
4688d5ae8e Rearranged the traversal and initialization of TerrainTechnique 2007-03-27 16:01:01 +00:00
Robert Osfield
e76e4e82db Added EllipsoidLocator. 2007-03-27 11:23:57 +00:00
Robert Osfield
404d583b3e Added return false; to default implementations of convert functions 2007-03-26 19:24:18 +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
32166ca631 Build fixes 2007-03-19 10:54:39 +00:00
Robert Osfield
2fae221f2d Added class shells for osgTerrain::Locator and osgTerrain::Layer classes 2007-03-14 12:00:54 +00:00
Robert Osfield
c489b0af2c Renamed HeightFieldNode and HeightFieldRenderer to TerrainNode and TerrainTechnique respectively 2007-03-14 11:24:04 +00:00
Robert Osfield
b00cbe5a17 Moved include/osgTerrain/DataSet/.cpp, gdal plugin and osgdem out into the VirtualPlaneBuilder project.
Updated examples to remove DataSet/GDAL dependency.

Updated wrappers
2007-02-27 21:12:48 +00:00
Robert Osfield
292eee4c1e From Mike Weiblen, added missing export to fix osgTerrain wrapper linking under VS 2006-09-07 10:41:38 +00:00
Robert Osfield
5c1b0f1bbd Added support for imagery and DEM's that wrap around the dateline, this required
two passes over the copying of imagery and DEM's to the destination graphs, once for
the original position, and once for the wrap around 360 degrees on or before.

Also fixed the GeospationExtents constructor that was setting the _max to DBL_MIN rather
than -DBL_MAX.  This bug causesd the y axis to be computed incorrectly.
2006-09-04 20:43:07 +00:00
Robert Osfield
5c4446dd5e From Jason Beverage,
"I've attached fixes to DataSet that should fix the problems that Maya was seeing yesterday.  The issue was that the new interpolation code I submitted didn't use the SourceData's georef, it was assuming that the GDALDataSet had a proper geo-ref.  I've made the getInterpolatedValue method a member of SourceData and now it uses the georef the SourceData's georef.

I also forward declared the GDALRasterBand class in the DataSet header."
2006-07-31 20:56:22 +00:00
Robert Osfield
f1c2694c17 Updated copyright years. 2006-07-18 15:21:48 +00:00
Robert Osfield
ad18b88848 From Antoine Hue,
"There was a typo in "int setNotifyOffset()", appear to be a getter =>
"int getNotifyOffset()".

Then I have added a switch to create GDALTermProgress only when the
current notify level + local offset permit message display. In fact, if
the offset is set to 0 and the notify level is at the default, DataSet
is quiet but for the GDALTermProgress. That is quite disturbing since
you think the progress is related to the complete processing but it is
actually only related to the GDAL Warp."
2006-07-11 10:34:41 +00:00
Robert Osfield
2e0865d0c9 From Jason Baverage, A
dded GeospatialExtents bounding box class which used doubles
in place of the original usage of osg::BoundingBox.

Added path for computing interpolation elevation data being read from GDAL.
2006-05-15 13:12:55 +00:00
Robert Osfield
72554ca27e From Jason Beverage, added option to control whether simplification of
tiles is done during osgdem builds.
2005-12-15 16:30:31 +00:00
Robert Osfield
b835ec9ee9 Changed s/getGdalDataset() methods to use void* to avoid introspeciton wrapping problems. 2005-12-08 10:03:39 +00:00
Robert Osfield
73cc97f0e1 From Antonoine Hue, a small modification to the osgTerrain::DataSet
to be able to pass an already opened GDAL Dataset to the
osgTerrain::DataSet::Source
2005-12-07 15:26:45 +00:00
Robert Osfield
9c93332c03 From Rodger James, changed the Win32 static library compilation support to use
OSG_LIBRARY_STATIC to avoid problems with building libs when not required.
2005-11-18 09:52:24 +00:00
Robert Osfield
35fcaf7bde Convert tabs to spaces. 2005-11-17 17:44:48 +00:00
Robert Osfield
26c911acf3 Added a s/getState() to osgTerrain::DataSet to allow better integration with applications. 2005-11-09 20:24:47 +00:00
Robert Osfield
258425d649 Bumped the version numbers up to 1.0 in preparation for 1.0-rc1. 2005-11-09 10:49:56 +00:00
Robert Osfield
d2487e73e5 Added support for tracking the directory of the output file whilst still maintaining
local file references within this directory.
2005-10-27 10:48:44 +00:00
Robert Osfield
f26c3da074 From Chris Hanson, "The following files are drop-in replacements for the include/*/Export files to permit
building statically linked osg libraries under Win32."
2005-09-28 14:05:05 +00:00
Robert Osfield
e404b95dc3 Added support in osgTerrain/osgdem for setting the image format to use when writing tiles out to disk 2005-09-04 06:36:52 +00:00
Robert Osfield
72488d274f Added support for equalizing the normals along tile boundaries. 2005-07-02 08:11:55 +00:00
Robert Osfield
cf06b40891 Added pragma to remove warnings under VS.8.0 2005-05-24 18:57:13 +00:00
Robert Osfield
e229a8cb67 Updates to clean up wrapper generation, and to update wrappers 2005-05-24 15:34:23 +00:00
Robert Osfield
ad5e2d45f1 From Marco Jez, added export symbols. 2005-05-14 18:57:47 +00:00
Robert Osfield
015c9a9765 Added support for generating RGBA, RGBA-16 and RGBA-compressed texture databases 2005-05-02 14:16:25 +00:00
Robert Osfield
991feca6cc Added support for reading from RGBA source textures 2005-05-02 13:00:17 +00:00
Robert Osfield
678b22ce83 Updated Copyright notices to 1998-2005. 2005-04-14 21:41:28 +00:00
Robert Osfield
6a103aa413 Added osgFX::MultiTextureControl node for managing blending between
different texture layers.
2005-03-09 16:54:10 +00:00
Robert Osfield
8dc1be6707 Added basic multiple texture layer support into osgTerrain::DataSet. 2005-03-08 16:51:48 +00:00
Robert Osfield
d155caf2a4 First steps to adding support for multiple texture layers. 2005-03-07 22:02:44 +00:00
Robert Osfield
c3fd271dc4 Addd high level introductory docs for all the libs 2004-11-26 16:01:04 +00:00
Robert Osfield
564869487a Added support of archiving into osgTerrain::DataSet and osgdem. 2004-11-09 14:18:29 +00:00
Robert Osfield
8dfea424c5 Removed gdal_priv.h from include/osgTerrain/DataSet to remove the external dependency on
GDAL.
2004-10-28 07:00:55 +00:00
Robert Osfield
df9c7e5031 From Tree, fixes for Java bindings 2004-10-25 19:16:57 +00:00
Robert Osfield
3b8abfa875 Added ability to alter the verbosity of the notify messages with the
running of osgTerrain::DataSet via a static s/getNotifyOffset(int) method.
2004-10-05 15:08:54 +00:00