|
User Documentation |
|
Centre for Vision, Speech & Signal Processing |
|
PUBLIC |
RigidTransC::RigidTransC(void)
RigidTransC::RigidTransC(Vector3dC,QuarternC)
RigidTransC::RigidTransC(Vector3dC,Vector3dC)
RigidTransC::RigidTransC(Vector3dC,Vector3dC,double)
RigidTransC::RigidTransC(Vector3dC,Matrix3d3C)
RigidTransC::RigidTransC(const HomtmC &)
RigidTransC::RigidTransC(const RigidTransC &)
RigidTransC::operator=(const RigidTransC &)
RigidTransC::~RigidTransC(void)
RigidTransC::Set(Vector3dC,QuarternC)
RigidTransC::Set(Vector3dC,Vector3dC,double)
RigidTransC::Set(Vector3dC,Matrix3d3C)
RigidTransC::GetRot(void) const
RigidTransC::SetRot(QuarternC)
RigidTransC::GetTrans(void) const
RigidTransC::SetTrans(Vector3dC)
RigidTransC::NormalizeQuart(void)
RigidTransC::Transform(Vector3dC) const
RigidTransC::NTransform(Vector3dC) const
RigidTransC::InverseTransform(Vector3dC)
RigidTransC::InverseNTransform(Vector3dC)
RigidTransC::Inverse(void) const
RigidTransC::ApplyRotOnly(QuarternC)
RigidTransC::ApplyRotPivot(QuarternC,Vector3dC)
RigidTransC::ApplyTranslate(Vector3dC)
RigidTransC::ExportTrans(void) const
RigidTransC::ExportAxTheta(void) const
RigidTransC::ExportRotAngle(void) const
RigidTransC::ExportRotAxis(void) const
RigidTransC::ExportRotQuart(void) const
RigidTransC::ExportRotMat(void) const
RigidTransC::Print(void)
RigidTransC::LongPrint(void)
RigidTransC::operator*(const RigidTransC &,const RealT &)
RigidTransC::operator+(const RigidTransC &,const RigidTransC &)
RigidTransC::operator-(const RigidTransC &,const RigidTransC &)
RigidTransC::Abs(void)
RigidTransC::operator<<(ostream &,const RigidTransC &)
|
Comments:
-------------------------------------------------------------------------
********** RigidTransC ************************************************
-------------------------------------------------------------------------
.LP
A RigigTransC is a 3D Rigid body transformation comprising of a
rotation followed by a translation. The order is very important.
.LP
A RigigTransC can also be thought of as a Pose, i.e. a position and
orientation.
.LP
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 ]
.LP
Variables:
Methods:
- RigidTransC()
-
Null Constructor
- RigidTransC(Vector3dC trans,QuarternC q)
-
Constructor
- RigidTransC(Vector3dC trans,Vector3dC axtheta)
-
Constructor
- RigidTransC(Vector3dC trans,Vector3dC axis,double theta)
-
Constructor
- RigidTransC(Vector3dC trans,Matrix3d3C rotate)
-
Constructor
- RigidTransC(const HomtmC & h)
-
Constructor; note possible problems near PI
- RigidTransC(const RigidTransC & p)
-
Copy constructor
- RigidTransC & operator=(const RigidTransC & p)
-
- ~RigidTransC()
-
Destructor
Access
------
- RigidTransC & Set(Vector3dC trans,QuarternC q)
-
Set as specified
- RigidTransC & Set(Vector3dC trans,Vector3dC axis,double theta)
-
Set as specified
- RigidTransC & Set(Vector3dC trans,Matrix3d3C rotate)
-
Set as specified
- QuarternC GetRot(void) const
-
output the rotation as a quarternion
- RigidTransC & SetRot(QuarternC q)
-
Set the rotation, leave trans unchanged
- Vector3dC GetTrans(void) const
-
output the translation
- RigidTransC & SetTrans(Vector3dC t)
-
Set the translation, leave rot unchanged
General operations
------------------
- void NormalizeQuart(void)
-
Make absolutely sure that the quarternion is valid with norm=1
- Vector3dC Transform(Vector3dC v) const
-
applys rigid body transformation to v: v1=Rv +t
- Vector3dC NTransform(Vector3dC n) const
-
applys rigid body transformation to a normal vector : n1=Rn,
i.e. the vector is not translated
- Vector3dC InverseTransform(Vector3dC v)
-
applys rigid body transformation to v: v1=R^-1 (v-T)t
- Vector3dC InverseNTransform(Vector3dC n)
-
applys rigid body transformation to a normal vector : n1=R^-1 n,
i.e. the vector is not translated
- RigidTransC Inverse(void) const
-
Returns the inverse transform
- RigidTransC & ApplyRotOnly(QuarternC q)
-
Apply the specified rotation only to the rot (not the trans)
- RigidTransC & ApplyRotPivot(QuarternC q,Vector3dC pivot)
-
Apply the specified rotation around the specified pivot point
- RigidTransC & ApplyTranslate(Vector3dC t)
-
Translate the RigidT by t
Exporting
---------
- Vector3dC ExportTrans() const
-
return translation
- Vector3dC ExportAxTheta() const
-
return rot as a unit vector axis times theta in radians
Possible problems for angles near PI, see Quartern.hh
- double ExportRotAngle() const
-
- Vector3dC ExportRotAxis() const
-
return rot as a unit vector axis around which rotated
and the angle in radians, if Rotation matrix is
identity return axis as (0,0,0) vector
- QuarternC ExportRotQuart() const
-
return rotation as quarternion
- Matrix3d3C ExportRotMat() const
-
return rotation as 3x3 rotation matrix
- void Print()
-
simple printout
- void LongPrint()
-
detailed printout
- RigidTransC operator*(const RigidTransC & p1,const RealT & val)
-
returns trans[i] = p1.trans[i]*val (i=0..2) and
rot[i] = p1.rot[i]*val (i=0..3)
- RigidTransC operator+(const RigidTransC & p1,const RigidTransC & p2)
-
returns trans[i] = p1.trans[i] + p2.trans[i] (i=0..2) and
rot[i] = p1.rot[i] + p2.rot[i] (i=0..3)
- RigidTransC operator-(const RigidTransC & p1,const RigidTransC & p2)
-
returns trans[i] = p1.trans[i] - p2.trans[i] (i=0..2) and
rot[i] = p1.rot[i] - p2.rot[i] (i=0..3)
- RigidTransC Abs()
-
- ostream & operator<<(ostream & outS,const RigidTransC & rt)
-
output stream operator
|
Programmer:Andrew Stoddart, Documentation by CxxDoc: Tue Mar 20 10:48:08 2001
|