imunano33  0.1.1
svector::EmbVec3D Struct Reference

A minimal 3D vector representation. More...

#include <sv_embed.hpp>

Public Member Functions

 EmbVec3D ()
 No-argument constructor. More...
 
 EmbVec3D (const float xOther, const float yOther, const float zOther)
 Initializes a vector given xyz components. More...
 
 EmbVec3D (const EmbVec3D &other)=default
 Copy constructor.
 
 EmbVec3D (EmbVec3D &&) noexcept=default
 Move constructor. More...
 
EmbVec3Doperator= (const EmbVec3D &other)
 Assignment operator.
 
EmbVec3Doperator= (EmbVec3D &&) noexcept=default
 Move assignment operator. More...
 
virtual ~EmbVec3D ()=default
 Destructor. More...
 
EmbVec3Doperator+= (const EmbVec3D &other)
 In-place addtion. More...
 
EmbVec3Doperator-= (const EmbVec3D &other)
 In-place subtraction. More...
 
EmbVec3Doperator*= (const float &other)
 In-place scalar multiplication. More...
 
EmbVec3Doperator/= (const float &other)
 In-place scalar division. More...
 

Public Attributes

float x
 The x-component of the 3D vector.
 
float y
 The y-component of the 3D vector.
 
float z
 The z-component of the 3D vector.
 

Detailed Description

A minimal 3D vector representation.

Note
Uses floats to store data types rather than doubles in order to save memory, which means that the vector type is not as precise.

Constructor & Destructor Documentation

◆ EmbVec3D() [1/3]

svector::EmbVec3D::EmbVec3D ( )
inline

No-argument constructor.

Initializes a zero vector.

◆ EmbVec3D() [2/3]

svector::EmbVec3D::EmbVec3D ( const float  xOther,
const float  yOther,
const float  zOther 
)
inline

Initializes a vector given xyz components.

Parameters
xOtherThe x-component.
yOtherThe y-component.
zOtherThe z-component.

◆ EmbVec3D() [3/3]

svector::EmbVec3D::EmbVec3D ( EmbVec3D &&  )
defaultnoexcept

Move constructor.

Uses C++ default move constructor.

◆ ~EmbVec3D()

virtual svector::EmbVec3D::~EmbVec3D ( )
virtualdefault

Destructor.

Uses C++ default destructor.

Member Function Documentation

◆ operator*=()

EmbVec3D& svector::EmbVec3D::operator*= ( const float &  other)
inline

In-place scalar multiplication.

Performs scalar multiplication on the current object.

Parameters
otherThe number to multiply by.

◆ operator+=()

EmbVec3D& svector::EmbVec3D::operator+= ( const EmbVec3D other)
inline

In-place addtion.

Adds another vector object to current vector.

Parameters
otherThe other object to add.

◆ operator-=()

EmbVec3D& svector::EmbVec3D::operator-= ( const EmbVec3D other)
inline

In-place subtraction.

Subtracts another vector object from current vector.

Parameters
otherThe other object to subtract.

◆ operator/=()

EmbVec3D& svector::EmbVec3D::operator/= ( const float &  other)
inline

In-place scalar division.

Performs scalar division on the current object.

Parameters
otherThe number to divide by.

◆ operator=()

EmbVec3D& svector::EmbVec3D::operator= ( EmbVec3D &&  )
defaultnoexcept

Move assignment operator.

Uses C++ default move assignment operator.


The documentation for this struct was generated from the following file: