OpenSim::SIMMTransform Class Reference

Class SIMMTransform is intended to represent transformations for rd platform. More...

#include <SIMMTransform.h>

List of all members.

Public Types

enum  AxisName {
  X = 0, Y = 1, Z = 2, W = 3,
  NoAxis = -1
}
enum  RotationOrder {
  XYZ = 0, XZY = 1, YXZ = 2, YZX = 3,
  ZXY = 4, ZYX = 5
}
enum  AnglePreference { Radians, Degrees }

Public Member Functions

 SIMMTransform ()
 Construct an identity SIMMTransform.
 SIMMTransform (const SIMMTransform &aTransform)
 Copy constructor.
 SIMMTransform (const double aMat44[4][4])
 SIMMTransform (const double r, const AnglePreference preference, const SimTK::Vec3 &axis)
virtual ~SIMMTransform ()
 Destructor.
SIMMTransformcopy () const
 Copy method to be used by ArrayPtrs if needed.
SIMMTransformoperator= (const SIMMTransform &aTransform)
void printMatrix ()
 Debugging.
void getPosition (SimTK::Vec3 &pos) const
 Get the position vector.
void getPosition (double pos[3]) const
void setPosition (const SimTK::Vec3 &pos)
 Set the position vector.
void getOrientation (double rOrientation[3][3]) const
 Get 3x3 orientation matrix from a 4x4 transform matrix.
void setOrientation (const double aOrientation[3][3])
void setIdentity ()
 Set transform matrix to identity.
void rotate (const double r[3], const AnglePreference preference, const RotationOrder order)
 Set transform matrix based on angles, rotation order and preference.
void rotateX (double r, const AnglePreference preference)
 Rotate by r degrees or radians around X axis.
void rotateY (double r, const AnglePreference preference)
 Rotate by r degrees or radians around Y axis.
void rotateZ (double r, const AnglePreference preference)
 Rotate by r degrees or radians around Z axis.
void rotateAxis (double r, const AnglePreference preference, const SimTK::Vec3 &axis)
 Rotate by r degrees or radians around arbitrary axis.
void rotateXBodyFixed (double r, const AnglePreference preference)
 Rotate by r degrees or radians around the local X axis.
void rotateYBodyFixed (double r, const AnglePreference preference)
 Rotate by r degrees or radians around the local Y axis.
void rotateZBodyFixed (double r, const AnglePreference preference)
 Rotate by r degrees or radians around the local Z axis.
void translateX (const double t)
 Translate by double in X direction.
void translateY (const double t)
 Translate by double in Y direction.
void translateZ (const double t)
 Translate by double in Z direction.
void translate (const SimTK::Vec3 &t)
 Translate by vector t.
void transformPoint (double pt[3]) const
void transformPoint (SimTK::Vec3 &pt) const
void transformVector (double vec[3]) const
void transformVector (SimTK::Vec3 &vec) const
double * getMatrix ()
void getMatrix (double aMat[]) const
void setRotationSubmatrix (double rDirCos[3][3])
const SimTK::Transform * getSimTKTransform () const


Detailed Description

Class SIMMTransform is intended to represent transformations for rd platform.

Authors:
Ayman Habib, Peter Loan
Version:
1.0
Removed inheritance from Object since none of this is used and transforms are created a ton of times during display and simulation

Constructor & Destructor Documentation

SIMMTransform::SIMMTransform ( const SIMMTransform aTransform  ) 

Copy constructor.


Member Function Documentation

void SIMMTransform::getOrientation ( double  rOrientation[3][3]  )  const

Get 3x3 orientation matrix from a 4x4 transform matrix.

void SIMMTransform::setIdentity (  ) 

Set transform matrix to identity.

void SIMMTransform::rotate ( const double  r[3],
const AnglePreference  preference,
const RotationOrder  order 
)

Set transform matrix based on angles, rotation order and preference.

void SIMMTransform::rotateX ( double  r,
const AnglePreference  preference 
)

Rotate by r degrees or radians around X axis.

void SIMMTransform::rotateY ( double  r,
const AnglePreference  preference 
)

Rotate by r degrees or radians around Y axis.

void SIMMTransform::rotateZ ( double  r,
const AnglePreference  preference 
)

Rotate by r degrees or radians around Z axis.

void SIMMTransform::rotateAxis ( double  r,
const AnglePreference  preference,
const SimTK::Vec3 &  axis 
)

Rotate by r degrees or radians around arbitrary axis.

The axis must be of unit length.

void SIMMTransform::rotateXBodyFixed ( double  r,
const AnglePreference  preference 
)

Rotate by r degrees or radians around the local X axis.

void SIMMTransform::rotateYBodyFixed ( double  r,
const AnglePreference  preference 
)

Rotate by r degrees or radians around the local Y axis.

void SIMMTransform::rotateZBodyFixed ( double  r,
const AnglePreference  preference 
)

Rotate by r degrees or radians around the local Z axis.

void SIMMTransform::translateX ( const double  tX  ) 

Translate by double in X direction.

void SIMMTransform::translateY ( const double  tY  ) 

Translate by double in Y direction.

void SIMMTransform::translateZ ( const double  tZ  ) 

Translate by double in Z direction.

void SIMMTransform::translate ( const SimTK::Vec3 &  t  ) 

Translate by vector t.


The documentation for this class was generated from the following files:

Generated on Thu Oct 22 09:30:12 2009 for OpenSim by  doxygen 1.5.6