Commit Graph

92 Commits

Author SHA1 Message Date
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