APIs, concepts, guides, and more

Vector3d is used for three-dimensional points and vectors. More...


 Vector3d ()
 Default constructor. X=Y=Z=0.
 Vector3d (const Vector3d &rightHandSide)
 Constructor. X=rightHandSide.X, Y=rightHandSide.Y, Z=rightHandSide.Z.
 Vector3d (double x, double y, double z)
 Constructor. X=x, Y=y, Z=z.
Vector3d Cross (const Vector3d &rightHandSide) const
 Cross Product. Vector.X = this.Y*rightHandSide.z - this.Z*rightHandSide.Y Vector.Y = this.Z*rightHandSide.X - this.X*rightHandSide.Z Vector.Z = this.X*rightHandSide.Y - this.Y*rightHandSide.X.
double Dot (const Vector3d &rightHandSide) const
 Dot Product. this.X*rightHandSide.X + this.Y*rightHandSide.Y + this.Z*rightHandSide.Z.
bool Equals (const Vector3d &rightHandSide, const double tolerance) const
 Checks whether this.X==rightHandSide.X && this.Y==rightHandSide.Y && this.Z==rightHandSide.Z within tolerance abs(a-b) < tolerance.
Vector3d Inverse () const
 Returns an inverted copy of this. this * this.inverse() = I.
double Length () const
 Returns the length of the vector. Aka the magnitude =sqrt(SumSquares)
Vector3d Normal () const
 Returns a normalized copy of this.
Vector3dNormalize ()
 Normalizes this.
bool operator!= (const Vector3d &rightHandSide) const
 Returns whether this is not exactly equal to rightHandSide.
Vector3d operator* (double scalar) const
 Returns a Vector3d scaled scaled by. X*scalar, Y*scalar, Z*scalar.
Vector3doperator*= (double scalar)
 Scales each element by scalar. X*=scalar, Y*=scalar, Z*=scalar.
Vector3d operator+ (const Vector3d &rightHandSide) const
 Returns a copy of rightHandSide added to this. this.X+rightHandSide.X, this.Y+rightHandSide.Y, this.Z+rightHandSide.Z.
Vector3doperator+= (const Vector3d &rightHandSide)
 Adds rightHandSide to this. this.X+=rightHandSide.X, this.Y+=rightHandSide.Y, this.Z+=rightHandSide.Z.
Vector3d operator- () const
 Returns a copy of this with elements negated. -X, -Y, -Z.
Vector3d operator- (const Vector3d &rightHandSide) const
 Returns a copy of rightHandSide subtracted from this. this.X-rightHandSide.X, this.Y-rightHandSide.Y, this.Z-rightHandSide.Z.
Vector3doperator-= (const Vector3d &rightHandSide)
 Subtracts rightHandSide from this. this.X-=rightHandSide.X, this.Y-=rightHandSide.Y, this.Z-=rightHandSide.Z.
Vector3d operator/ (double scalar) const
 Returns a Vector3d scaled scaled by. X/scalar, Y/scalar, Z/scalar.
Vector3doperator/= (double scalar)
 Scales each element by scalar. X/=scalar, Y/=scalar, Z/=scalar.
Vector3doperator= (const Vector3d &rightHandSide)
 Sets this = rightHandSide.
bool operator== (const Vector3d &rightHandSide) const
 Returns whether this is exactly equal to rightHandSide.
Vector3dSet (const Vector3d &rightHandSide)
 Sets X=rightHandSide.X, Y=rightHandSide.Y, Z=rightHandSide.Z.
Vector3dSet (double x, double y, double z)
 Sets X=x, Y=y, Z=z.
double SumSquares () const
 Returns the sum of squares. X*X+Y*Y+Z*Z.


double X
 The X coordinate.
double Y
 The Y coordinate.
double Z
 The Z coordinate.



Definition at line 279 of file cartesianrobot.h.