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)
 
 Vector3 (const ::Vector3 &vec)
 
 Vector3 (float x)
 
 Vector3 (float x, float y)
 
 Vector3 (float x, float y, float z)
 
Vector3 Add (const ::Vector3 &vector3) const
 Add two vectors. More...
 
Vector3 Add (float value) const
 Add vector and float value. More...
 
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. More...
 
Vector3 CrossProduct (const ::Vector3 &vector3) const
 
float Distance (const ::Vector3 &vector3) const
 
Vector3 Divide (const ::Vector3 &vector3) const
 Divide vector by vector. More...
 
Vector3 Divide (const float div) const
 Divide a vector by a value. More...
 
float DotProduct (const ::Vector3 &vector3) const
 
void DrawCircle3D (float radius, const ::Vector3 &rotationAxis, Radian 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. More...
 
float GetY () const
 Retrieves the y value for the object. More...
 
float GetZ () const
 Retrieves the z value for the object. More...
 
float Length () const
 Calculate vector length. More...
 
float LengthSqr () const
 Calculate vector square length. More...
 
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. More...
 
Vector3 Negate () const
 Negate provided vector (invert direction) More...
 
Vector3 Normalize () const
 
 operator std::string () const
 
bool operator!= (const ::Vector3 &other) const
 
Vector3 operator* (const ::Vector3 &vector3) const
 Multiply vector by vector. More...
 
Vector3 operator* (const float scaler) const
 Multiply vector by scalar. More...
 
Vector3operator*= (const ::Vector3 &vector3)
 Multiply vector by vector. More...
 
Vector3operator*= (const float scaler)
 Multiply vector by scalar. More...
 
Vector3 operator+ (const ::Vector3 &vector3) const
 Add two vectors. More...
 
Vector3 operator+ (float value) const
 Add vector and float value. More...
 
Vector3operator+= (const ::Vector3 &vector3)
 
Vector3operator+= (float value)
 
Vector3 operator- () const
 Negate provided vector (invert direction) More...
 
Vector3 operator- (const ::Vector3 &vector3) const
 Subtract two vectors. More...
 
Vector3 operator- (float value) const
 Subtract vector by float value. More...
 
Vector3operator-= (const ::Vector3 &vector3)
 
Vector3operator-= (float value)
 
Vector3 operator/ (const ::Vector3 &vector3) const
 Divide vector by vector. More...
 
Vector3 operator/ (const float div) const
 Divide a vector by a value. More...
 
Vector3operator/= (const ::Vector3 &vector3)
 Divide vector by vector. More...
 
Vector3operator/= (const float div)
 Divide a vector by a value. More...
 
Vector3operator= (const ::Vector3 &vector3)
 
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. More...
 
void SetX (float value)
 Sets the x value for the object. More...
 
void SetY (float value)
 Sets the y value for the object. More...
 
void SetZ (float value)
 Sets the z value for the object. More...
 
Vector3 Subtract (const ::Vector3 &vector3) const
 Subtract two vectors. More...
 
Vector3 Subtract (float value) const
 Subtract vector by float value. More...
 
std::string ToString () const
 
Vector3 Transform (const ::Matrix &matrix) const
 

Static Public Member Functions

static Vector3 Back ()
 
static Vector3 Down ()
 
static Vector3 Forward ()
 
static Vector3 Left ()
 
static Vector3 One ()
 
static Vector3 Right ()
 
static Vector3 Up ()
 
static Vector3 Zero ()
 

Protected Member Functions

void set (const ::Vector3 &vec)
 

Detailed Description

Vector3 type.

Definition at line 20 of file Vector3.hpp.

Constructor & Destructor Documentation

◆ Vector3() [1/6]

raylib::Vector3::Vector3 ( const ::Vector3 &  vec)
inline

Definition at line 22 of file Vector3.hpp.

◆ Vector3() [2/6]

raylib::Vector3::Vector3 ( float  x,
float  y,
float  z 
)
inline

Definition at line 24 of file Vector3.hpp.

◆ Vector3() [3/6]

raylib::Vector3::Vector3 ( float  x,
float  y 
)
inline

Definition at line 25 of file Vector3.hpp.

◆ Vector3() [4/6]

raylib::Vector3::Vector3 ( float  x)
inline

Definition at line 26 of file Vector3.hpp.

◆ Vector3() [5/6]

raylib::Vector3::Vector3 ( )
inline

Definition at line 27 of file Vector3.hpp.

◆ Vector3() [6/6]

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

Definition at line 29 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 52 of file Vector3.hpp.

◆ Add() [2/2]

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

Add vector and float value.

Definition at line 68 of file Vector3.hpp.

◆ Back()

static Vector3 raylib::Vector3::Back ( )
inlinestatic

Definition at line 281 of file Vector3.hpp.

◆ Barycenter()

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

Definition at line 251 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 333 of file Vector3.hpp.

◆ CrossProduct()

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

Definition at line 229 of file Vector3.hpp.

◆ Distance()

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

Definition at line 225 of file Vector3.hpp.

◆ Divide() [1/2]

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

Divide vector by vector.

Definition at line 172 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 193 of file Vector3.hpp.

◆ DotProduct()

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

Definition at line 223 of file Vector3.hpp.

◆ Down()

static Vector3 raylib::Vector3::Down ( )
inlinestatic

Definition at line 273 of file Vector3.hpp.

◆ DrawCircle3D()

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

Definition at line 290 of file Vector3.hpp.

◆ DrawCube() [1/2]

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

Definition at line 302 of file Vector3.hpp.

◆ DrawCube() [2/2]

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

Definition at line 298 of file Vector3.hpp.

◆ DrawCubeWires() [1/2]

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

Definition at line 308 of file Vector3.hpp.

◆ DrawCubeWires() [2/2]

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

Definition at line 304 of file Vector3.hpp.

◆ DrawCylinder()

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

Definition at line 320 of file Vector3.hpp.

◆ DrawCylinderWires()

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

Definition at line 324 of file Vector3.hpp.

◆ DrawLine3D()

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

Definition at line 286 of file Vector3.hpp.

◆ DrawPlane()

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

Definition at line 328 of file Vector3.hpp.

◆ DrawPoint3D()

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

Definition at line 288 of file Vector3.hpp.

◆ DrawSphere() [1/2]

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

Definition at line 310 of file Vector3.hpp.

◆ DrawSphere() [2/2]

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

Definition at line 312 of file Vector3.hpp.

◆ DrawSphereWires()

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

Definition at line 316 of file Vector3.hpp.

◆ Forward()

static Vector3 raylib::Vector3::Forward ( )
inlinestatic

Definition at line 277 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 31 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 32 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 33 of file Vector3.hpp.

◆ Left()

static Vector3 raylib::Vector3::Left ( )
inlinestatic

Definition at line 261 of file Vector3.hpp.

◆ Length()

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

Calculate vector length.

Definition at line 214 of file Vector3.hpp.

◆ LengthSqr()

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

Calculate vector square length.

Definition at line 219 of file Vector3.hpp.

◆ Lerp()

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

Definition at line 227 of file Vector3.hpp.

◆ Max()

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

Definition at line 249 of file Vector3.hpp.

◆ Min()

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

Definition at line 247 of file Vector3.hpp.

◆ Multiply()

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

Multiply vector by vector.

Definition at line 134 of file Vector3.hpp.

◆ Negate()

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

Negate provided vector (invert direction)

Definition at line 124 of file Vector3.hpp.

◆ Normalize()

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

Definition at line 221 of file Vector3.hpp.

◆ One()

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

Definition at line 257 of file Vector3.hpp.

◆ operator std::string()

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

Definition at line 46 of file Vector3.hpp.

◆ operator!=()

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

Definition at line 42 of file Vector3.hpp.

◆ operator*() [1/2]

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

Multiply vector by vector.

Definition at line 139 of file Vector3.hpp.

◆ operator*() [2/2]

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

Multiply vector by scalar.

Definition at line 158 of file Vector3.hpp.

◆ operator*=() [1/2]

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

Multiply vector by vector.

Definition at line 144 of file Vector3.hpp.

◆ operator*=() [2/2]

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

Multiply vector by scalar.

Definition at line 163 of file Vector3.hpp.

◆ operator+() [1/2]

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

Add two vectors.

Definition at line 57 of file Vector3.hpp.

◆ operator+() [2/2]

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

Add vector and float value.

Definition at line 75 of file Vector3.hpp.

◆ operator+=() [1/2]

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

Definition at line 59 of file Vector3.hpp.

◆ operator+=() [2/2]

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

Definition at line 79 of file Vector3.hpp.

◆ operator-() [1/3]

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

Negate provided vector (invert direction)

Definition at line 129 of file Vector3.hpp.

◆ operator-() [2/3]

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

Subtract two vectors.

Definition at line 93 of file Vector3.hpp.

◆ operator-() [3/3]

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

Subtract vector by float value.

Definition at line 111 of file Vector3.hpp.

◆ operator-=() [1/2]

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

Definition at line 95 of file Vector3.hpp.

◆ operator-=() [2/2]

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

Definition at line 115 of file Vector3.hpp.

◆ operator/() [1/2]

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

Divide vector by vector.

Definition at line 177 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 198 of file Vector3.hpp.

References Divide().

◆ operator/=() [1/2]

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

Divide vector by vector.

Definition at line 182 of file Vector3.hpp.

◆ operator/=() [2/2]

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

Divide a vector by a value.

Definition at line 203 of file Vector3.hpp.

◆ operator=()

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

Definition at line 35 of file Vector3.hpp.

◆ operator==()

bool raylib::Vector3::operator== ( const ::Vector3 &  other) const
inline

Definition at line 40 of file Vector3.hpp.

◆ OrthoNormalize()

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

Definition at line 237 of file Vector3.hpp.

◆ Perpendicular()

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

Definition at line 231 of file Vector3.hpp.

◆ Project()

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

Definition at line 233 of file Vector3.hpp.

◆ Reflect()

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

Definition at line 245 of file Vector3.hpp.

◆ Reject()

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

Definition at line 235 of file Vector3.hpp.

◆ Right()

static Vector3 raylib::Vector3::Right ( )
inlinestatic

Definition at line 265 of file Vector3.hpp.

◆ RotateByQuaternion()

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

Definition at line 241 of file Vector3.hpp.

◆ Scale()

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

Multiply vector by scalar.

Definition at line 153 of file Vector3.hpp.

◆ set()

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

Definition at line 337 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 31 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 32 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 33 of file Vector3.hpp.

◆ Subtract() [1/2]

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

Subtract two vectors.

Definition at line 88 of file Vector3.hpp.

◆ Subtract() [2/2]

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

Subtract vector by float value.

Definition at line 104 of file Vector3.hpp.

◆ ToString()

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

Definition at line 44 of file Vector3.hpp.

◆ Transform()

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

Definition at line 239 of file Vector3.hpp.

◆ Up()

static Vector3 raylib::Vector3::Up ( )
inlinestatic

Definition at line 269 of file Vector3.hpp.

◆ Zero()

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

Definition at line 255 of file Vector3.hpp.