35 Vector(
double x,
double y) {
40 if (vector) { free(vector); }
45 double getX()
const {
return vector->
x; }
46 double getY()
const {
return vector->y; }
49 void setX(
double x) { vector->x = x; }
50 void setY(
double y) { vector->y = y; }
52 Vector operator+(
const Vector& other)
const {
54 return Vector(result);
57 Vector operator+(
const std::vector<Vector>& vectors)
const {
61 for (
size_t i = 0; i < vectors.size(); ++i) {
62 vArray[i + 1] = vectors[i].vector;
68 return Vector(result);
71 Vector& operator+=(
const Vector& other) {
79 Vector operator-(
const Vector& other)
const {
81 return Vector(result);
84 Vector& operator-=(
const Vector& other) {
92 Vector operator*(
double scalar)
const {
93 Vector result(vector->x, vector->y);
98 Vector& operator*=(
double scalar) {
103 Vector operator/(
double scalar)
const {
104 Vector result(vector->x, vector->y);
109 Vector& operator/=(
double scalar) {
114 int rotate(
double radians) {
134 int dot(
const Vector& other)
const {
Primary namespace for CmdFX.
Definition cmdfx.hpp:22
Physics utilities for cmdfx.
CmdFX_Vector * Vector_addAll(CmdFX_Vector **vectors, int count)
Adds multiple 2D Vectors.
int Vector_dot(CmdFX_Vector *v1, CmdFX_Vector *v2)
Gets the dot product of two vectors.
double Vector_getAngle(CmdFX_Vector *v)
Gets the angle of a 2D Vector.
double Vector_getMagnitude(CmdFX_Vector *v)
Gets the magnitude of a 2D Vector.
CmdFX_Vector * Vector_subtract(CmdFX_Vector *v1, CmdFX_Vector *v2)
Subtracts two 2D Vectors.
CmdFX_Vector * Vector_create(double x, double y)
Creates a new 2D Vector.
int Vector_multiply(CmdFX_Vector *v, double scalar)
Multiplies a 2D Vector by a scalar.
CmdFX_Vector * Vector_add(CmdFX_Vector *v1, CmdFX_Vector *v2)
Adds two 2D Vectors.
int Vector_rotate(CmdFX_Vector *v, double radians)
Rotates a 2D Vector by a specific number of radians.
int Vector_flipX(CmdFX_Vector *v)
Flips a 2D Vector horizontally.
int Vector_flip(CmdFX_Vector *v)
Flips a 2D Vector.
int Vector_divide(CmdFX_Vector *v, double scalar)
Divides a 2D Vector by a scalar.
int Vector_flipY(CmdFX_Vector *v)
Flips a 2D Vector vertically.
A 2D Vector.
Definition util.h:22
double x
The x coordinate.
Definition util.h:26