raylib-cpp
C++ object-oriented wrapper library for raylib.
Loading...
Searching...
No Matches
Public Member Functions | Static Public Member Functions | Protected Member Functions | List of all members
raylib::Vector3 Class Reference

Vector3 type. More...

#include <Vector3.hpp>

Public Member Functions

 Vector3 (::Color color)
 
constexpr Vector3 (const ::Vector3 &vec)
 
constexpr Vector3 (float x)
 
constexpr Vector3 (float x, float y)
 
constexpr Vector3 (float x, float y, float z)
 
Vector3 Add (const ::Vector3 &vector3) const
 Add two vectors.
 
Vector3 Add (float value) const
 Add vector and float value.
 
Vector3 Barycenter (const ::Vector3 &a, const ::Vector3 &b, const ::Vector3 &c) const
 
bool CheckCollision (float radius1, const ::Vector3 &center2, float radius2) const
 Detect collision between two spheres.
 
Vector3 CrossProduct (const ::Vector3 &vector3) const
 
float Distance (const ::Vector3 &vector3) const
 
Vector3 Divide (const ::Vector3 &vector3) const
 Divide vector by vector.
 
Vector3 Divide (const float div) const
 Divide a vector by a value.
 
float DotProduct (const ::Vector3 &vector3) const
 
void DrawCircle3D (float radius, const ::Vector3 &rotationAxis, float rotationAngle, Color color) const
 
void DrawCube (const ::Vector3 &size, ::Color color) const
 
void DrawCube (float width, float height, float length, ::Color color) const
 
void DrawCubeWires (const ::Vector3 &size, ::Color color) const
 
void DrawCubeWires (float width, float height, float length, ::Color color) const
 
void DrawCylinder (float radiusTop, float radiusBottom, float height, int slices, ::Color color) const
 
void DrawCylinderWires (float radiusTop, float radiusBottom, float height, int slices, ::Color color) const
 
void DrawLine3D (const ::Vector3 &endPos, ::Color color) const
 
void DrawPlane (const ::Vector2 &size, ::Color color) const
 
void DrawPoint3D (::Color color) const
 
void DrawSphere (float radius, ::Color color) const
 
void DrawSphere (float radius, int rings, int slices, ::Color color) const
 
void DrawSphereWires (float radius, int rings, int slices, ::Color color) const
 
float GetX () const
 Retrieves the x value for the object.
 
float GetY () const
 Retrieves the y value for the object.
 
float GetZ () const
 Retrieves the z value for the object.
 
float Length () const
 Calculate vector length.
 
float LengthSqr () const
 Calculate vector square length.
 
Vector3 Lerp (const ::Vector3 &vector3, const float amount) const
 
Vector3 Max (const ::Vector3 &vector3) const
 
Vector3 Min (const ::Vector3 &vector3) const
 
Vector3 Multiply (const ::Vector3 &vector3) const
 Multiply vector by vector.
 
Vector3 Negate () const
 Negate provided vector (invert direction)
 
Vector3 Normalize () const
 
 operator std::string () const
 
constexpr bool operator!= (const ::Vector3 &other) const
 
Vector3 operator* (const ::Vector3 &vector3) const
 Multiply vector by vector.
 
Vector3 operator* (const float scaler) const
 Multiply vector by scalar.
 
Vector3operator*= (const ::Vector3 &vector3)
 Multiply vector by vector.
 
Vector3operator*= (const float scaler)
 Multiply vector by scalar.
 
Vector3 operator+ (const ::Vector3 &vector3) const
 Add two vectors.
 
Vector3 operator+ (float value) const
 Add vector and float value.
 
Vector3operator+= (const ::Vector3 &vector3)
 
Vector3operator+= (float value)
 
Vector3 operator- () const
 Negate provided vector (invert direction)
 
Vector3 operator- (const ::Vector3 &vector3) const
 Subtract two vectors.
 
Vector3 operator- (float value) const
 Subtract vector by float value.
 
Vector3operator-= (const ::Vector3 &vector3)
 
Vector3operator-= (float value)
 
Vector3 operator/ (const ::Vector3 &vector3) const
 Divide vector by vector.
 
Vector3 operator/ (const float div) const
 Divide a vector by a value.
 
Vector3operator/= (const ::Vector3 &vector3)
 Divide vector by vector.
 
Vector3operator/= (const float div)
 Divide a vector by a value.
 
Vector3operator= (const ::Vector3 &vector3)
 
constexpr bool operator== (const ::Vector3 &other) const
 
void OrthoNormalize (::Vector3 *vector3)
 
Vector3 Perpendicular () const
 
Vector3 Project (const ::Vector3 &vector3) const
 
Vector3 Reflect (const ::Vector3 &normal) const
 
Vector3 Reject (const ::Vector3 &vector3) const
 
Vector3 RotateByQuaternion (const ::Quaternion &quaternion) const
 
Vector3 Scale (const float scaler) const
 Multiply vector by scalar.
 
void SetX (float value)
 Sets the x value for the object.
 
void SetY (float value)
 Sets the y value for the object.
 
void SetZ (float value)
 Sets the z value for the object.
 
Vector3 Subtract (const ::Vector3 &vector3) const
 Subtract two vectors.
 
Vector3 Subtract (float value) const
 Subtract vector by float value.
 
std::string ToString () const
 
Vector3 Transform (const ::Matrix &matrix) const
 

Static Public Member Functions

static Vector3 One ()
 
static Vector3 Zero ()
 

Protected Member Functions

void set (const ::Vector3 &vec)
 

Detailed Description

Vector3 type.

Definition at line 18 of file Vector3.hpp.

Constructor & Destructor Documentation

◆ Vector3() [1/6]

constexpr raylib::Vector3::Vector3 ( const ::Vector3 &  vec)
inlineconstexpr

Definition at line 20 of file Vector3.hpp.

◆ Vector3() [2/6]

constexpr raylib::Vector3::Vector3 ( float  x,
float  y,
float  z 
)
inlineconstexpr

Definition at line 22 of file Vector3.hpp.

◆ Vector3() [3/6]

constexpr raylib::Vector3::Vector3 ( float  x,
float  y 
)
inlineconstexpr

Definition at line 23 of file Vector3.hpp.

◆ Vector3() [4/6]

constexpr raylib::Vector3::Vector3 ( float  x)
inlineconstexpr

Definition at line 24 of file Vector3.hpp.

◆ Vector3() [5/6]

constexpr raylib::Vector3::Vector3 ( )
inlineconstexpr

Definition at line 25 of file Vector3.hpp.

◆ Vector3() [6/6]

raylib::Vector3::Vector3 ( ::Color  color)
inline

Definition at line 27 of file Vector3.hpp.

Member Function Documentation

◆ Add() [1/2]

Vector3 raylib::Vector3::Add ( const ::Vector3 &  vector3) const
inline

Add two vectors.

Definition at line 50 of file Vector3.hpp.

◆ Add() [2/2]

Vector3 raylib::Vector3::Add ( float  value) const
inline

Add vector and float value.

Definition at line 66 of file Vector3.hpp.

◆ Barycenter()

Vector3 raylib::Vector3::Barycenter ( const ::Vector3 &  a,
const ::Vector3 &  b,
const ::Vector3 &  c 
) const
inline

Definition at line 249 of file Vector3.hpp.

◆ CheckCollision()

bool raylib::Vector3::CheckCollision ( float  radius1,
const ::Vector3 &  center2,
float  radius2 
) const
inline

Detect collision between two spheres.

Definition at line 301 of file Vector3.hpp.

◆ CrossProduct()

Vector3 raylib::Vector3::CrossProduct ( const ::Vector3 &  vector3) const
inline

Definition at line 227 of file Vector3.hpp.

◆ Distance()

float raylib::Vector3::Distance ( const ::Vector3 &  vector3) const
inline

Definition at line 223 of file Vector3.hpp.

◆ Divide() [1/2]

