19 #ifndef MIRTK_Vector3_H 20 #define MIRTK_Vector3_H 39 Vector3 (
double fX,
double fY,
double fZ);
40 Vector3 (
const double afCoordinate[3]);
47 double& operator[] (
int i);
48 const double& operator[] (
int i)
const;
50 operator const double* ()
const;
54 Vector3& operator= (
double fScalar);
55 bool operator== (
const Vector3& rkVector)
const;
56 bool operator!= (
const Vector3& rkVector)
const;
61 Vector3 operator* (
double fScalar)
const;
62 Vector3 operator/ (
double fScalar)
const;
64 friend Vector3 operator* (
double fScalar,
const Vector3& rkVector);
69 Vector3& operator*= (
double fScalar);
70 Vector3& operator/= (
double fScalar);
73 double Length ()
const;
74 double SquaredLength ()
const;
75 double Dot (
const Vector3& rkVector)
const;
76 double Normalize (
double fTolerance = 1e-06);
77 double Unitize (
double fTolerance = 1e-06);
82 static void Orthonormalize (
Vector3 akVector[3]);
88 Vector3& rkW,
bool bUnitLengthW =
true);
100 #endif // MIRTK_Vector3_H
double Unitize(double fTolerance=1e-06)