FOUND
Loading...
Searching...
No Matches
found::Vec3 Class Reference

A Vec3 is a mutable object that represents a 3D Vector. More...

#include <attitude-utils.hpp>

Public Member Functions

constexpr Vec3 (decimal x, decimal y, decimal z)
 Construction of vector with x, y, and z components.
 
 Vec3 ()=default
 Default construction of the Vector.
 
decimal Magnitude () const
 Provides the magnitude of this Vec3.
 
decimal MagnitudeSq () const
 Provides the square of the magnitude of this Vec3.
 
Vec3 Normalize () const
 Provides the magnitude of this Vec2.
 
Vec3 operator- () const
 Vector Negation.
 
Vec3 operator- (const Vec3 &) const
 Vector Subtraction.
 
decimal operator* (const Vec3 &) const
 Dot Product.
 
Vec3 operator* (const decimal &) const
 Scalar Product.
 
Vec3 operator/ (const decimal &) const
 Scalar Division.
 
Vec3operator+= (const Vec3 &)
 Vector Addition (Modification)
 
Vec3 operator* (const Mat3 &) const
 Computes the product of a 3x3 matrix and a 3x1 vector (this)
 
Vec3 CrossProduct (const Vec3 &) const
 Computes the cross (vector) product between this and another vector.
 
Mat3 OuterProduct (const Vec3 &) const
 Computes the outer product between this and another vector.
 

Public Attributes

decimal x
 The x coordinate.
 
decimal y
 The y coordinate.
 
decimal z
 The z coordinate.
 

Detailed Description

A Vec3 is a mutable object that represents a 3D Vector.

Constructor & Destructor Documentation

◆ Vec3()

constexpr found::Vec3::Vec3 ( decimal  x,
decimal  y,
decimal  z 
)
inlineconstexpr

Construction of vector with x, y, and z components.

Parameters
xThe scalar value in the x direction of the vector to make
yThe scalar value in the y direction of the vector to make
zThe scalar value in the z direction of the vector to make

Member Function Documentation

◆ CrossProduct()

Vec3 found::Vec3::CrossProduct ( const Vec3 other) const

Computes the cross (vector) product between this and another vector.

Parameters
otherThe vector to cross with this
Returns
this X other

◆ Magnitude()

decimal found::Vec3::Magnitude ( ) const

Provides the magnitude of this Vec3.

Returns
The magnitude of this

◆ MagnitudeSq()

decimal found::Vec3::MagnitudeSq ( ) const

Provides the square of the magnitude of this Vec3.

Returns
The square of the magnitude of this

◆ Normalize()

Vec3 found::Vec3::Normalize ( ) const

Provides the magnitude of this Vec2.

Returns
The magnitude of this

◆ operator*() [1/3]

Vec3 found::Vec3::operator* ( const decimal &  scalar) const

Scalar Product.

Parameters
scalarThe scalar
Returns
scalar * this

◆ operator*() [2/3]

Vec3 found::Vec3::operator* ( const Mat3 other) const

Computes the product of a 3x3 matrix and a 3x1 vector (this)

Parameters
otherThe matrix to multiply this with
Returns
other @ this

◆ operator*() [3/3]

decimal found::Vec3::operator* ( const Vec3 other) const

Dot Product.

Parameters
otherThe other vector
Returns
The dot of this and other

◆ operator+=()

Vec3 & found::Vec3::operator+= ( const Vec3 other)

Vector Addition (Modification)

Parameters
otherThe other vector
Returns
this
Postcondition
this has been added by other

◆ operator-() [1/2]

Vec3 found::Vec3::operator- ( ) const

Vector Negation.

Returns
-this

◆ operator-() [2/2]

Vec3 found::Vec3::operator- ( const Vec3 other) const

Vector Subtraction.

Parameters
otherThe other vector
Returns
this - other

◆ operator/()

Vec3 found::Vec3::operator/ ( const decimal &  divisor) const

Scalar Division.

Parameters
divisorThe divisor
Returns
this / divisor

◆ OuterProduct()

Mat3 found::Vec3::OuterProduct ( const Vec3 other) const

Computes the outer product between this and another vector.

Parameters
otherThe other vector in this operation
Returns
this ⊗ other

The documentation for this class was generated from the following files: