33 enum Orientation {XYZ,XYnZ,XZY,XZnY};
34 static void GetOrientationMatrix(Orientation o,
Matrix3& mat);
35 static void Orient(Orientation o,
Matrix3& mat);
36 static void Unorient(Orientation o,
Matrix3& mat);
38 inline const Real* xDir()
const {
return xform.R.col1(); }
39 inline const Real* yDir()
const {
return xform.R.col2(); }
40 inline const Real* zDir()
const {
return xform.R.col3(); }
41 inline const Vector3& position()
const {
return xform.t; }
43 void setFree(
const Vector3& pos,
const Vector3& rot, Orientation o=XYZ);
45 void setOrbit(
const Vector3& rot,
const Vector3& target, Real dist, Orientation o=XYZ);
46 void setCameraMatrix(
const Matrix4&);
48 void getCameraMatrix(
Matrix4&)
const;
51 void getOrbit(
Vector3& rot,
Vector3& target, Real tgtdist=One, Orientation o=XYZ)
const;
63 void toCamera(
Camera&)
const;
64 void fromCamera(
const Camera&);
66 inline Real& pitch() {
return rot.x; }
67 inline Real& yaw() {
return rot.y; }
68 inline Real& roll() {
return rot.z; }
72 Camera::Orientation ori;
77 void toCamera(
Camera&)
const;
78 void fromCamera(
const Camera&, Real tgtdist);
87 void toCamera(
Camera&)
const;
88 void fromCamera(
const Camera&, Real tgtdist);
90 inline Real& pitch() {
return rot.x; }
91 inline Real& yaw() {
return rot.z; }
92 inline Real& roll() {
return rot.y; }
97 Camera::Orientation ori;
A 3D vector class.
Definition: math3d/primitives.h:136
Class declarations for useful 3D math types.
A 4x4 matrix class.
Definition: math3d/primitives.h:626
Contains all the definitions in the Math3D package.
Definition: AnyGeometry.h:12
A 3x3 matrix class.
Definition: math3d/primitives.h:469