Commit Graph

113 Commits

Author SHA1 Message Date
Robert Osfield
792bba05b9 Added new Matrixf and Matrixd implementations.
Made Matrix be a typedef to either Matrixf or Matrixd.  Defaults to Matrixf.

Converted the osgGA::MatrixManipulators and osgProducer::Viewer/OsgCameraGroup
across to using exclusively Matrixd for internal computations and passing betwen
Manipulators, Producer and SceneView. Note, SceneView still uses Matrix internally
so will depend on what is set as the default in include/osg/Matrix.

Added the ability to osgProducer::setDone/getDone(), kept done() as the
method that the viewer main loop uses for detecting the exit condition.
2003-09-05 22:35:34 +00:00
Robert Osfield
5b93250eb0 Added support for Matrixd and Matrixf implementations, with the default
Matrix typedef's to either Matrixd or Matrixf.
2003-09-05 20:48:42 +00:00
Robert Osfield
2910ec140d Added KeyboardMouseCallback::shutdown() support. 2003-08-27 10:22:12 +00:00
Robert Osfield
e07c1ea10d Added set/getDatabasePager() method. 2003-08-26 08:02:43 +00:00
Robert Osfield
4924cd9ceb Added osgProducer:: in front of KeyboardMouseCallback. 2003-08-25 14:03:49 +00:00
Robert Osfield
db9b6d10c6 Add osg_ref<Producer::KeyboardMouse> to osgProducer::Viewer to ensuer that
the keyboard mousr desctructor is being called correctly.
2003-08-23 20:48:36 +00:00
Robert Osfield
325dc0f6b7 Moved DatabasePager into from osgProducer into osgDB. This means that osgDB
is now dependant on OpenThreads.
2003-07-21 08:19:36 +00:00
Don BURNS
56a13abc05 Updated OSG to use OpenThreads. Moved any references to OpenThread to
OpenThreads and removed any dependency on Producer threads, Mutexes, etc.
2003-07-19 00:18:07 +00:00
Robert Osfield
82008d5ecd Updates to the flush rendering objects function calls to allow for
managment of amount of time available to do gl delete's.  This control is
required for constant frame rate applications.
2003-07-15 21:19:03 +00:00
Robert Osfield
b2e5e09c28 From Bart Gallet, updates to VisualStudo .dsp's to keep things compiling under Windows. 2003-07-15 09:39:45 +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
c5c7a1b2ba Updates to the DatabasePager code to include support for compiling texture
objects and display lists before merging loaded subgraphs with the main
scene graph.
2003-07-10 11:10:39 +00:00
Robert Osfield
809168d5f8 Further updates to the DatabasePager. 2003-07-09 19:48:04 +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
Don BURNS
15f88f35b2 *** empty log message *** 2003-06-24 15:40:09 +00:00
Robert Osfield
940ce67133 Removed remaining dependancies on osg::Camera. 2003-05-19 15:15:17 +00:00
Robert Osfield
ba8bf1e94c From Eric Sokolowsky, support for mouse scroll wheel in osgGA/osgProducer. 2003-05-07 11:13:49 +00:00
Robert Osfield
9329717aa0 Moved #include <osg/Timer> from Viewer to OsgCameraGroup. 2003-04-17 15:27:17 +00:00
Robert Osfield
fd262554ac Moved the managing of frame stamp from osgProducer::Viewer into
osgProducer::OsgCamaraGroup.

Added setting of trackball in osgcameragroup so its starts in the
correct place for different models.
2003-04-17 11:14:25 +00:00
Robert Osfield
2e659c9ebf Renamed computeNearFar to computeNearFarPoints. 2003-04-16 14:22:36 +00:00
Robert Osfield
904aceec22 Added convinence methods to osgProducer::Viewer:
/** compute, from normalized mouse coords, for sepecified Camera, the pixel coords relative to that Camera's RenderSurface.*/
        bool computePixelCoords(float x,float y,unsigned int cameraNum,float& pixel_x,float& pixel_y);

        /** compute, from normalized mouse coords, for sepecified Camera, the near and far points in worlds coords.*/
        bool computeNearFar(float x,float y,unsigned int cameraNum,osg::Vec3& near, osg::Vec3& far);

        /** compute, from normalized mouse coords, for sepecified Camera, intersections with the scene.*/
        bool computeIntersections(float x,float y,unsigned int cameraNum,osgUtil::IntersectVisitor::HitList& hits);

        /** compute, from normalized mouse coords, for all Cameras, intersections with the scene.*/
        bool computeIntersections(float x,float y,osgUtil::IntersectVisitor::HitList& hits);
