Commit Graph

159 Commits

Author SHA1 Message Date
Robert Osfield
1a16d6d6b0 Added an EventQueue directly into osgProducer::Viewer. 2006-03-13 13:19:37 +00:00
Robert Osfield
fa5ff9d169 Added EventQueue. 2006-03-08 15:40:02 +00:00
Robert Osfield
dbbabf87c6 Converted osgGA::GUIEventAdapter into a concrete class capable of respresenting
keyboard and mouse events.

Added osgGA::EventQueue class to support a thread safe event queue and adaption
of keyboard and mouse events.

Removed osgProducer::EventAdapter as GUIEventAdapter replaces it.

Adapted osgProducer and examples to work with the new changes to osgGA.
2006-03-08 14:09:47 +00:00
Robert Osfield
c448e4d791 Began work on making EventVisitor capable of adapting events directly. 2006-03-05 20:46:59 +00:00
Robert Osfield
abed6b7951 Ported NodeTrackCallback and NodeTrackManipulator across to use oberserver_ptr
instead of RefNodePath.

Removed now redundent RefNodePath.
2006-02-27 19:49:47 +00:00
Robert Osfield
0347895c96 Fixed typo in comments and onscreen help. 2005-12-09 20:03:04 +00:00
Robert Osfield
b0869a6f60 Added s/getCenter and s/getRotation methods, and updated wrapper. 2005-11-18 15:00:34 +00:00
Robert Osfield
38a9dc51f8 From Toshiyuki Takeahei, addition of s/getDistance() methods 2005-11-18 14:49:05 +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
b15b677cc3 From Mikkel Gjøl, addition of paramter set/get methods to osgGA::*Manipulators,
change of ' ' to GUIEventAdapter::KEY_Space, fix to url in Matrix_implementation.cpp.
Syntax fixes by Robert Osfield to above submission fix inconsistencies with normal
OSG coding style.
2005-11-17 11:03:20 +00:00
Robert Osfield
48b69d5b13 From Toshiyuki Takehei, typo fix of getTrackerMode(). 2005-11-14 11:08:16 +00:00
Robert Osfield
9d8fd69fa9 Change the KeySwitchMatrixManipulator so that it two sets of getMatrixManipulator
methods, two that takes an index,two that takes a key value.  Updated the ViewEventHandler
so the it now uses the getMatrixManipulatorWithIndex() method to avoid previous ambiguity.
2005-11-14 11:00:36 +00:00
Robert Osfield
e5685bc1ac Added s/getMaxNumOfTextureUnits control to osgGA::StateSetManipulator, and set the default to 4. 2005-11-11 14:22:57 +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
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
d154c2a4cd From Eric Sokolowsky, warning fixes for g++ 4.0 under Fedora Core 4. 2005-08-25 17:53:01 +00:00
Robert Osfield
72a59527f5 From Marco Jez, added setEventHandled() and getEventHandled() to osgGA::EventVisitor. 2005-07-27 09:37:26 +00:00
Robert Osfield
cf06b40891 Added pragma to remove warnings under VS.8.0 2005-05-24 18:57:13 +00:00
Robert Osfield
b8b6ed8e34 Fixed doxygen comments. 2005-05-20 21:01:57 +00:00
Robert Osfield
dce2fbf7ec From Marco Jez, change of Doxygen docs name of class from UFOManipulator to
osgGA::UFOManipulator, done to avoid automated wrapper issues.
2005-05-14 14:31:37 +00:00
Robert Osfield
03232ec667 Moved osg::Impostor to osgSim::Impostor, as Impostor isn't a core feature. 2005-05-01 19:48:49 +00:00
Robert Osfield
bc83e63bb4 Futher work on adding event and update callbacks to StateSet, Uniform and StateAttributes 2005-04-25 11:05:02 +00:00
Robert Osfield
bba76cfa31 From Tree, removed dependency on Producer 2005-04-22 14:40:06 +00:00
Robert Osfield
678b22ce83 Updated Copyright notices to 1998-2005. 2005-04-14 21:41:28 +00:00
Robert Osfield
476a83bb9c Added MatrixManipulator::s/getIntersectTraversalMask(uint) to allow control
of which subgraphs should be used in intersection calculations.  Updated
Terrain,Drive and UFO manipulator to use this new flag.
2005-03-22 21:06:06 +00:00
Don BURNS
5d10547ac5 Added getCameraByName method to viewer and home(double currentTime) to
MatrixManipulator, UFO, Trackball and ANimation manipulator.
2005-03-20 23:57:17 +00:00
Don BURNS
c332d1f751 Chagned osg::Matrix to osg::Matrixd 2005-03-13 05:02:02 +00:00
Don BURNS
fce7f24347 Added a few things to osgProducer::Viewer to support UFO manipulator and
cleaned up UFOManipulator.
2005-03-12 05:31:26 +00:00
Don BURNS
e59284501b Changed class name to UFO instead of UFOManipulator to conform to the other
manipulators
2005-03-11 17:46:12 +00:00
Don BURNS
a7ac8f5992 Added UFO manipulator 2005-03-11 06:09:16 +00:00
Robert Osfield
ce68304f90 Improved support GUIEventHandler's being node event callbacks. 2005-02-25 23:02:23 +00:00
Robert Osfield
0f61af08bd Added support for new event visitor type into osgGA and osgProducer::Viewer,
and event callback into Drawable.
2005-02-25 14:02:48 +00:00
Robert Osfield
10c3f934f1 Added support for control the pitch of the drive manipulator via the
up and down cursor keys.
2005-02-22 19:19:50 +00:00
Robert Osfield
79a59e596c Tweak to comment. 2005-02-15 09:37:20 +00:00
Robert Osfield
89236b46fd From Mason Menninger, addition of setTrackballSize() parameter. 2005-01-22 16:55:48 +00:00
Robert Osfield
530e08aaa1 Made getHomePosition const. 2004-10-25 17:41:54 +00:00
Robert Osfield
2a904a4dad Added docs 2004-10-15 09:10:36 +00:00
Robert Osfield
bb7c423849 Updates to NodeTrackerManipulator.cpp 2004-10-14 20:35:55 +00:00
Robert Osfield
792a7fe0d5 Improvements to the NodeTrackManipulator and osgsimulation example 2004-10-14 10:38:29 +00:00
Robert Osfield
5747773096 From Tree, changes to better support Java binding generation 2004-09-28 09:14:04 +00:00
Robert Osfield
790da0776a Made the computeLocalToWorld etc method to use const NodePath's parameters. 2004-09-09 15:14:33 +00:00
Robert Osfield
543f4493f6 Removed reference to old CmdLineArgs class 2004-09-01 11:05:57 +00:00
Robert Osfield
da5fa4cbcd Added bool paramter to MatrixManipulator::setHomePosition(,,,bool) to allow
the autocomputehomeposition to be controlled.
2004-09-01 10:18:46 +00:00
Robert Osfield
1da72da167 Simplified the TrackMode options 2004-08-31 14:21:46 +00:00
Robert Osfield
08017daf37 Added rescale of quaternion in Matrix::set(Quat), a copy operation in osg::Quat and
extra tracking options in NodeTrackerManipulator.
2004-08-31 09:20:31 +00:00
Robert Osfield
6578655ff3 Added trackmode support for handling rotation of tracked node 2004-08-30 18:53:44 +00:00
Robert Osfield
146f4cd573 Remamed TrackerManipulator to NodeTrackerManipulator 2004-08-30 10:03:18 +00:00
Robert Osfield
075c2f94d0 Fixed getHomePosition 2004-08-26 06:41:09 +00:00
Robert Osfield
6524fe1293 From Norman Vine, fixes for Mingw 2004-08-02 09:11:31 +00:00
Robert Osfield
b790fa59a8 Added beginnings of new TrackballManipulator 2004-07-30 15:44:59 +00:00
Robert Osfield
0acbe077fa Added support for matix manipulator setHomePosition(,,) 2004-07-12 19:54:54 +00:00
Robert Osfield
504dd515d3 Improvements to the handling of coordinate system nodes 2004-07-09 15:21:33 +00:00
Robert Osfield
f96622ebf9 From Matt Burke, typo fix on getMinimumDistance(). 2004-06-28 20:47:39 +00:00
Robert Osfield
ba7a7fe638 Updates to FlightManipulator 2004-06-08 12:31:33 +00:00
Robert Osfield
22ec86114d Updates to the terrain manipulator. 2004-06-08 07:32:08 +00:00
Robert Osfield
ab2b817e61 Made improvements to the handling of small rotations in Quat and
TerrainManipulator
2004-05-20 23:25:26 +00:00
Robert Osfield
f02c75f5ea Added Vec2d, Vec3d and Vec4d classes, and remapped Vec2, Vec3 and Vec4 to
Vec2f, Vec3f an Vec4f respectively, with typedef's to the from Vec* to Vec*f.
2004-05-20 10:15:48 +00:00
Robert Osfield
2cd4bd513a Changed how the rotation and panning are managed, therby improving the
handling of the center point going over a pole.
2004-05-17 22:22:24 +00:00
Robert Osfield
a62699b015 Improved the panning support, and added s/getRotationMode(..) to allow
users flip between a trackball rotation style and an azim,elevation style.
2004-05-17 15:50:44 +00:00
Robert Osfield
47dd0ece28 Added new TerrainManipulator to osgGA, and new callback for getting the
CoordinateFrame for a given X,Y,Z location.
2004-05-06 11:01:16 +00:00
Robert Osfield
7596b3b361 Added getKeyManipMap() method 2004-04-30 09:04:10 +00:00
Robert Osfield
f81447e839 Added support for handling a user define CoordinateFrame in the flight
and trackball manipulators with API access via the MatrixManipulator
base class
2004-04-29 22:18:54 +00:00
Robert Osfield
ce79e6f400 Added osgGA::TrackballManipulator::g/setMinimumZoomScale() method. 2004-03-08 11:41:57 +00:00
Robert Osfield
345298badd Fixed the className() defintations to be const 2004-02-05 12:11:06 +00:00
Robert Osfield
eb4ee3afad *** empty log message *** 2003-10-27 16:07:21 +00:00
Robert Osfield
f8df9991b2 Improves to CullStack.
From M.Grngr. options support for f=switching off internal imagery in .ive files
2003-09-26 11:20:43 +00:00
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
e2a72f7e72 Fixed typo of getNumMatrixManipulators(). 2003-08-19 14:05:53 +00:00
Don BURNS
15f88f35b2 *** empty log message *** 2003-06-24 15:40:09 +00:00
Robert Osfield
00e94b86d8 Removed all KeySwitchCameraManipulator class, replacing it
with the KeySwitchMatrixManipulator
2003-05-19 20:18:37 +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
f543d69881 Improved the handling of Producer's no dimensional mouse coords. 2003-04-14 13:23:12 +00:00
Robert Osfield
c3fd384eb1 From Romano José Magacho da Silva, added 'p' toggle to animation path
manipulator to allow animations to be paused and resumed.

