Commit Graph

235 Commits

Author SHA1 Message Date
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
Don BURNS
37be1d9259 Fixed a bug spotted in UFOManipulator where a Vec3's 4th component was
being inspected (ip[3]).
2006-02-09 19:31:05 +00:00
Robert Osfield
0347895c96 Fixed typo in comments and onscreen help. 2005-12-09 20:03:04 +00:00
Robert Osfield
27ad107378 Added new Node::getParentalNodePaths() method.
Added better handling in computeIntersections(..) of nodes that are internal
to the scene graph, correctly accounting for the accumulated transforms.

Changed the EventVisitor so that it only traveses active children rather than
all children.

Updated wrappers.
2005-12-07 15:29:29 +00:00
Robert Osfield
34953f7dec From Gideon May, fixed typo in docs. 2005-12-06 10:26: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
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
7b1b3b6ace Added copyright notices. 2005-10-24 10:53:01 +00:00
Robert Osfield
48c83869c6 Fixed VisitorType of EventVisitor 2005-09-05 13:23:27 +00:00
Robert Osfield
9394e224f4 Tweaked flight manipulator pitch sensitivity. 2005-08-22 13:03:23 +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
0d8e38f9ee Tweaks for better OSX paging support, 6 and 9 keys for control drive manipulator
up and down looking, and removed redundent API from osg::Geometry.
2005-07-07 14:14:38 +00:00
Robert Osfield
72488d274f Added support for equalizing the normals along tile boundaries. 2005-07-02 08:11:55 +00:00
Robert Osfield
1dd553ed0e Bumped version numbers to 0.9.9 in rediness for 0.9.9 release. 2005-05-16 17:17:53 +00:00
Robert Osfield
428608e781 Warning fixes for IRIX 2005-05-16 15:51:57 +00:00
Robert Osfield
a6e8378a72 Removed debug info 2005-05-08 19:21:43 +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
a2974de978 Moved the istream and ostream support from Vec* and Matrix* into a seperate io_utils file. 2005-04-08 09:01:23 +00:00
Don BURNS
ed0f780321 Removed annoying "Can't find the ground" message 2005-04-04 18:07:27 +00:00
Robert Osfield
9de5dc38f1 Made the ground intersection warning just output to INFO level. 2005-03-25 11:06:44 +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
Robert Osfield
dd4427d1e3 Made the can't find ground intersection message only appear as INFO. 2005-03-18 02:45:02 +00:00
Don BURNS
c332d1f751 Chagned osg::Matrix to osg::Matrixd 2005-03-13 05:02:02 +00:00
Don BURNS
4904c20889 Added M_PI definition for winders 2005-03-12 15:57:44 +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
e001d4ddd6 Added the 'H' - home to usage message 2005-03-11 17:46:34 +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
89236b46fd From Mason Menninger, addition of setTrackballSize() parameter. 2005-01-22 16:55:48 +00:00
Don BURNS
1771cdbcc7 Update version numbers in files 2004-12-04 23:38:24 +00:00
Robert Osfield
fae2416584 Added debugging messages to setTrackerNode 2004-11-02 17:04:06 +00:00
Robert Osfield
bb7c423849 Updates to NodeTrackerManipulator.cpp 2004-10-14 20:35:55 +00:00
Robert Osfield
e4f22c72bd Fixed the home position. 2004-10-14 12:10:10 +00:00
Robert Osfield
792a7fe0d5 Improvements to the NodeTrackManipulator and osgsimulation example 2004-10-14 10:38:29 +00:00
Robert Osfield
cecaec4ed8 From Sohey Yamamoto, added support for GL_TEXTURE_FILTER_CONTROL/GL_TEXTURE_LOD_BIAS. 2004-10-13 19:52:39 +00:00
Robert Osfield
3f0e4ea99a Small tweaks to the calculateMovement method. 2004-10-13 13:40:05 +00:00
Robert Osfield
23d518be6e Fixed precision of center computation. 2004-10-13 11:56:09 +00:00
Robert Osfield
7e5c87de6a Changed the version strings to use OpenSceneGaph rather than "Open Scene Graph" 2004-09-27 12:07:34 +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
46c830cc12 Added missing setTrackerMode(TrackerMode) 2004-09-07 06:59:19 +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
ddb7423e46 Set version numbers for 0.9.7 release 2004-08-05 08:02:48 +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
70ea29f1cb Double intersections distance for intersects. 2004-07-21 08:55:17 +00:00
Robert Osfield
4a8c090bf8 Lowered level of debugging message 2004-07-19 09:39:58 +00:00
Robert Osfield
d57697fefa Fixed the computePosition so it find intersections more easily. 2004-07-12 21:32:33 +00:00
Robert Osfield
0acbe077fa Added support for matix manipulator setHomePosition(,,) 2004-07-12 19:54:54 +00:00
Robert Osfield
69caf104d8 Reduced the pan sensitive on the trackball 2004-07-12 09:43:45 +00:00
Robert Osfield
7fdf18a768 Reduced the sensitivity of the pan. 2004-07-12 09:17:21 +00:00
Robert Osfield
788a19d3b5 Made debugging message write to osg::INFO instead of osg::NOTICE 2004-07-11 23:07:47 +00:00
Robert Osfield
504dd515d3 Improvements to the handling of coordinate system nodes 2004-07-09 15:21:33 +00:00
Robert Osfield
c6ca80f2c5 Added automatic scaling of the minimum distance to cope with models of
small dimensions.
2004-07-07 11:29:58 +00:00
Robert Osfield
eda1bf544d Added further checks for _node validity. 2004-06-11 21:00:06 +00:00
Robert Osfield
c63f0e2fce Added checks against null to prevent crashes when the terrain manipulator is set up before
a node has been attached.
2004-06-11 20:57:36 +00:00
Robert Osfield
22ec86114d Updates to the terrain manipulator. 2004-06-08 07:32:08 +00:00
Robert Osfield
48d671352d Changed the terrain manipulator so the intersection ray is only
computed near to the current center point during panning.
2004-06-07 14:49:39 +00:00
Robert Osfield
205a6a105e Made the drive and flight manipulators more sensitive to de/acceleration 2004-05-26 00:26:43 +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
01b504bc2f Improved the pan controls on the terrain manipulator 2004-05-17 12:08:52 +00:00
Robert Osfield
35c6632cfd From Mike Weiblen, Fixes for Win32 build 2004-05-09 06:29:54 +00:00
Robert Osfield
1c46e8c4f2 From Bob Kuehne, addition of support for toggling on and off GL_TEXTURE_1D, 3D, CUBE_MAP
and GL_TEXTURE_RECTANGLE (small addition from R.O)
2004-05-07 12:41:49 +00:00
Robert Osfield
2c352ceb7c Changed debug info level 2004-05-07 11:18:18 +00:00
Robert Osfield
db78d55ef2 *** empty log message *** 2004-05-06 12:30:53 +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
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
ccefa05523 Clean up of headers. 2004-03-07 14:21:11 +00:00
Robert Osfield
11975bd4da Made the FRAME event handling in the various MatrixManipulators return false
from the handle method to prevent frame events from being eaten.
2004-02-21 16:57:57 +00:00
Robert Osfield
8f41f8a149 Added environmental variable for setting the height of the drive manipulator. 2003-12-10 16:50:26 +00:00
Robert Osfield
bc7622149d Updated to slideshow3D to support animation + pausing of animation.
Updated associated osg/osgUtil classes that provide animation pausing.
2003-11-03 23:13:31 +00:00
Robert Osfield
754af22eac Converted the animation path file reading code to use std::ifstream rather
than C style file so that it can handle configurable types better - fixing
a bug associated with reading animation paths with the new osg::Quat defaulting
to doubles.
2003-10-09 10:44:15 +00:00
Robert Osfield
ddde1c4e46 Removed debugging comments. 2003-09-30 21:30:39 +00:00
Robert Osfield
8f4c4dbae8 Fixed DriveManipulator::init(,) method so that used a Matrix::set(Quat) rather
than the inappropriate usage Matrix::get(Quat).
2003-09-29 14:42:15 +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
c91a2d3d3e Updated version numbers and ChangeLog for the release. 2003-09-16 21:25:25 +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
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
5400f8293b Converted cout's to notify's. 2003-08-31 22:17:53 +00:00
Robert Osfield
cc529aebe0 Bumped up version numbers in preperation for the 0.9.5 release. 2003-07-23 08:54:29 +00:00
Robert Osfield
deb26621c9 Changed the SceneView::setModelViewMatrix() methods across to being setViewMatrix().
The old RefMatrix methods for setModelViewMatrix() and setProjectMatrix() have
been removed to keep the API as minimal as possible.
2003-07-15 11:49:56 +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
5df7118d6d Updates to the osgpick code.
Updates to osgGA::CameraManipulors.
2003-04-14 15:44:30 +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
c2a9234cc5 Updated the version numbers to 0.9.4 2003-04-11 10:04:53 +00:00
Robert Osfield
3dc180f3fd From Romano, ' ' now sets pause to false. 2003-04-09 13:29:12 +00:00
Robert Osfield
ca4b558994 Made the AnimationPathManipulator::home() reset the timming of the
animation path so that the timing always starts at the begining of the loop.
2003-04-09 10:26:50 +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
c6e3cb044b Fixed the drive manipulator so its height is now 1.5m and the buffer size if
2.0m.
2003-04-05 07:11:07 +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
fe49a97baa Updates to osgProducer and osgstereoimage for stereo support.
Changed the default distance from the scene of the home position of the
trackball and flight manipulators.
2003-03-20 17:00:32 +00:00
Robert Osfield
21a74223e6 Added getCameraManipulator(unsigned int) method. 2003-03-19 21:14:50 +00:00
Robert Osfield
2ca505b3d8 Ported all glut based demos across to using the new osg::ArgumentParser. 2003-03-14 10:49:06 +00:00
Robert Osfield
edaed5996a Added 'w' toggle to StateSetManipulator to toggle between filled, line and
point polygon drawing modes.
2003-03-12 13:54:59 +00:00
Don BURNS
fa33244f92 1) Replaced all Makefile* with GNUmakefile*.
2) Changed Makedepend system to make individual dependency files, which
   should save time rebuilding dependencies by limiting the regeneration
   of dependency file for only modified source files.
