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 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...
 
Vector3operator+= (const ::Vector3 &vector3)
 
Vector3 operator- () const
 Negate provided vector (invert direction) More...
 
Vector3 operator- (const ::Vector3 &vector3) const
 Subtract two vectors. More...
 
Vector3operator-= (const ::Vector3 &vector3)
 
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...
 
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 19 of file Vector3.hpp.

Constructor & Destructor Documentation

◆ Vector3() [1/6]

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

Definition at line 21 of file Vector3.hpp.

◆ Vector3() [2/6]

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

Definition at line 23 of file Vector3.hpp.

◆ Vector3() [3/6]

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

Definition at line 24 of file Vector3.hpp.

◆ Vector3() [4/6]

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

Definition at line 25 of file Vector3.hpp.

◆ Vector3() [5/6]

raylib::Vector3::Vector3 ( )
inline

Definition at line 26 of file Vector3.hpp.

◆ Vector3() [6/6]

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

Definition at line 28 of file Vector3.hpp.

Member Function Documentation

◆ Add()

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

Add two vectors.

Definition at line 63 of file Vector3.hpp.

◆ Back()

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

Definition at line 312 of file Vector3.hpp.

◆ Barycenter()

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

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

◆ CrossProduct()

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

Definition at line 240 of file Vector3.hpp.

◆ Distance()

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

Definition at line 232 of file Vector3.hpp.

◆ Divide() [1/2]

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

Divide vector by vector.

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

◆ DotProduct()

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

Definition at line 228 of file Vector3.hpp.

◆ Down()

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

Definition at line 304 of file Vector3.hpp.

◆ DrawCircle3D()

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

Definition at line 325 of file Vector3.hpp.

◆ DrawCube() [1/2]

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

Definition at line 337 of file Vector3.hpp.

◆ DrawCube() [2/2]

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

Definition at line 333 of file Vector3.hpp.

◆ DrawCubeWires() [1/2]

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

Definition at line 345 of file Vector3.hpp.

◆ DrawCubeWires() [2/2]

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

Definition at line 341 of file Vector3.hpp.

◆ DrawCylinder()

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

Definition at line 361 of file Vector3.hpp.

◆ DrawCylinderWires()

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

Definition at line 366 of file Vector3.hpp.

◆ DrawLine3D()

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

Definition at line 317 of file Vector3.hpp.

◆ DrawPlane()

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

Definition at line 371 of file Vector3.hpp.

◆ DrawPoint3D()

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

Definition at line 321 of file Vector3.hpp.

◆ DrawSphere() [1/2]

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

Definition at line 349 of file Vector3.hpp.

◆ DrawSphere() [2/2]

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

Definition at line 353 of file Vector3.hpp.

◆ DrawSphereWires()

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

Definition at line 357 of file Vector3.hpp.

◆ Forward()

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

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

◆ Left()

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

Definition at line 292 of file Vector3.hpp.

◆ Length()

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

Calculate vector length.

Definition at line 213 of file Vector3.hpp.

◆ LengthSqr()

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

Calculate vector square length.

Definition at line 220 of file Vector3.hpp.

◆ Lerp()

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

Definition at line 236 of file Vector3.hpp.

◆ Max()

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

Definition at line 276 of file Vector3.hpp.

◆ Min()

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

Definition at line 272 of file Vector3.hpp.

◆ Multiply()

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

Multiply vector by vector.

Definition at line 117 of file Vector3.hpp.

◆ Negate()

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

Negate provided vector (invert direction)

Definition at line 103 of file Vector3.hpp.

◆ Normalize()

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

Definition at line 224 of file Vector3.hpp.

◆ One()

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

Definition at line 288 of file Vector3.hpp.

◆ operator std::string()

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

Definition at line 55 of file Vector3.hpp.

◆ operator!=()

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

Definition at line 47 of file Vector3.hpp.

◆ operator*() [1/2]

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

Multiply vector by vector.

Definition at line 124 of file Vector3.hpp.

◆ operator*() [2/2]

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

Multiply vector by scalar.

Definition at line 147 of file Vector3.hpp.

◆ operator*=() [1/2]

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

Multiply vector by vector.

Definition at line 131 of file Vector3.hpp.

◆ operator*=() [2/2]

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

Multiply vector by scalar.

Definition at line 154 of file Vector3.hpp.

◆ operator+()

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

Add two vectors.

Definition at line 70 of file Vector3.hpp.

◆ operator+=()

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

Definition at line 74 of file Vector3.hpp.

◆ operator-() [1/2]

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

Negate provided vector (invert direction)

Definition at line 110 of file Vector3.hpp.

◆ operator-() [2/2]

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

Subtract two vectors.

Definition at line 90 of file Vector3.hpp.

◆ operator-=()

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

Definition at line 94 of file Vector3.hpp.

◆ operator/() [1/2]

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

Divide vector by vector.

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

References Divide().

◆ operator/=() [1/2]

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

Divide vector by vector.

Definition at line 177 of file Vector3.hpp.

◆ operator/=() [2/2]

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

Divide a vector by a value.

Definition at line 202 of file Vector3.hpp.

◆ operator=()

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

Definition at line 36 of file Vector3.hpp.

◆ operator==()

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

Definition at line 41 of file Vector3.hpp.

◆ OrthoNormalize()

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

Definition at line 256 of file Vector3.hpp.

◆ Perpendicular()

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

Definition at line 244 of file Vector3.hpp.

◆ Project()

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

Definition at line 248 of file Vector3.hpp.

◆ Reflect()

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

Definition at line 268 of file Vector3.hpp.

◆ Reject()

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

Definition at line 252 of file Vector3.hpp.

◆ Right()

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

Definition at line 296 of file Vector3.hpp.

◆ RotateByQuaternion()

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

Definition at line 264 of file Vector3.hpp.

◆ Scale()

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

Multiply vector by scalar.

Definition at line 140 of file Vector3.hpp.

◆ set()

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

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

◆ Subtract()

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

Subtract two vectors.

Definition at line 83 of file Vector3.hpp.

◆ ToString()

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

Definition at line 51 of file Vector3.hpp.

◆ Transform()

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

Definition at line 260 of file Vector3.hpp.

◆ Up()

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

Definition at line 300 of file Vector3.hpp.

◆ Zero()

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

Definition at line 284 of file Vector3.hpp.