Added frame rate stats which are output on each repetition of the path.
2003-04-08 20:06:37 +00:00
Robert Osfield
5f8411ac5c Changed the KeySwichCameraManipulator::setNode() so it set all camera's
attached to it.
2003-04-08 13:10:47 +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
11053aaa5c Change the className() functions from non const to const to be consistent with the
osg::Object definition.
2003-03-29 22:07:03 +00:00
Robert Osfield
d8c82e17af Changed private to protected. 2003-03-27 17:20:21 +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
a03675495a Added new osgkeyboad example. 2003-03-24 21:17:51 +00:00
Robert Osfield
c2167be67b Fixed typo. 2003-03-24 15:21:52 +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
6dbc770347 Made the osgGA::GUIEventHandler sublassed from osg::Object as a virtual
inheritence to allow handler to also be used as node callbacks.

Fix to UpdateVisitor to make the visitation of Drawable more consistent
with the way that nodes are traversed.
2003-03-24 08:42:35 +00:00
Robert Osfield
21a74223e6 Added getCameraManipulator(unsigned int) method. 2003-03-19 21:14:50 +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
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
6fd27a4b59 Clean up to the osgProducer lib and demo. 2003-01-22 15:30:17 +00:00
Robert Osfield
48bda9cc79 Added new Copyright/License notice to header and source files. 2003-01-21 16:45:36 +00:00
Robert Osfield
c2c38955c6 Added new getCurrentCamaeraManipulator(), and removed and debugging message. 2003-01-17 14:12:25 +00:00
Robert Osfield
1c602035ef Added DOUBLECLICK EventType to GUIEventAdapter. 2003-01-16 19:27:30 +00:00
Robert Osfield
af6a6ff9f0 Fixes for Win32 build. 2003-01-14 16:39:41 +00:00
Robert Osfield
59969be08d From Daniel Sjölie, updates to the GUIEventAdapter and GLUTEventAdapter to handle
key and key down, modifiers and funcion keys.
2003-01-14 14:25:56 +00:00
Robert Osfield
5eb65f65cc Added support for recording camera animation paths in osgGLUT::Viewer, and fixed
the osgGA::AnimationPathManipulator to handle it.