2003-04-16 14:17:49 +00:00
Robert Osfield
f9eb43083a Changed OsgSceneHandler so it re-uses osgUtil::SceneView project and modelview
matrices.

Changed the osgpick demo so that it uses the OsgSceneHandler's projection and
modelview matrices where possible.
2003-04-16 09:22:33 +00:00
Robert Osfield
fc4a2ab191 Added support for multiple cameras into osgpick. 2003-04-15 20:54:10 +00:00
Robert Osfield
52d2d8eaff Moved the osgcameragroup example across to being just based on
osgProducer::OsgCameraGroup with no usage of osgGA manipulators.

Removed redundent files from osgProducer.
2003-04-10 15:23:49 +00:00
Robert Osfield
bc4fd5b051 Added usage of Producer::CameraGroup::isValidForRendering() to the Viewer::done()
implemention so apps automatically close if one of the windows is killed.
2003-04-10 12:55:48 +00:00
Robert Osfield
e1e54570cb Fixed Viewer and OsgCameraGroup classes so that work properly with the
Prodicer::setViewByMatrix calls.
2003-04-10 10:02:24 +00:00
Robert Osfield
b02917e7a2 Fixed type of osg::ApplicationUsage::set/getApplictionName(), updated
demos accordingly.

Made OsgCameraGroup set the _applicationUsage to the
osg::ApplicationUsage::instance() when no ArgumentParser is supplied.

Added export to osgProducer::ViewerEventAdapter.
2003-04-09 08:20:08 +00:00
Robert Osfield
8a3d731739 Added support for Viewer::setViewer::setView so that the internal old
style osg::Camera and camera manipulators are updated correctly.
2003-04-08 15:47:45 +00:00
Robert Osfield
e928bca4c9 Changed the Viewer::realize() calls across to not using the threading paramter
leaving it up to the Viewer to specify the mode (which by default is MultiThreaded).
Added a check for the presence of osgParticle systems so that threading is
disabled in this case.
2003-04-08 15:18:45 +00:00
Robert Osfield
18ab95a294 Added support for snaping screen images from osgProducer::Viewer apps. 2003-04-07 19:19:01 +00:00
Robert Osfield
c7a7bd03cb Added support for recording animation paths in the osgProducer::Viewer. 2003-04-05 22:24:48 +00:00
Robert Osfield
cac6642de5 Improvements to the handling of warp pointer call on start up. 2003-04-05 07:19:40 +00:00
Robert Osfield
169bf25f77 Implemented support for float x and y mouse positions, and normalization of
mouse coords in osgGA::GUIEventAdapter, and ported osgGA camera manaipulators
to use the new normalized values.

Moved osgProducer across to tracking the window dimensions and ensure that the
internals values in osgProducer::EventAdapter are kept consistent.  Moved
the warp pointer in Viewer across to using KeyboardMouse::positionPointer().
2003-04-04 19:10:37 +00:00
Robert Osfield
e9e0b4304d Improved support for toggle between full screen and non fullscreen in
the osgProducer::Viewer.
2003-04-04 11:06:09 +00:00
Robert Osfield
60e16ea044 Added Escape to the help list.
Changed the help key from '?' to 'h'
2003-03-28 10:04:58 +00:00
Robert Osfield
82139fae78 Fixed typo. 2003-03-27 17:18:59 +00:00
Robert Osfield
fc4fe9c625 Updates to utilise the new Producer keyboard bindings. 2003-03-27 10:54:01 +00:00
Robert Osfield
e93c812021 Improved the stats reporting. 2003-03-26 16:48:29 +00:00
Robert Osfield
8779fe20a7 Added help support for display help on screen to osgProducer::Viewer. 2003-03-26 12:50:30 +00:00
Robert Osfield
0c60d14c00 Added a ViewerEventHandler which manages full screen, file write, and help
output to osgProducer.  Removed FullSreenEventHandler as it is now superseeded
by ViewerEventHandler.
2003-03-25 15:13:20 +00:00
Robert Osfield
09acadb560 Added support for remapping of Win32 key symbols to
osgGA::GUIEventAdpater::KeySymbols.
2003-03-24 15:13:00 +00:00
Robert Osfield
19e2368991 Added osgGA::GUIEventAdapter::KeySymbol enumate list, which is a remapping
of the X settings.