Vector3 raylib::Vector3::Divide ( const ::Vector3 &  vector3) const
inline

Divide vector by vector.

Definition at line 170 of file Vector3.hpp.

Referenced by operator/().

◆ Divide() [2/2]

Vector3 raylib::Vector3::Divide ( const float  div) const
inline

Divide a vector by a value.

Definition at line 191 of file Vector3.hpp.

◆ DotProduct()

float raylib::Vector3::DotProduct ( const ::Vector3 &  vector3) const
inline

Definition at line 221 of file Vector3.hpp.

◆ DrawCircle3D()

void raylib::Vector3::DrawCircle3D ( float  radius,
const ::Vector3 &  rotationAxis,
float  rotationAngle,
Color  color 
) const
inline

Definition at line 262 of file Vector3.hpp.

◆ DrawCube() [1/2]

void raylib::Vector3::DrawCube ( const ::Vector3 &  size,
::Color  color 
) const
inline

Definition at line 270 of file Vector3.hpp.

◆ DrawCube() [2/2]

void raylib::Vector3::DrawCube ( float  width,
float  height,
float  length,
::Color  color 
) const
inline

Definition at line 266 of file Vector3.hpp.

◆ DrawCubeWires() [1/2]

void raylib::Vector3::DrawCubeWires ( const ::Vector3 &  size,
::Color  color 
) const
inline

Definition at line 276 of file Vector3.hpp.

◆ DrawCubeWires() [2/2]

void raylib::Vector3::DrawCubeWires ( float  width,
float  height,
float  length,
::Color  color 
) const
inline

Definition at line 272 of file Vector3.hpp.

◆ DrawCylinder()

void raylib::Vector3::DrawCylinder ( float  radiusTop,
float  radiusBottom,
float  height,
int  slices,
::Color  color 
) const
inline

Definition at line 288 of file Vector3.hpp.

◆ DrawCylinderWires()

void raylib::Vector3::DrawCylinderWires ( float  radiusTop,
float  radiusBottom,
float  height,
int  slices,
::Color  color 
) const
inline

Definition at line 292 of file Vector3.hpp.

◆ DrawLine3D()

void raylib::Vector3::DrawLine3D ( const ::Vector3 &  endPos,
::Color  color 
) const
inline

Definition at line 258 of file Vector3.hpp.

◆ DrawPlane()

void raylib::Vector3::DrawPlane ( const ::Vector2 &  size,
::Color  color 
) const
inline

Definition at line 296 of file Vector3.hpp.

◆ DrawPoint3D()

void raylib::Vector3::DrawPoint3D ( ::Color  color) const
inline

Definition at line 260 of file Vector3.hpp.

◆ DrawSphere() [1/2]

void raylib::Vector3::DrawSphere ( float  radius,
::Color  color 
) const
inline

Definition at line 278 of file Vector3.hpp.

◆ DrawSphere() [2/2]

void raylib::Vector3::DrawSphere ( float  radius,
int  rings,
int  slices,
::Color  color 
) const
inline

Definition at line 280 of file Vector3.hpp.

◆ DrawSphereWires()

void raylib::Vector3::DrawSphereWires ( float  radius,
int  rings,
int  slices,
::Color  color 
) const
inline

Definition at line 284 of file Vector3.hpp.

◆ GetX()

float raylib::Vector3::GetX ( ) const
inline

Retrieves the x value for the object.

Returns
The x value of the object.

Definition at line 29 of file Vector3.hpp.

◆ GetY()

float raylib::Vector3::GetY ( ) const
inline

Retrieves the y value for the object.

Returns
The y value of the object.

Definition at line 30 of file Vector3.hpp.

◆ GetZ()

float raylib::Vector3::GetZ ( ) const
inline

Retrieves the z value for the object.

Returns
The z value of the object.

Definition at line 31 of file Vector3.hpp.

◆ Length()

float raylib::Vector3::Length ( ) const
inline

Calculate vector length.

Definition at line 212 of file Vector3.hpp.

◆ LengthSqr()