Added a new Drawable::ConstAttributeFunctor and make the accept(PrimitiveFunctor)
be a const method so can disallows modification.  Added Drawable::supports(...) methods
for each of the AttributeFunctor, ConstAttributeFunctor and PrimitiveFunctor so
that programs can querry whether it is possible to use functors with that object type.
2002-11-06 10:24:33 +00:00
Robert Osfield
ac0de068d9 Changed the private: to protected: to allow easier extension. 2002-10-21 13:02:30 +00:00
Robert Osfield
c59fc9a2b7 Fixed a bug in the Optimizer where BIND_PER_PRIMITIVE_SET primitives where being eroneously merged.
Added missing support for reading geometry indices from the .osg format.

Added handling of geometry indices into the primitive functor in osg::Geometry.

Moved the method implementions of AnimationPathManipulator into src/osgGA and added extra convinience
methods for setting the manipulator with an hand built AnimationPath.

FCVS: 	VisualStudio/osgPlugins/iv/iv.dsp
2002-10-08 14:10:55 +00:00
Don BURNS
588bc1da3c Solaris didn't like filebuf. Using old FILE 2002-10-08 08:36:48 +00:00
Don BURNS
16e3a3c182 Added AnimationPathManipulator to osgGA and modified sgv to use it. 2002-10-08 07:39:38 +00:00
Robert Osfield
55215651d7 Renamed osg::Primitive to osg::PrimitiveSet which better reflect what it
encapsulates.

Added new osg::IndexGeometry implemention, *not* complete yet.

Changed the rest of the OSG to handle the renaming og Primitive to PrimitiveSet.
2002-09-20 14:51:59 +00:00
Robert Osfield
fc5f07acaa Fixed the numerical accuracy problems in the Drive and Flight Manipulators. 2002-08-29 20:41:19 +00:00