2003-03-12 10:39:43 +00:00
Robert Osfield
9d711d80e9 Added missing std:: infront of string usage. 2003-02-19 21:37:12 +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
8f1ba9d21b Removed include/osg/Types header defining osg::ubyte, osg::ushort etc. Changed
any reference to these in the distribution across to using unsigned char,
unsigned short etc.  This has been done to keep the OSG code more opaque
to what types are.
2003-02-12 19:20:47 +00:00
Robert Osfield
6afedcc6d1 Updated version numbers to 0.9.3 2003-01-22 19:17:39 +00:00
Robert Osfield
6fd27a4b59 Clean up to the osgProducer lib and demo. 2003-01-22 15:30:17 +00:00
Robert Osfield
a889cb8f88 Fixed bug in the flight and drive manipulators where they would uncontrollably
shrink down to a tiny window size when one rezized the window.
2003-01-20 11:52:34 +00:00
Robert Osfield
c2c38955c6 Added new getCurrentCamaeraManipulator(), and removed and debugging message. 2003-01-17 14:12:25 +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
00cc3a1833 Converted the instance of osgNew and osgDelete back to new and delete as part
of depecating the include/osg/MemoryManager
2002-12-16 13:40:58 +00:00
Robert Osfield
f42205a3ef Updates version numbers to 0.9.2 2002-11-08 12:58:34 +00:00
Robert Osfield
e34ecafb1e Added in default value of _timeScale. 2002-11-06 11:15:23 +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
22c6fa1565 Fixed warning under Visual.NET 2002-11-04 09:07:25 +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
Robert Osfield
fc5f07acaa Fixed the numerical accuracy problems in the Drive and Flight Manipulators. 2002-08-29 20:41:19 +00:00
Robert Osfield
44beefa9a5 Fixed numerical accuracy problem in Trackball manipulator. 2002-08-29 16:38:51 +00:00
Robert Osfield
df5c8f789a Updated the version numbers to reflect the upcomming release 0.9.1. 2002-08-28 18:49:27 +00:00
Robert Osfield
e01f9eb891 Added shells for DOFTransform and PositionAttitudeTransform to the .osg
loader, still need to fill in the saving and loading of paramters.

