Developer Documentation |
RAVL, Recognition And Vision Library |
PUBLIC |
RigidTransform3dC::RigidTransform3dC(void)
RigidTransform3dC::RigidTransform3dC(const Vector3dC &,const Quatern3dC &)
RigidTransform3dC::RigidTransform3dC(const Vector3dC &,const Vector3dC &)
RigidTransform3dC::RigidTransform3dC(const Vector3dC &,const Vector3dC &,double)
RigidTransform3dC::RigidTransform3dC(const Vector3dC &,const Matrix3dC &)
RigidTransform3dC::Set(const Vector3dC &,const Quatern3dC &)
RigidTransform3dC::Set(const Vector3dC &,const Vector3dC &,double)
RigidTransform3dC::Set(const Vector3dC &,const Matrix3dC &)
RigidTransform3dC::Rotation(void) const
RigidTransform3dC::SetRotation(const Quatern3dC &)
RigidTransform3dC::Translation(void) const
RigidTransform3dC::SetTranslation(const Vector3dC &)
RigidTransform3dC::NormalizeQuart(void)
RigidTransform3dC::Transform(const Vector3dC &) const
RigidTransform3dC::NTransform(const Vector3dC &) const
RigidTransform3dC::InverseTransform(const Vector3dC &)
RigidTransform3dC::InverseNTransform(const Vector3dC &)
RigidTransform3dC::Inverse(void) const
RigidTransform3dC::ApplyRotationOnly(const Quatern3dC &)
RigidTransform3dC::ApplyRotationPivot(const Quatern3dC &,const Vector3dC &)
RigidTransform3dC::ApplyTranslate(const Vector3dC &)
RigidTransform3dC::ExportTranslation(void) const
RigidTransform3dC::ExportAxTheta(void) const
RigidTransform3dC::ExportRotationAngle(void) const
RigidTransform3dC::ExportRotationAxis(void) const
RigidTransform3dC::ExportRotationQuart(void) const
RigidTransform3dC::ExportRotationMatrix(void) const
RigidTransform3dC::Print(void)
RigidTransform3dC::LongPrint(void)
RigidTransform3dC::Abs(void)
RigidTransform3dC::operator *(const RigidTransform3dC &) const
RigidTransform3dC::operator *(const Vector3dC &) const
RigidTransform3dC::operator *(const RealT &) const
RigidTransform3dC::operator +(const RigidTransform3dC &) const
RigidTransform3dC::operator -(const RigidTransform3dC &) const
RigidTransform3dC::operator <<(ostream &,const RigidTransform3dC &)
|
RigidTransform3dC
|
|
Rigid transform in 3 dimentions.
|
|
include | "Ravl/RigidTransform3d.hh" |
Created: | 13/11/95 |
Source file: | Ravl/Math/Geometry/Euclidean/3D/RigidTransform3d.hh |
User Level: | Normal |
Library: | RavlMath |
In Scope: | RavlN |
Comments:
A RigigTransC is a 3D Rigid body transformation comprising of a
rotation followed by a translation. The order is very important.
A RigigTransC can also be thought of as a Pose, i.e. a position and
orientation.
This library is based on an active scheme, i.e. there is one fixed
coordinate system and the rotation and translation may be envisaged
as acting ON an object. [ See CoordSysC for a passive scheme ]
Variables:
- Vector3dC trans;
-
- Quatern3dC rot;
-
Methods:
Constructors, destructor, assignment
- RigidTransform3dC()
-
Null Constructor
- RigidTransform3dC(const Vector3dC & t,const Quatern3dC & q)
-
Constructor
- RigidTransform3dC(const Vector3dC & t,const Vector3dC & axtheta)
-
Constructor
- RigidTransform3dC(const Vector3dC & t,const Vector3dC & axis,double theta)
-
Constructor
- RigidTransform3dC(const Vector3dC & t,const Matrix3dC & r)
-
Constructor
Access
- RigidTransform3dC & Set(const Vector3dC & t,const Quatern3dC & q)
-
Set as specified
- RigidTransform3dC & Set(const Vector3dC & t,const Vector3dC & axis,double theta)
-
Set as specified
- RigidTransform3dC & Set(const Vector3dC & translate,const Matrix3dC & rotate)
-
Set as specified
- const Quatern3dC & Rotation(void) const
-
Return the rotation as a quarternion
- RigidTransform3dC & SetRotation(const Quatern3dC & q)
-
Set the rotation, leave trans unchanged
- const Vector3dC & Translation(void) const
-
Return the translation
- RigidTransform3dC & SetTranslation(const Vector3dC & t)
-
Set the translation, leave rotation unchanged
General operations
- void NormalizeQuart(void)
-
Make absolutely sure that the quarternion is valid with norm=1
- Vector3dC Transform(const Vector3dC & v) const
-
applys rigid body transformation to v: v1=Rv +t
- Vector3dC NTransform(const Vector3dC & n) const
-
applys rigid body transformation to a normal vector : n1=Rn,
i.e. the vector is not translated
- Vector3dC InverseTransform(const Vector3dC & v)
-
Applys rigid body transformation to v: v1=R^-1 (v-T)t
- Vector3dC InverseNTransform(const Vector3dC & n)
-
Applys rigid body transformation to a normal vector : n1=R^-1 n,
i.e. the vector is not translated
- RigidTransform3dC Inverse(void) const
-
Returns the inverse transform
- RigidTransform3dC & ApplyRotationOnly(const Quatern3dC & q)
-
Apply the specified rotation only to the rot (not the trans)
- RigidTransform3dC & ApplyRotationPivot(const Quatern3dC & q,const Vector3dC & pivot)
-
Apply the specified rotation around the specified pivot point
- RigidTransform3dC & ApplyTranslate(const Vector3dC & t)
-
Translate the RigidT by t
- const Vector3dC & ExportTranslation() const
-
return translation
- Vector3dC ExportAxTheta() const
-
return rot as a unit vector axis times theta in radians
Possible problems for angles near PI, see Quatern.hh
- double ExportRotationAngle() const
-
Return the rotation angle in radians.
this is around the axis given by ExportRotAxis()
- Vector3dC ExportRotationAxis() const
-
Return rot as a unit vector axis around which rotated.
if Rotation matrix is identity return axis as (0,0,0) vector
- const Quatern3dC & ExportRotationQuart() const
-
Return rotation as quarternion
- Matrix3dC ExportRotationMatrix() const
-
Return rotation as 3x3 rotation matrix
- void Print()
-
simple printout
- void LongPrint()
-
detailed printout
- RigidTransform3dC Abs()
-
- RigidTransform3dC operator *(const RigidTransform3dC & p) const
-
returns q x p ie applies p then q
- Vector3dC operator *(const Vector3dC & v) const
-
Apply transform to v
- RigidTransform3dC operator *(const RealT & val) const
-
returns trans[i] = p1.trans[i]*val (i=0..2) and rot[i] = p1.rot[i]*val (i=0..3)
- RigidTransform3dC operator +(const RigidTransform3dC & p2) const
-
returns trans[i] = p1.trans[i] + p2.trans[i] (i=0..2) and
rot[i] = p1.rot[i] + p2.rot[i] (i=0..3)
- RigidTransform3dC operator -(const RigidTransform3dC & p2) const
-
returns trans[i] = p1.trans[i] - p2.trans[i] (i=0..2) and
rot[i] = p1.rot[i] - p2.rot[i] (i=0..3)
- ostream & operator <<(ostream & outS,const RigidTransform3dC & rt)
-
output stream operator
Maintainer:Andrew Stoddart, Created: 13/11/95, Documentation by CxxDoc: Tue Aug 13 09:59:30 2002
|