Robert Osfield
fe6d590fc5
Changed setTransformation(eye, center, up) paramter ordering to match gluLookAt conventions.
2010-08-16 11:03:24 +00:00
Robert Osfield
da60a3c615
From Jan Peciva, additional comments, and standarisation of throw and handling of mouse wheel.
2010-06-14 15:20:47 +00:00
Robert Osfield
a812f39f40
Conversion of osg::notify to OSG_INFO.
2010-05-28 15:53:32 +00:00
Robert Osfield
2cf3224dd3
From Jan Pecvia, improvements to manipulators and added new manipulator to osgviewer
2010-05-27 13:59:34 +00:00
Robert Osfield
72d699e2b3
Fixed warnings
2010-05-26 08:34:15 +00:00
Robert Osfield
ee78e70d78
Fixed 3 space indenting
2010-05-25 17:02:22 +00:00
Robert Osfield
d0f48a2712
From Jan Perciva with changes from Robert Osfield, "I am submitting improved osgGA camera manipulators.
...
Changes:
- new mouse wheel zoom/movement/center functionality
- ability to fix vertical axis (important for CAD)
- possibility to specify values as absolute values or relative to model size
- kind of backward compatibility by flags passed to constructor
- and much more
- restructuring classes to use kind of hierarchy and standard way of event processing (handle methods). This way, there is much more code reusability and it is more easy to develop new kinds of manipulators.
Briefly, the new architecture keeps MatrixManipulator as base abstract class. StandardManipulator is the feature-rich standard manipulator with two main descendant classes: OrbitManipulator and FirstPersonManipulator. OrbitManipulator is base class for all trackball style manipulators, based on center, rotation and distance from center. FirstPersonManipulator is base for walk or fly style manipulators, using position and rotation for camera manipulation.
"
Changes by Robert: Replaced osg::Vec3 by osg::Vec3d, introduced DEFAULT_SETTINGS enum and usage. Added frame time member variables in prep for improving throw animation when vysync is off.
2010-05-25 12:05:13 +00:00
Robert Osfield
f17e401347
Convert NOTIFY to OSG_NOTIFY to avoid problems with polution of users apps with the NOTIFY macro
2010-02-10 12:44:59 +00:00
Robert Osfield
8d8037ee12
Converted osg::notify usage to NOTIFY
2010-02-09 18:24:37 +00:00
Robert Osfield
56c32eb131
Changed TerrainManipulator to use HEADING rather than AZIM to keep it consistent with SphericalManipulator
2009-05-20 11:08:57 +00:00
Robert Osfield
b7fa3f6f3c
Replaced IntersectVisitor usage with IntersectionVisitor
2008-10-07 14:19:28 +00:00
Robert Osfield
268b79d03f
Improved the terrain intersection code so that it produces more stable terrain movements.
2008-08-03 20:35:45 +00:00
Robert Osfield
9a9c543ffa
Ported intersection code to use new osgUtil::LineSegmentIntersector/IntersectionVisitor.
2008-07-05 16:39:28 +00:00
Robert Osfield
e70e3a6d5d
Converted TerrainManipulator to use osgUtil::InterectionVisitor rather than the
...
old IntersectVisitor
2008-07-04 19:16:19 +00:00
Robert Osfield
2a54ff3e4a
Introduced CMake build option for compiling double or float versions of osg::BoundingSphere and osg::BoundingBox.
...
Introduced code in BoundgingSphere, BoundingBox, ProxyNode and LOD to utilise the above settings.
Added Matrix::value_type, Plane::value_type, BoundingSphere::value_type and BoundingBox::value_type command line
options that report where the types of floats or doubles.
2008-04-03 18:36:50 +00:00
Robert Osfield
2d407a8c0c
From Adrian Egli, made the getHandled() functionality consistent with the rest of the osgGA::MatrixManipulators
2008-01-11 12:16:19 +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
564ee34f76
Added Matrix*::getRotate()/setRotate(Quat), deprecating Matrix*::get(Quat&), Matrix*::set(Quat&)
2006-07-31 17:31:21 +00:00
Robert Osfield
f1c2694c17
Updated copyright years.
2006-07-18 15:21:48 +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
0347895c96
Fixed typo in comments and onscreen help.
2005-12-09 20:03:04 +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
7b1b3b6ace
Added copyright notices.
2005-10-24 10:53:01 +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
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
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
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
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
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
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