Went through the distribution remove old API usage.
2002-08-06 17:07:05 +00:00
Robert Osfield
b23aea5173 Futher work on ensuring that all datatypes are initilizaed in OSG objects. 2002-07-21 10:04:33 +00:00
Robert Osfield
8c0d510571 Several items of work related to adding a manual creation of occluders
option to the osgoccluder demo.

First the osgGA classes have been generalised a little to better support
new GUIEventHandler subclasses.

Second osgGLUT has a new option for registering a user defined event handler,
the allows the application to add externally extra options to the osgGLUT viewer.

Third, the osgoccluder demo now works in two modes. The original create
four occluder sides to wrap an loaded model, the second an interactive
mode which allows the users to add occluders to the model by pointing
to points and pressing 'a' to add a point, the 'e' to end the occluder
polygon, polygons must be convex, planer and be defined in an anitclockwise
order.  To start the osgoccluder in this mode one simple runs it with the
'-c' option.  Run osgoccluder with no parameter to get a list of options.
2002-07-17 10:00:50 +00:00
Robert Osfield
76d1775487 Bumped up the version numbers to 0.9.0 to reflect the upcomming release. 2002-07-16 15:43:20 +00:00
Robert Osfield
d91b848a63 Checked in migration from osgUtil based GUIAdapter code to Neil Salter's
osgGA (Gui Abstraction).  This may break users code, but all it should
require to fix the builds should be a change from
osgUtil::CameraManipulator (etc) to osgGA::CameraManipulator and
include <osgUtil/CameraManipulator (etc) to osgGA/CameraManipulator and
the extra dependency of the link line.
2002-06-09 13:10:09 +00:00
Don BURNS
0304b926d7 Small std::cout fix 2002-05-09 22:48:15 +00:00
Robert Osfield
d6ff23d32f Fix compile problems with osgGA under Windows. 2002-05-09 19:02:35 +00:00
Robert Osfield
cf4a3500ec Added new osgGA - GUI Adapter library submitted by Neil Salter. This will
replace the current GUI adapter code inside osgUtil.
2002-05-09 10:31:03 +00:00