2#ifdef StevEngine_PHYSICS
5#ifdef StevEngine_MODELS
6#include "assimp/vector3.h"
10namespace StevEngine::Utilities {
31 Vector3(
double x,
double y,
double z);
65 explicit operator Vector2()
const;
66 explicit operator std::string()
const;
67 const float*
data()
const;
69 #ifdef StevEngine_PHYSICS
70 operator JPH::DVec3()
const;
71 operator JPH::Vec3()
const;
74 Vector3(
const JPH::Vec3& other);
75 Vector3(
const JPH::DVec3& other);
78 #ifdef StevEngine_MODELS
79 operator aiVector3D()
const;
81 Vector3(
const aiVector3D& other);
2D vector class
Definition Vector2.hpp:13
static const Vector3 right
Right vector (1,0,0)
Definition Vector3.hpp:86
Vector3 & operator-=(const Vector3 &other)
Subtract-assign.
Definition Vector3.cpp:50
Vector3 operator*(const double &other) const
Scalar multiplication.
Definition Vector3.cpp:56
Vector3 & operator=(const JPH::Vec3 &other)
Assign from Jolt float vector.
Definition Vector3.cpp:97
static const Vector3 identity
One vector (1,1,1)
Definition Vector3.hpp:88
static Vector3 CombineScale(const Vector3 &a, const Vector3 &b)
Combine scale vectors by multiplication.
Definition Vector3.cpp:144
static const Vector3 zero
Zero vector (0,0,0)
Definition Vector3.hpp:89
Vector3 & Normalize()
Normalize this vector.
Definition Vector3.cpp:22
static double Dot(const Vector3 &a, const Vector3 &b)
Calculate dot product.
Definition Vector3.cpp:141
static const Vector3 up
Up vector (0,1,0)
Definition Vector3.hpp:85
bool operator==(const Vector3 &other) const
Equality comparison.
Definition Vector3.cpp:62
static Vector3 Slerp(const Vector3 &a, const Vector3 &b, double t)
Spherical interpolation between vectors.
Definition Vector3.cpp:151
double Z
Vector components.
Definition Vector3.hpp:22
double Magnitude() const
Get vector length.
Definition Vector3.cpp:19
static double Distance(const Vector3 &a, const Vector3 &b)
Calculate distance between vectors.
Definition Vector3.cpp:131
Vector3(double x, double y, double z)
Create vector from components.
Definition Vector3.cpp:11
Vector3()
Create zero vector.
Definition Vector3.cpp:14
Vector3 operator-() const
Negation.
Definition Vector3.cpp:41
Vector3 Get() const
Get copy of this vector.
Definition Vector3.cpp:16
static Vector3 Cross(const Vector3 &a, const Vector3 &b)
Calculate cross product.
Definition Vector3.cpp:134
static const Vector3 forward
Forward vector (0,0,-1)
Definition Vector3.hpp:87
Vector3 Normalized() const
Get normalized copy.
Definition Vector3.cpp:31
Vector3 operator/(const double &other) const
Scalar division.
Definition Vector3.cpp:59
Vector3 & operator+=(const Vector3 &other)
Add-assign.
Definition Vector3.cpp:44
const float * data() const
Get raw float array.
Definition Vector3.cpp:72
Vector3 operator+(const Vector3 &other) const
Addition.
Definition Vector3.cpp:35