float raylib::Vector3::LengthSqr ( ) const
inline

Calculate vector square length.

Definition at line 217 of file Vector3.hpp.

◆ Lerp()

Vector3 raylib::Vector3::Lerp ( const ::Vector3 &  vector3,
const float  amount 
) const
inline

Definition at line 225 of file Vector3.hpp.

◆ Max()

Vector3 raylib::Vector3::Max ( const ::Vector3 &  vector3) const
inline

Definition at line 247 of file Vector3.hpp.

◆ Min()

Vector3 raylib::Vector3::Min ( const ::Vector3 &  vector3) const
inline

Definition at line 245 of file Vector3.hpp.

◆ Multiply()

Vector3 raylib::Vector3::Multiply ( const ::Vector3 &  vector3) const
inline

Multiply vector by vector.

Definition at line 132 of file Vector3.hpp.

◆ Negate()

Vector3 raylib::Vector3::Negate ( ) const
inline

Negate provided vector (invert direction)

Definition at line 122 of file Vector3.hpp.

◆ Normalize()

Vector3 raylib::Vector3::Normalize ( ) const
inline

Definition at line 219 of file Vector3.hpp.

◆ One()

static Vector3 raylib::Vector3::One ( )
inlinestatic

Definition at line 255 of file Vector3.hpp.

◆ operator std::string()

raylib::Vector3::operator std::string ( ) const
inline

Definition at line 44 of file Vector3.hpp.

◆ operator!=()

constexpr bool raylib::Vector3::operator!= ( const ::Vector3 &  other) const
inlineconstexpr

Definition at line 40 of file Vector3.hpp.

◆ operator*() [1/2]

Vector3 raylib::Vector3::operator* ( const ::Vector3 &  vector3) const
inline

Multiply vector by vector.

Definition at line 137 of file Vector3.hpp.

◆ operator*() [2/2]

Vector3 raylib::Vector3::operator* ( const float  scaler) const
inline

Multiply vector by scalar.

Definition at line 156 of file Vector3.hpp.

◆ operator*=() [1/2]

Vector3 & raylib::Vector3::operator*= ( const ::Vector3 &  vector3)
inline

Multiply vector by vector.

Definition at line 142 of file Vector3.hpp.

◆ operator*=() [2/2]

Vector3 & raylib::Vector3::operator*= ( const float  scaler)
inline

Multiply vector by scalar.

Definition at line 161 of file Vector3.hpp.

◆ operator+() [1/2]

Vector3 raylib::Vector3::operator+ ( const ::Vector3 &  vector3) const
inline

Add two vectors.

Definition at line 55 of file Vector3.hpp.

◆ operator+() [2/2]

Vector3 raylib::Vector3::operator+ ( float  value) const
inline

Add vector and float value.

Definition at line 73 of file Vector3.hpp.

◆ operator+=() [1/2]

Vector3 & raylib::Vector3::operator+= ( const ::Vector3 &  vector3)
inline

Definition at line 57 of file Vector3.hpp.

◆ operator+=() [2/2]

Vector3 & raylib::Vector3::operator+= ( float  value)
inline

Definition at line 77 of file Vector3.hpp.

◆ operator-() [1/3]

Vector3 raylib::Vector3::operator- ( ) const
inline

Negate provided vector (invert direction)

Definition at line 127 of file Vector3.hpp.

◆ operator-() [2/3]

Vector3 raylib::Vector3::operator- ( const ::Vector3 &  vector3) const
inline

Subtract two vectors.

Definition at line 91 of file Vector3.hpp.

◆ operator-() [3/3]

Vector3 raylib::Vector3::operator- ( float  value) const
inline

Subtract vector by float value.

Definition at line 109 of file Vector3.hpp.

◆ operator-=() [1/2]

Vector3 & raylib::Vector3::operator-= ( const ::Vector3 &  vector3)
inline

Definition at line 93 of file Vector3.hpp.

◆ operator-=() [2/2]

Vector3 & raylib::Vector3::operator-= ( float  value)
inline

