VisuTwin Canvas
C++ 3D Engine — Metal Backend
Loading...
Searching...
No Matches
visutwin::canvas::Vector4 Struct Reference

4D vector for homogeneous coordinates, color values, and SIMD operations. More...

#include <core/math/vector4.h>

Public Member Functions

float dot (const Vector4 &other) const
float getW () const
float getX () const
float getY () const
float getZ () const
float length () const
Vector4 operator* (float scalar) const
Vector4 operator+ (const Vector4 &other) const
Vector4 operator- (const Vector4 &other) const
float planeDotCoord (const Vector4 &point) const
Vector4 planeNormalize () const
 Vector4 ()
 Vector4 (const float x, const float y, const float z, const float w)
 Vector4 (const Vector3 &vec3, float w=0.0f)

Public Attributes

union { 
   struct { 
      float   w 
      float   x 
      float   y 
      float   z 
   } 
   float   v [4] 
}; 

Detailed Description

4D vector for homogeneous coordinates, color values, and SIMD operations.

Definition at line 19 of file vector4.h.

Constructor & Destructor Documentation

◆ Vector4() [1/3]

visutwin::canvas::Vector4::Vector4 ( )
inline

Definition at line 43 of file vector4.h.

References w, x, y, and z.

Referenced by dot(), operator*(), operator+(), operator-(), planeDotCoord(), and planeNormalize().

◆ Vector4() [2/3]

visutwin::canvas::Vector4::Vector4 ( const float x,
const float y,
const float z,
const float w )
inline

Definition at line 56 of file vector4.h.

References w, x, y, and z.

◆ Vector4() [3/3]

visutwin::canvas::Vector4::Vector4 ( const Vector3 & vec3,
float w = 0.0f )
explicit

References w.

Member Function Documentation

◆ dot()

float visutwin::canvas::Vector4::dot ( const Vector4 & other) const
inlinenodiscard

Definition at line 137 of file vector4.h.

References Vector4(), w, x, y, and z.

Referenced by length(), and planeNormalize().

◆ getW()

◆ getX()

◆ getY()

◆ getZ()

◆ length()

float visutwin::canvas::Vector4::length ( ) const
inlinenodiscard

Definition at line 160 of file vector4.h.

References dot().

◆ operator*()

Vector4 visutwin::canvas::Vector4::operator* ( float scalar) const
inline

Definition at line 199 of file vector4.h.

References Vector4(), w, x, y, and z.

◆ operator+()

Vector4 visutwin::canvas::Vector4::operator+ ( const Vector4 & other) const
inline

Definition at line 169 of file vector4.h.

References Vector4(), w, x, y, and z.

◆ operator-()

Vector4 visutwin::canvas::Vector4::operator- ( const Vector4 & other) const
inline

Definition at line 184 of file vector4.h.

References Vector4(), w, x, y, and z.

◆ planeDotCoord()

float visutwin::canvas::Vector4::planeDotCoord ( const Vector4 & point) const
inlinenodiscard

Definition at line 286 of file vector4.h.

References Vector4(), w, x, y, and z.

◆ planeNormalize()

Vector4 visutwin::canvas::Vector4::planeNormalize ( ) const
inlinenodiscard

Definition at line 219 of file vector4.h.

References dot(), getX(), getY(), getZ(), Vector4(), w, x, y, and z.

Member Data Documentation

◆ [union]

◆ v

float visutwin::canvas::Vector4::v[4]

Definition at line 35 of file vector4.h.

◆ w

float visutwin::canvas::Vector4::w

◆ x

float visutwin::canvas::Vector4::x

◆ y

float visutwin::canvas::Vector4::y

◆ z

float visutwin::canvas::Vector4::z

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