|
StevEngine
StevEngine is a customizable C++ game engine.
|
3D vector class More...
#include <utilities/Vector3.hpp>
Public Member Functions | |
| Vector3 (double x, double y, double z) | |
| Create vector from components. | |
| Vector3 (const Vector3 &from) | |
| Copy constructor. | |
| Vector3 (double v) | |
| Create vector with all components equal. | |
| Vector3 () | |
| Create zero vector. | |
| Vector3 | Get () const |
| Get copy of this vector. | |
| double | Magnitude () const |
| Get vector length. | |
| Vector3 & | Normalize () |
| Normalize this vector. | |
| Vector3 | Normalized () const |
| Get normalized copy. | |
| Vector3 | operator+ (const Vector3 &other) const |
| Addition. | |
| Vector3 | operator- (const Vector3 &other) const |
| Subtraction. | |
| Vector3 | operator- () const |
| Negation. | |
| Vector3 & | operator+= (const Vector3 &other) |
| Add-assign. | |
| Vector3 & | operator-= (const Vector3 &other) |
| Subtract-assign. | |
| Vector3 | operator* (const double &other) const |
| Scalar multiplication. | |
| Vector3 | operator*= (const double &other) |
| Scalar multiplication-assign. | |
| Vector3 | operator/ (const double &other) const |
| Scalar division. | |
| Vector3 | operator/= (const double &other) |
| Scalar division-assign. | |
| bool | operator== (const Vector3 &other) const |
| Equality comparison. | |
| operator Vector2 () const | |
| Convert to Vector2. | |
| operator std::string () const | |
| Convert to string. | |
| const float * | data () const |
| Get raw float array. | |
| operator JPH::DVec3 () const | |
| Convert to Jolt double vector. | |
| operator JPH::Vec3 () const | |
| Convert to Jolt float vector. | |
| Vector3 & | operator= (const JPH::Vec3 &other) |
| Assign from Jolt float vector. | |
| Vector3 & | operator= (const JPH::DVec3 &other) |
| Assign from Jolt double vector. | |
| Vector3 (const JPH::Vec3 &other) | |
| Create from Jolt float vector. | |
| Vector3 (const JPH::DVec3 &other) | |
| Create from Jolt double vector. | |
| operator aiVector3D () const | |
| Convert to Assimp vector. | |
| Vector3 & | operator= (const aiVector3D &other) |
| Assign from Assimp vector. | |
| Vector3 (const aiVector3D &other) | |
| Create from Assimp vector. | |
Static Public Member Functions | |
| static double | Distance (const Vector3 &a, const Vector3 &b) |
| Calculate distance between vectors. | |
| static Vector3 | Cross (const Vector3 &a, const Vector3 &b) |
| Calculate cross product. | |
| static double | Dot (const Vector3 &a, const Vector3 &b) |
| Calculate dot product. | |
| static Vector3 | CombineScale (const Vector3 &a, const Vector3 &b) |
| Combine scale vectors by multiplication. | |
| static Vector3 | Slerp (const Vector3 &a, const Vector3 &b, double t) |
| Spherical interpolation between vectors. | |
Public Attributes | |
| double | X |
| double | Y |
| double | Z |
| Vector components. | |
Static Public Attributes | |
| static const Vector3 | up = Vector3(0,1,0) |
| Up vector (0,1,0) | |
| static const Vector3 | right = Vector3(1,0,0) |
| Right vector (1,0,0) | |
| static const Vector3 | forward = Vector3(0,0,-1) |
| Forward vector (0,0,-1) | |
| static const Vector3 | identity = Vector3(1.0) |
| One vector (1,1,1) | |
| static const Vector3 | zero = Vector3(0.0) |
| Zero vector (0,0,0) | |
3D vector class
Represents a point or direction in 3D space. Provides common vector operations and utilities.
| StevEngine::Utilities::Vector3::Vector3 | ( | double | x, |
| double | y, | ||
| double | z ) |
Create vector from components.
| x | X component |
| y | Y component |
| z | Z component |
| StevEngine::Utilities::Vector3::Vector3 | ( | const Vector3 & | from | ) |
Copy constructor.
| from | Vector to copy |
| StevEngine::Utilities::Vector3::Vector3 | ( | double | v | ) |
Create vector with all components equal.
| v | Value for all components |
|
static |
Combine scale vectors by multiplication.
| a | First scale |
| b | Second scale |
Calculate cross product.
| a | First vector |
| b | Second vector |
Calculate distance between vectors.
| a | First vector |
| b | Second vector |
Calculate dot product.
| a | First vector |
| b | Second vector |
|
static |
Spherical interpolation between vectors.
| a | Start vector |
| b | End vector |
| t | Interpolation factor (0-1) |