Definition at line 113 of file Vector3.hpp.

◆ operator/() [1/2]

Vector3 raylib::Vector3::operator/ ( const ::Vector3 &  vector3) const
inline

Divide vector by vector.

Definition at line 175 of file Vector3.hpp.

◆ operator/() [2/2]

Vector3 raylib::Vector3::operator/ ( const float  div) const
inline

Divide a vector by a value.

Definition at line 196 of file Vector3.hpp.

References Divide().

◆ operator/=() [1/2]

Vector3 & raylib::Vector3::operator/= ( const ::Vector3 &  vector3)
inline

Divide vector by vector.

Definition at line 180 of file Vector3.hpp.

◆ operator/=() [2/2]

Vector3 & raylib::Vector3::operator/= ( const float  div)
inline

Divide a vector by a value.

Definition at line 201 of file Vector3.hpp.

◆ operator=()

Vector3 & raylib::Vector3::operator= ( const ::Vector3 &  vector3)
inline

Definition at line 33 of file Vector3.hpp.

◆ operator==()

constexpr bool raylib::Vector3::operator== ( const ::Vector3 &  other) const
inlineconstexpr

Definition at line 38 of file Vector3.hpp.

◆ OrthoNormalize()

void raylib::Vector3::OrthoNormalize ( ::Vector3 *  vector3)
inline

Definition at line 235 of file Vector3.hpp.

◆ Perpendicular()

Vector3 raylib::Vector3::Perpendicular ( ) const
inline

Definition at line 229 of file Vector3.hpp.

◆ Project()

Vector3 raylib::Vector3::Project ( const ::Vector3 &  vector3) const
inline

Definition at line 231 of file Vector3.hpp.

◆ Reflect()

Vector3 raylib::Vector3::Reflect ( const ::Vector3 &  normal) const
inline

Definition at line 243 of file Vector3.hpp.

◆ Reject()

Vector3 raylib::Vector3::Reject ( const ::Vector3 &  vector3) const
inline

Definition at line 233 of file Vector3.hpp.

◆ RotateByQuaternion()

Vector3 raylib::Vector3::RotateByQuaternion ( const ::Quaternion &  quaternion) const
inline

Definition at line 239 of file Vector3.hpp.

◆ Scale()

Vector3 raylib::Vector3::Scale ( const float  scaler) const
inline

Multiply vector by scalar.

Definition at line 151 of file Vector3.hpp.

◆ set()

void raylib::Vector3::set ( const ::Vector3 &  vec)
inlineprotected

Definition at line 305 of file Vector3.hpp.

◆ SetX()

void raylib::Vector3::SetX ( float  value)
inline

Sets the x value for the object.

Parameters
valueThe value of which to set x to.

Definition at line 29 of file Vector3.hpp.

◆ SetY()

void raylib::Vector3::SetY ( float  value)
inline

Sets the y value for the object.

Parameters
valueThe value of which to set y to.

Definition at line 30 of file Vector3.hpp.

◆ SetZ()

void raylib::Vector3::SetZ ( float  value)
inline

Sets the z value for the object.

Parameters
valueThe value of which to set z to.

Definition at line 31 of file Vector3.hpp.

◆ Subtract() [1/2]

Vector3 raylib::Vector3::Subtract ( const ::Vector3 &  vector3) const
inline

Subtract two vectors.

Definition at line 86 of file Vector3.hpp.

◆ Subtract() [2/2]

Vector3 raylib::Vector3::Subtract ( float  value) const
inline

Subtract vector by float value.

Definition at line 102 of file Vector3.hpp.

◆ ToString()

std::string raylib::Vector3::ToString ( ) const
inline

Definition at line 42 of file Vector3.hpp.

◆ Transform()

Vector3 raylib::Vector3::Transform ( const ::Matrix &  matrix) const
inline

Definition at line 237 of file Vector3.hpp.

◆ Zero()

static Vector3 raylib::Vector3::Zero ( )
inlinestatic

Definition at line 253 of file Vector3.hpp.