VR-Link JAVA API Documentation
 All Classes Namespaces Files Functions Variables Enumerator Pages
List of all members | Public Member Functions | Static Public Attributes | Private Attributes
com.mak.vrlj.math.TaitBryan Class Reference

DtTaitBryans are used to represent orientation of an object, using a set of three Euler angles. More...

+ Inheritance diagram for com.mak.vrlj.math.TaitBryan:
+ Collaboration diagram for com.mak.vrlj.math.TaitBryan:

Public Member Functions

 TaitBryan ()
 Default constructor. More...
 
 TaitBryan (ConstTaitBryan other)
 Copy constructor. More...
 
 TaitBryan (double psi, double theta, double phi)
 Primitives constructor. More...
 
void assignFrom (ConstTaitBryan other)
 Assign from other to this, avoids object allocation. More...
 
void assignFrom (ConstVector3d other)
 Assign from other to this, avoids object allocation. More...
 
boolean equals (Object obj)
 
ConstTaitBryan eulerToEuler (ConstMatrix3d rotation)
 Perform a rotation of the TaitBryan by a rotation matrix. More...
 
double get (int i)
 Get component by index number, where i=0 for phi, i=1 for theta and i=2 for psi. More...
 
ConstMatrix3d getEuler_to_BodyToRef ()
 Tait Bryans rotate counterclockwise first about Z, then the new Y, then the new X. More...
 
double getPhi ()
 Get the phi component. More...
 
double getPsi ()
 Get the psi component. More...
 
double getTheta ()
 Get the theta component. More...
 
int hashCode ()
 
void set (int i, double v)
 Set a component by index number, where i=0 for phi, i=1 for theta and i=2 for psi. More...
 
void setPhi (double phi)
 
void setPsi (double psi)
 
void setPsiThetaPhi (double psi, double theta, double phi)
 Set all components. More...
 
void setTheta (double theta)
 
String toString ()
 
ConstVector3d toVector3d ()
 

Static Public Attributes

static final ConstTaitBryan zero = new TaitBryan(0.0, 0.0, 0.0)
 TaitBryan with all elements zero. More...
 

Private Attributes

double myPsi
 
double myTheta
 
double myPhi
 

Detailed Description

DtTaitBryans are used to represent orientation of an object, using a set of three Euler angles.

To represent an orientation of an entity, a set of three rotations are used. The three rotations used by DIS and RPR FOM are called the Tait-Bryan sequence, where the first rotation is about the Z axis, the second is about the new Y axis and the third is about the newest X axis. The three angles are usually denoted by psi, theta, and phi respectively.

Please note that the three angles to not correspond to the familiar heading, pitch and roll of an entity except when the reference coordinate system is topographic.

Constructor & Destructor Documentation

com.mak.vrlj.math.TaitBryan.TaitBryan ( )
inline

Default constructor.

Referenced by com.mak.vrlj.math.TaitBryan.equals().

com.mak.vrlj.math.TaitBryan.TaitBryan ( ConstTaitBryan  other)
inline

Copy constructor.

Parameters
otheroriginal for copy.

References com.mak.vrlj.math.TaitBryan.myPhi, com.mak.vrlj.math.TaitBryan.myPsi, and com.mak.vrlj.math.TaitBryan.myTheta.

com.mak.vrlj.math.TaitBryan.TaitBryan ( double  psi,
double  theta,
double  phi 
)
inline

Primitives constructor.

Parameters
psiin radians.
thetain radians.
phiin radians.

References com.mak.vrlj.math.TaitBryan.myPhi, com.mak.vrlj.math.TaitBryan.myPsi, and com.mak.vrlj.math.TaitBryan.myTheta.

Member Function Documentation

void com.mak.vrlj.math.TaitBryan.assignFrom ( ConstTaitBryan  other)
inline
void com.mak.vrlj.math.TaitBryan.assignFrom ( ConstVector3d  other)
inline
boolean com.mak.vrlj.math.TaitBryan.equals ( Object  obj)
inline
ConstTaitBryan com.mak.vrlj.math.TaitBryan.eulerToEuler ( ConstMatrix3d  rotation)
inlinevirtual

Perform a rotation of the TaitBryan by a rotation matrix.

Parameters
rotationthe rotation matrix.
Returns
the rotated TaitBryan.

Implements com.mak.vrlj.math.ConstTaitBryan.

References com.mak.vrlj.math.TaitBryan.getEuler_to_BodyToRef(), and com.mak.vrlj.math.Matrix3d.identity.

