class
Rotation3D
(Return to index)
Rotation in 3-dimensional space.
There are two possible external representations:
- Matrix3D R
-
The matrix R is an element of SO(3). Its column vectors define the
unit vectors of the rotated coordinate system, expressed in the
original system. This representation is used internally and can only
be read from a Rotation3D object. To build such an object, use the
other representation.
- Vector3D V
-
The direction of V defines the axis of rotation, and its length the
sine of half the rotation angle. A zero vector represents the identity.
The copy constructor, destructor, and assignment operator generated
by the compiler perform the correct operation. For speed reasons they
are not implemented.
Type: |
Instantiable |
Include file: |
./BeamlineGeometry/Rotation3D.hh |
Synopsis (including inherited members):
Documentation:
- Public members:
-
static Rotation3D Identity
()
;
- Make identity.
-
Rotation3D
()
;
- Default constructor.
Constructs identity.
-
Rotation3D
(double,double,double)
;
- Constructor.
Use axis vector (vx,vy,vz).
-
static Rotation3D XRotation
(double)
;
- Make rotation.
Construct pure rotation around x-axis.
-
static Rotation3D YRotation
(double)
;
- Make rotation.
Construct pure rotation around y-axis.
-
static Rotation3D ZRotation
(double)
;
- Make rotation.
Construct pure rotation around z-axis.
-
Vector3D getAxis
()const
;
- Get axis vector.
Return the axis vector.
-
void getAxis
(double&,double&,double&)const
;
- Get axis vector.
Return the axis vector in (vx,vy,vz).
-
Rotation3D inverse
()const
;
- Inversion.
-
bool isIdentity
()const
;
- Test for identity.
-
bool isPureXRotation
()const
;
- Test for rotation.
Return true, if this is a pure x-rotation.
-
bool isPureYRotation
()const
;
- Test for rotation.
Return true, if this is a pure y-rotation.
-
bool isPureZRotation
()const
;
- Test for rotation.
Return true, if this is a pure z-rotation.
-
double operator()
(int,int)const
;
- Get component.
Return element (i,k) of the orthogonal matrix.
-
Rotation3D operator*
(const Rotation3D&)const
;
- Multiply.
-
Vector3D operator*
(const Vector3D&)const
;
- Rotate.
Return vector rhs rotated by the rotation this.
-
Rotation3D& operator*=
(const Rotation3D&)
;
- Multiply and assign.
Documentation generated by fci on Mon Feb 7 11:41:50 2000