Commit Graph

31 Commits

Author SHA1 Message Date
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
678b22ce83 Updated Copyright notices to 1998-2005. 2005-04-14 21:41:28 +00:00
Robert Osfield
355650ac1d From Nicolas Brodu, new faster osg::Quat::makeRotate(Vec3d,Vec3d) implmentation.
From Robert Osfield, modes to osg::Quat to keep the original implmentation around
as makeRotate_original(,) and added tests into osgunittest to test the new
methods provide equivilant results to the original implemementation.  The
orignal implementation will be removed once the new method is more widely tested.
2005-01-27 14:39:58 +00:00
Robert Osfield
c69a8a5b80 Added check to Quat::makeRotate(,,,) to catch zero lengh axis. 2004-06-04 10:05:18 +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
e693f148cb Made osg::Quat support either float or double internal representation, defaulting to double.
Generalised the osgDB::Field so that its getFloat() method can be used with either doubles or
floats governed by the type passed in - this helps support either float/double
Quat and Matrix classes seemlessly.
2003-09-29 13:35:02 +00:00
Robert Osfield
a2834d74d2 Added set and get methods for Matrixd and Matrixf. 2003-09-05 20:52:36 +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
4a804ebf32 Reverted recent changes so the set(Matrix&) method. 2003-05-27 11:02:45 +00:00
Robert Osfield
fb55f6ffbc Improved the handling of scaled matrices in the Quat::set(Matrix&) method. 2003-05-21 21:32:56 +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
48bda9cc79 Added new Copyright/License notice to header and source files. 2003-01-21 16:45:36 +00:00
Robert Osfield
64c5fb644a From Micheal Gronager, fix to osg::Quat::getRotate(..) to handle zero rotations.
Port of Sequence to subclass directly from osg::Group.
2002-12-10 19:58:03 +00:00
Don BURNS
ab580f1e3b Fixed some inconsistencies between header files and function definitions
where the header file declared a parameter non-const, but the function
definition expected a const.  The Solaris linker was coming up with
undefined symbols.
2002-10-08 05:41:19 +00:00
Robert Osfield
8353fc0ed6 Removed deprecated code from the distribution.
Added .osg support for Texture1D and Texture3D.
2002-08-28 15:28:11 +00:00
Robert Osfield
22d54f05e4 Added DOFTransform, MatrixTransform and PositionAttitudeTransform to NodeVisitor.
Added osg::Matrix/Quat::makeRotate(angle1,axis1,angle2,axis2,angle3,axis3) and
osg::Matrix::rotate(angle1,axis1,angle2,axis2,angle3,axis3) method.

Made osg::Matrix/Quat::makeRotate(heading,pitch,roll) and
osg::Matrix::rotate(heading,pitch,roll) all deprecated API.

Fixed the Quat*Quat & Quat*=Quat multiplication methods so that they multiplied
in the correct order - they were reversed originally due to the Quat code being
based on code example which used the v' = M v ordering, rather than the OSG's
v' = v M ordering.
2002-08-18 14:42:43 +00:00
Robert Osfield
3765631cd7 Fix to Quat::slerp so that it interpolates along the shortest path. 2002-06-25 20:36:17 +00:00
Robert Osfield
e3958790a2 Changed the implementation of osg::Quat::makeRotate(heading,pitch,roll) so that
it conforms to the OpenFlight convention of euler angles.  Added documentation
into Matrix and Quat to reflect this.

Added so test code to osgcube for stress testing memory allocation and deallocation.

Commented out the registering of app and cull callbacks in osghud.
2002-04-19 19:55:48 +00:00
Robert Osfield
7c0eb0f380 Added makeRotate(heading,pitch,roll) to Quat in prep for new classes for
animation paths.
2002-02-26 20:01:04 +00:00
Robert Osfield
478274ae7d Fixes to Windows build in liu of the move to using just std::streams. 2001-12-14 23:18:28 +00:00
Robert Osfield
f848c54ba3 Made the following name changes to Matrix and Quat to clean them up and make
the functionality clear given the name.  This will break user code unfortunately
so please be away of the following mapping.

  osg::Matrix::makeTrans(..)?\026 -> osg::Matrix::makeTranslate(..)
  osg::Matrix::makeRot(..)?\026   -> osg::Matrix::makeRotate(..)
  osg::Matrix::trans(..)?\026     -> osg::Matrix::translate(..)

  osg::Quat::makeRot(..)?\026     -> osg::Quat::makeRotate(..)

Also updated the rest of the OSG distribution to use the new names, and
have removed the old deprecated Matrix methods too.
2001-12-12 20:29:10 +00:00
Robert Osfield
79c1fb531d Fixed problems with osg::Matrix::makeRot(from,to) and osg::Quat::makeRot(from,to)
so that they both use the same implementation (the Quat code now) and the
code has been corrected to work from and to vectors which directly opposite
to one another.
2001-12-12 15:09:11 +00:00
Robert Osfield
aac507e119 Moved all #include "osg/.." references to #include <osg/..> to aid port to
MacOS.
2001-10-21 21:27:40 +00:00
Don BURNS
c6f11afbf6 Quaternions were assigning inverted values during conversion to matricies.
This is probably due to an error on the gamasutra web page demonstrating this.
It caused left-handed rotations rather than right handed rotations.  Should be
fixed now.
2001-10-14 04:28:50 +00:00
Don BURNS
610358033f backed out right-handed coordinate transform for makeRot(vec3,vec3) in Quat.cpp 2001-10-13 08:34:02 +00:00
Don BURNS
49982ac835 Changed some routines to produce right-handed rotations. 2001-10-13 06:23:55 +00:00
Robert Osfield
2a9848ea95 *** empty log message *** 2001-09-27 16:34:41 +00:00
Don BURNS
e8f256a59d Added a bunch of files synched with 0.8.42 2001-09-19 21:08:56 +00:00
Don BURNS
70208ebc06 Initial revision 2001-01-10 16:32:10 +00:00