double com.mak.vrlj.math.TaitBryan.get ( int  i)
inlinevirtual

Get component by index number, where i=0 for phi, i=1 for theta and i=2 for psi.

Parameters
iindex of which component to set.
Returns
the value of the indexed component.

Implements com.mak.vrlj.math.ConstTaitBryan.

References com.mak.vrlj.math.TaitBryan.myPhi, com.mak.vrlj.math.TaitBryan.myPsi, and com.mak.vrlj.math.TaitBryan.myTheta.

ConstMatrix3d com.mak.vrlj.math.TaitBryan.getEuler_to_BodyToRef ( )
inlinevirtual

Tait Bryans rotate counterclockwise first about Z, then the new Y, then the new X.

Direction Cosine matrix; From frame A to frame B

Implements com.mak.vrlj.math.ConstTaitBryan.

References com.mak.vrlj.math.TaitBryan.myPhi, com.mak.vrlj.math.TaitBryan.myPsi, and com.mak.vrlj.math.TaitBryan.myTheta.

Referenced by com.mak.vrlj.math.TaitBryan.eulerToEuler().

double com.mak.vrlj.math.TaitBryan.getPhi ( )
inlinevirtual

Get the phi component.

Returns
the phi component.

Implements com.mak.vrlj.math.ConstTaitBryan.

References com.mak.vrlj.math.TaitBryan.myPhi.

double com.mak.vrlj.math.TaitBryan.getPsi ( )
inlinevirtual

Get the psi component.

Returns
the psi component.

Implements com.mak.vrlj.math.ConstTaitBryan.

References com.mak.vrlj.math.TaitBryan.myPsi.

double com.mak.vrlj.math.TaitBryan.getTheta ( )
inlinevirtual

Get the theta component.

Returns
the theta component.

Implements com.mak.vrlj.math.ConstTaitBryan.

References com.mak.vrlj.math.TaitBryan.myTheta.

Referenced by com.mak.vrlj.math.Matrix3d.getBodyToRef_to_Euler().

int com.mak.vrlj.math.TaitBryan.hashCode ( )
inline
void com.mak.vrlj.math.TaitBryan.set ( int  i,
double  v 
)
inline

Set a component by index number, where i=0 for phi, i=1 for theta and i=2 for psi.

Parameters
iindex of which component to set.
vthe new value for the indexed component.

References com.mak.vrlj.math.TaitBryan.myPhi, com.mak.vrlj.math.TaitBryan.myPsi, and com.mak.vrlj.math.TaitBryan.myTheta.

void com.mak.vrlj.math.TaitBryan.setPhi ( double  phi)
inline
Parameters
phiin radians.

References com.mak.vrlj.math.TaitBryan.myPhi.

Referenced by com.mak.vrlj.math.TaitBryan.assignFrom().

void com.mak.vrlj.math.TaitBryan.setPsi ( double  psi)
inline
Parameters
psiin radians.

References com.mak.vrlj.math.TaitBryan.myPsi.

Referenced by com.mak.vrlj.math.TaitBryan.assignFrom().

void com.mak.vrlj.math.TaitBryan.setPsiThetaPhi ( double  psi,
double  theta,
double  phi 
)
inline

Set all components.

Parameters
psiin radians.
thetain radians.
phiin radians.

References com.mak.vrlj.math.TaitBryan.myPhi, com.mak.vrlj.math.TaitBryan.myPsi, and com.mak.vrlj.math.TaitBryan.myTheta.

void com.mak.vrlj.math.TaitBryan.setTheta ( double  theta)
inline
Parameters
thetain radians.

References com.mak.vrlj.math.TaitBryan.myTheta.

Referenced by com.mak.vrlj.math.TaitBryan.assignFrom().

String com.mak.vrlj.math.TaitBryan.toString ( )
inline
ConstVector3d com.mak.vrlj.math.TaitBryan.toVector3d ( )
inlinevirtual

Member Data Documentation

double com.mak.vrlj.math.TaitBryan.myPhi
private
double com.mak.vrlj.math.TaitBryan.myPsi
private
double com.mak.vrlj.math.TaitBryan.myTheta
private
final ConstTaitBryan com.mak.vrlj.math.TaitBryan.zero = new TaitBryan(0.0, 0.0, 0.0)
static

TaitBryan with all elements zero.


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

Document ID: Generated on Wed Mar 27 02:04:30 EDT 2024 from SVN revision 264570
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)