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

Vector2 type. More...

Public Member Functions

 Vector2 (const ::Vector2 &vec)
 
 Vector2 (float x)
 
 Vector2 (float x, float y)
 
Vector2 Add (const ::Vector2 &vector2) const
 Add two vectors (v1 + v2)
 
float Angle (const ::Vector2 &vector2) const
 Calculate angle from two vectors in X-axis.
 
bool CheckCollision (::Rectangle rec) const
 Check if point is inside rectangle.
 
bool CheckCollision (::Vector2 center, float radius) const
 Check if point is inside circle.
 
bool CheckCollision (::Vector2 p1, ::Vector2 p2, ::Vector2 p3) const
 Check if point is inside a triangle.
 
bool CheckCollisionCircle (float radius, ::Rectangle rec) const
 Check collision between circle and rectangle.
 
bool CheckCollisionCircle (float radius1, ::Vector2 center2, float radius2) const
 Check collision between two circles.
 
bool CheckCollisionLines (::Vector2 endPos1, ::Vector2 startPos2, ::Vector2 endPos2, ::Vector2 *collisionPoint) const
 Check the collision between two lines defined by two points each, returns collision point by reference.
 
bool CheckCollisionPointLine (::Vector2 p1, ::Vector2 p2, int threshold=1) const
 Check if point belongs to line created between two points [p1] and [p2] with defined margin in pixels [threshold].
 
Vector2 Clamp (::Vector2 min, ::Vector2 max) const
 Clamp the components of the vector between.
 
Vector2 Clamp (float min, float max) const
 // Clamp the magnitude of the vector between two min and max values
 
float Distance (const ::Vector2 &vector2) const
 Calculate distance between two vectors.
 
float DistanceSqr (::Vector2 v2) const
 Calculate square distance between two vectors.
 
Vector2 Divide (const ::Vector2 &vector2) const
 Divide vector by vector.
 
Vector2 Divide (const float div) const
 Divide vector by value.
 
float DotProduct (const ::Vector2 &vector2) const
 Calculate two vectors dot product.
 
void DrawCircle (float radius, ::Color color={0, 0, 0, 255}) const
 Draw a color-filled circle (Vector version)
 
void DrawLine (::Vector2 endPos, ::Color color={0, 0, 0, 255}) const
 
void DrawLine (::Vector2 endPos, float thick, ::Color color={0, 0, 0, 255}) const
 
void DrawLineBezier (::Vector2 endPos, float thick, ::Color color={0, 0, 0, 255}) const
 
void DrawPixel (::Color color={0, 0, 0, 255}) const
 
void DrawPoly (int sides, float radius, float rotation, ::Color color={0, 0, 0, 255}) const
 
void DrawRectangle (::Vector2 size, ::Color color={0, 0, 0, 255}) const
 
int Equals (::Vector2 q) const
 Check whether two given vectors are almost equal.
 
float GetX () const
 Retrieves the x value for the object. More...
 
float GetY () const
 Retrieves the y value for the object. More...
 
Vector2 Invert () const
 Invert the given vector.
 
float Length () const
 Calculate vector length.
 
float LengthSqr () const
 Calculate vector square length.
 
Vector2 Lerp (const ::Vector2 &vector2, float amount) const
 Calculate linear interpolation between two vectors.
 
Vector2 MoveTowards (const ::Vector2 &target, float maxDistance) const
 Move Vector towards target.
 
Vector2 Multiply (const ::Vector2 &vector2) const
 Multiply vector by vector.
 
Vector2 Negate () const
 Negate vector.
 
Vector2 Normalize () const
 Normalize provided vector.
 
 operator std::string () const
 
bool operator!= (const ::Vector2 &other) const
 Determines if the vectors are not equal.
 
Vector2 operator* (const ::Vector2 &vector2) const
 Multiply vector by vector.
 
Vector2 operator* (const float scale) const
 Scale vector (multiply by value)
 
Vector2operator*= (const ::Vector2 &vector2)
 Multiply vector by vector.
 
Vector2operator*= (const float scale)
 Scale vector (multiply by value)
 
Vector2 operator+ (const ::Vector2 &vector2) const
 Add two vectors (v1 + v2)
 
Vector2operator+= (const ::Vector2 &vector2)
 Add two vectors (v1 + v2)
 
Vector2 operator- () const
 Negate vector.
 
Vector2 operator- (const ::Vector2 &vector2) const
 Subtract two vectors (v1 - v2)
 
Vector2operator-= (const ::Vector2 &vector2)
 Subtract two vectors (v1 - v2)
 
Vector2 operator/ (const ::Vector2 &vector2) const
 Divide vector by vector.
 
Vector2 operator/ (const float div) const
 Divide vector by value.
 
Vector2operator/= (const ::Vector2 &vector2)
 Divide vector by vector.
 
Vector2operator/= (const float div)
 Divide vector by value.
 
Vector2operator= (const ::Vector2 &vector2)
 Set the Vector2 to the same as the given Vector2.
 
bool operator== (const ::Vector2 &other) const
 Determine whether or not the vectors are equal.
 
Vector2 Reflect (const ::Vector2 &normal) const
 Calculate reflected vector to normal.
 
Vector2 Rotate (float angle) const
 Rotate Vector by float in radians.
 
Vector2 Scale (const float scale) const
 Scale vector (multiply by value)
 
void SetX (float value)
 Sets the x value for the object. More...
 
void SetY (float value)
 Sets the y value for the object. More...
 
Vector2 Subtract (const ::Vector2 &vector2) const
 Subtract two vectors (v1 - v2)
 
std::string ToString () const
 
Vector2 Transform (::Matrix mat) const
 Transforms a Vector2 by a given Matrix.
 

Static Public Member Functions

static Vector2 One ()
 Vector with components value 1.0f.
 
static Vector2 Zero ()
 Vector with components value 0.0f.
 

Protected Member Functions

void set (const ::Vector2 &vec)
 

Detailed Description

Vector2 type.

Definition at line 18 of file Vector2.hpp.

Member Function Documentation

◆ GetX()

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

Retrieves the x value for the object.

Returns
The x value of the object.

Definition at line 26 of file Vector2.hpp.

◆ GetY()

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

Retrieves the y value for the object.

Returns
The y value of the object.

Definition at line 27 of file Vector2.hpp.

◆ SetX()

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

Sets the x value for the object.

Parameters
valueThe value of which to set x to.

Definition at line 26 of file Vector2.hpp.

◆ SetY()

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

Sets the y value for the object.

Parameters
valueThe value of which to set y to.

Definition at line 27 of file Vector2.hpp.