Added a pass through of X11 sybmbols from Producer to osgGA::GUIEventAdapter::KeySymbol
in the osgProducer::EventAdapter.
2003-03-24 13:43:22 +00:00
Robert Osfield
f0eae16828 Added overide of the SceneHandler::clear() making it a no-op. Will revisit
this implemention later.
2003-03-20 17:24:25 +00:00
Robert Osfield
ca0ff266e2 First pass fix at implementing requestWarpPointer. 2003-03-19 15:49:21 +00:00
Robert Osfield
426e301c48 Addd a full screen toggle event handler to osgProducer & its viewer base
class.
2003-03-19 14:27:05 +00:00
Robert Osfield
74f8f18ad6 Added a realize callback to the OsgCameraGroup.
Move osgtexture3D across to using the new realize callback for creating its textures.
2003-03-19 12:06:29 +00:00
Robert Osfield
8ed643ca24 Chaned the OsgCameraGroup so that its scene handler list used ref_ptr<> for
robustly managing memory.
2003-03-18 20:27:09 +00:00
Robert Osfield
e87a08f1c3 Fixes to osgcluster demo as new Producer based example.
Added extra pragrma remove a warning about float to int cast under VS.NET.
2003-03-16 21:58:27 +00:00
Robert Osfield
2f74b2cf7c Renamed osgProducer::CameraGroup and SceneHandler to OsgCameraGroup and
OsgSceneHandler to avoid the namespace bug under VS6.

Removed the osgproducer demo (its now been replaced by examples/osgviewer.)
2003-02-25 12:28:16 +00:00
Robert Osfield
372ca1d227 Ported osgstereoimage to use osgProducer, added it to the examples directory.
Added a osgProducer::CameraGroup::getSceneHanderList() methods.
2003-02-23 17:01:05 +00:00
Robert Osfield
3b429134cb Added examples directory, a place for all new OSG demo code.
Added osgcameragroup, osgviewer, osgtext, osgconv to the new examples directory.
2003-02-21 14:05:39 +00:00
Robert Osfield
0d3f78350a Added keyboard mouse binding usage to the osg::ApplicationUsage and
osgGA::GUIEventHandler and its subclasses.
2003-02-19 10:43:02 +00:00
Robert Osfield
c10d5f2d6f Added new osg::ApplicationUsage and osg::ArgumentParser to help streamline
application/example developement.
2003-02-18 16:36:42 +00:00
Robert Osfield
4c4735a586 Added FrameStats support into osgProducer lib, and removed them from the
osgproducer demo.

Removed the producer config files osgproducer demo.

Added a search the osgDB::DataFilePath for the producer config file.
2003-01-30 23:02:32 +00:00
Robert Osfield
03eee3b700 Fixed warning in osgText
Added getBound() to begining of osgProducer::CameraGroup::frame() to ensure
that the parallel cull traversals don't all do a getBound().

Added osgProducer::CameraGroup::getTopMostSceneData() convinience method.
2003-01-30 16:11:39 +00:00
Robert Osfield
1ce53fcfba Changed the setUpViewer so it takes unisigned int to make it easier to
do OR'ing of the various enumerates when passing in paramters (avoids a
warning).
2003-01-24 09:37:11 +00:00
Robert Osfield
6fd27a4b59 Clean up to the osgProducer lib and demo. 2003-01-22 15:30:17 +00:00
Robert Osfield
128be070ba Added new osgProducer::Viewer class for putting together simple producer
based viewers very quickly.
2003-01-21 13:14:29 +00:00
Robert Osfield
dc83e399a9 Improvements to osgProducer lib, in particular adding a mutex lock to the init() call in
SceneView to prevent init running multi-threaded.
2003-01-20 20:33:50 +00:00
Robert Osfield
762db56a40 Improvements to the osgProducer lib to better handle Producer's normalized
coord system.

Addition of ReadCameraConfigFile and WriteCameraConfigFile as a tempory
measure for implementing local a C++ read/write of the Producer::CameraConfig, this
will be removed once these implementations or similar have been moved to Producer.
2003-01-18 22:07:59 +00:00
Robert Osfield
13aa469628 Updated the KeyboardMouseCallback so this it takes into account the the new
passiveMouseMotion support in Producer.
2003-01-18 10:17:28 +00:00
Robert Osfield
619862f8d6 Added osgProducer library to the distribution.
Cleaned up the osgproducer demo, and made it work with the new osgProducer lib.
2003-01-17 18:34:35 +00:00