Collaboration diagram for base::Orient:

Public Types | |
| typedef Byte | Representation |
Public Member Functions | |
| Orient () | |
| construct a zero orientation. (like the identify transform - defaults to EulerRPY vector 0) | |
| Orient (Representation representation) | |
| construct a zero orientation. (like the identify transform) | |
| Orient (const Quat4 &q) | |
| construct from a quaternion (x,y,z,w) | |
| Orient (Real roll, Real pitch, Real yaw) | |
| construct from EulerRPY | |
| Orient (const Vector &v, Representation representation=EulerRPY) | |
| construct from a Vector. | |
| Orient (const Matrix3 &m3) | |
| construct from a 3x3 rotation transformation matrix | |
| Orient (const Matrix &m) | |
| construct from a 3x3 rotation transformation matrix | |
| Orient (const Orient ©) | |
| ~Orient () | |
| Representation | representation () const |
| bool | isEuler () const |
| Int | size () const |
| Real & | operator[] (Int i) |
| const Real & | operator[] (Int i) const |
| Orient & | operator= (const Quat4 &q) |
| Orient & | operator= (const Matrix3 &mt) |
| Orient & | operator= (const Orient ©) throw () |
| void | setIdentity (Representation representation=Quat) |
| void | setFromRotationComponent (const Matrix4 &mt) |
| bool | operator== (const Orient &o) const throw () |
| equality. | |
| bool | operator!= (const Orient &o) const throw () |
| bool | equals (const Orient &o, Real epsilon=consts::epsilon) const throw () |
| void | rotatePoint (Point3 &p) const |
| Point3 | rotate (const Point3 &p) const |
| void | rotatePoint (Point4 &p) const |
| Point4 | rotate (const Point4 &p) const |
| Orient & | invert () |
| invert the rotation (i.e. switch to the reverse rotation) | |
| Matrix | getRotationMatrix () const |
| Matrix3 | getRotationMatrix3 () const |
| Quat4 | getQuat4 () const |
| Vector | getVector (Representation representation) const |
| Vector3 | getVector3 (Representation representation) const |
| operator Vector () const | |
| automatic conversion to a Vector | |
| operator Matrix3 () const | |
| automatic conversion to a rotation matrix | |
| operator Quat4 () const | |
| automatic conversion to a Quat4 | |
| void | changeRepresentation (Representation newRepresentation) |
| request change the internal representation (which may or may not be honored) | |
| Matrix | getBinv () const |
| returns the inverse of B, such that omega = B(v)^-1 . dv/dt, where omega is angular velocity and v is this orientation | |
| void | serialize (Serializer &s) |
| read or write object state to Serializer | |
Static Public Member Functions | |
| String | representationString (Representation rep) |
| bool | isEuler (Representation rep) |
| Int | size (Representation rep) |
| Orient | interpolate (const Orient &lower, const Orient &upper, Real t) |
| interpolate between the orientations lower and upper t:[0..1] | |
Static Public Attributes | |
| const Representation | EulerXYZs |
| const Representation | EulerXYXs |
| const Representation | EulerXZYs |
| const Representation | EulerXZXs |
| const Representation | EulerYZXs |
| const Representation | EulerYZYs |
| const Representation | EulerYXZs |
| const Representation | EulerYXYs |
| const Representation | EulerZXYs |
| const Representation | EulerZXZs |
| const Representation | EulerZYXs |
| const Representation | EulerZYZs |
| const Representation | EulerZYXr |
| const Representation | EulerXYXr |
| const Representation | EulerYZXr |
| const Representation | EulerXZXr |
| const Representation | EulerXZYr |
| const Representation | EulerYZYr |
| const Representation | EulerZXYr |
| const Representation | EulerYXYr |
| const Representation | EulerYXZr |
| const Representation | EulerZXZr |
| const Representation | EulerXYZr |
| const Representation | EulerZYZr |
| const Representation | LastEuler = 23 |
| const Representation | EulerRPY |
| const Representation | Quat = 24 |
| const Representation | Mat = 25 |
| const Representation | Rodriguez = 26 |
| const Representation | RepEnd = 27 |
Protected Types | |
| typedef Matrix * | MatrixRef |
| enum | Axis { X = 0, Y = 1, Z = 2, W = 3 } |
| enum | Frame { Static = 0, Rotating = 1 } |
| enum | Repetition { NonRepeating = 0, Repeating = 1 } |
| enum | Parity { Even = 0, Odd = 1 } |
Protected Member Functions | |
| void | changeRep (Representation newRep) const |
| change the current internal representation to that specified. | |
Static Protected Member Functions | |
| Representation | eulerRep (Axis axis, Parity parity, Repetition repetition, Frame frame) |
| Frame | frame (Representation rep) |
| Repetition | repetition (Representation rep) |
| Parity | parity (Representation rep) |
| Axis | axisI (Representation rep) |
| Axis | axisJ (Representation rep) |
| Axis | axisK (Representation rep) |
| Axis | axisH (Representation rep) |
| void | getRep (Representation rep, Axis &i, Axis &j, Axis &k, Axis &h, Parity &n, Repetition &s, Frame &f) |
Protected Attributes | |
| Representation | rep |
| Vector | v |
| component of vector-based representations (Quat, Euler, etc.) | |
| MatrixRef | m |
| Matrix(3,3) ref if rep==Mat. | |
Static Protected Attributes | |
| Byte | EulSafe [4] |
| Byte | EulNext [4] |
Friends | |
| std::ostream & | operator<< (std::ostream &out, const Orient &o) |
Represents an orientation in 3D using various internal representations.
There are many parameterizations and terms in use for rotations and orientation/attitude. Some of the more common are:
Definition at line 93 of file Orient.
|
|
|
|
|
Quat - Euler parameters expressed as a quaternion (v.x,v.y,v.z,w) Mat - 3x3 transformation matrix of direction cosines. EulerABC - Euler (possibly Cardan-Bryant) angles about the axes A, B & C in that order. EulerRPY - Euler (Cardan-Bryant) Roll, Pitch, Yaw angles (alpha,beta,gamma). This is equivelent to EulerXYZ and assumes that the x-axis points forward, y-axis points right and the z-axis up. (Aeronautical convention) Euler - alias for EulerZXZ Rodriguez - Rodriguez parameters (gamma1, gamma2, gamma3) Definition at line 108 of file Orient. Referenced by axisH(), axisI(), axisJ(), axisK(), changeRepresentation(), eulerRep(), frame(), getRep(), isEuler(), parity(), repetition(), representation(), and size(). |
|
|
Definition at line 314 of file Orient. Referenced by axisH(), axisI(), axisJ(), axisK(), and getRep(). |
|
|
|
|
|
|
|
|
Definition at line 316 of file Orient. Referenced by getRep(), and repetition(). |
|
|
construct a zero orientation. (like the identify transform - defaults to EulerRPY vector 0)
|
|
|
construct a zero orientation. (like the identify transform)
|
|
|
construct from a quaternion (x,y,z,w)
|
|
||||||||||||||||
|
construct from EulerRPY
|
|
||||||||||||
|
construct from a Vector.
|
|
|
construct from a 3x3 rotation transformation matrix
|
|
|
construct from a 3x3 rotation transformation matrix
|
|
|
|
|
|
|
|
|
Definition at line 329 of file Orient. References Axis, axisI(), axisK(), NonRepeating, repetition(), and Representation. |
|
|
Definition at line 326 of file Orient. References Axis, base::Byte, EulSafe, and Representation. |
|
|
Definition at line 327 of file Orient. References Axis, axisI(), base::Byte, EulNext, Odd, parity(), and Representation. |
|
|
Definition at line 328 of file Orient. References Axis, axisI(), base::Byte, EulNext, Odd, parity(), and Representation. Referenced by axisH(). |
|
|
change the current internal representation to that specified.
Referenced by changeRepresentation(). |
|
|
request change the internal representation (which may or may not be honored)
Definition at line 299 of file Orient. References changeRep(), and Representation. |
|
||||||||||||
|
|
|
||||||||||||||||||||
|
Definition at line 319 of file Orient. References base::Byte, and Representation. |
|
|
Definition at line 322 of file Orient. References base::Byte, Frame, and Representation. |
|
|
returns the inverse of B, such that omega = B(v)^-1 . dv/dt, where omega is angular velocity and v is this orientation
|
|
|
Referenced by operator Quat4(), rotate(), base::LineSegPathRep::rotate(), rotatePoint(), and base::LineSegPathRep::transform(). |
|
||||||||||||||||||||||||||||||||||||
|
Definition at line 330 of file Orient. References Axis, base::Byte, EulNext, EulSafe, f, Frame, Parity, Repetition, and Representation. |
|
|
|
|
|
Referenced by operator Matrix3(). |
|
|
Referenced by operator Vector(). |
|
|
|
|
||||||||||||||||
|
interpolate between the orientations lower and upper t:[0..1]
|
|
|
invert the rotation (i.e. switch to the reverse rotation)
|
|
|
|
|
|
Definition at line 178 of file Orient. References LastEuler, and Representation. |
|
|
automatic conversion to a rotation matrix
Definition at line 290 of file Orient. References getRotationMatrix3(). |
|
|
automatic conversion to a Quat4
Definition at line 294 of file Orient. References getQuat4(). |
|
|
automatic conversion to a Vector
Definition at line 286 of file Orient. References getVector(), Mat, and rep. |
|
|
Definition at line 239 of file Orient. References operator==(). |
|
|
|
|
|
|
|
|
Definition at line 216 of file Orient. References Mat, Quat, rep, base::vector< T >::resize(), base::Quat4::v, base::Quat4::w, base::Vector3::x, base::Vector3::y, and base::Vector3::z. |
|
|
equality. NB: expensive if representations are not the same (conversion attempted) Referenced by operator!=(). |
|
|
Definition at line 205 of file Orient. References base::Int, Mat, base::Real, and rep. |
|
|
Definition at line 194 of file Orient. References base::Int, Mat, base::Real, and rep. |
|
|
Definition at line 324 of file Orient. References base::Byte, Parity, and Representation. |
|
|
Definition at line 323 of file Orient. References base::Byte, Repetition, and Representation. Referenced by axisH(). |
|
|
Definition at line 174 of file Orient. References rep, and Representation. |
|
|
|
|
|
Definition at line 264 of file Orient. References getQuat4(), base::Point4, and base::Quat4::rotate(). |
|
|
Definition at line 252 of file Orient. References getQuat4(), base::Point3, and base::Quat4::rotate(). |
|
|
Definition at line 258 of file Orient. References getQuat4(), base::Point4, and base::Quat4::rotatePoint(). |
|
|
Definition at line 246 of file Orient. References getQuat4(), base::Point3, and base::Quat4::rotatePoint(). |
|
|
read or write object state to Serializer
Referenced by base::Serializer::operator()(). |
|
|
Referenced by base::Transform::getRotation(). |
|
|
Referenced by base::Transform::getRotation(). |
|
|
|
|
|
Definition at line 181 of file Orient. References base::Int, Mat, Quat, and Representation. |
|
||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Definition at line 138 of file Orient. Referenced by isEuler(). |
|
|
Matrix(3,3) ref if rep==Mat.
Definition at line 312 of file Orient. Referenced by base::operator<<(). |
|
|
Definition at line 143 of file Orient. Referenced by operator Vector(), operator=(), operator[](), and size(). |
|
|
Definition at line 142 of file Orient. Referenced by operator=(), and size(). |
|
|
Definition at line 309 of file Orient. Referenced by isEuler(), operator Vector(), base::operator<<(), operator=(), operator[](), representation(), and size(). |
|
|
|
|
|
|
|
|
component of vector-based representations (Quat, Euler, etc.)
Definition at line 310 of file Orient. Referenced by base::operator<<(). |
1.3.6