Elaztek Developer Hub
Blamite Game Engine - Strings
A library containing general purpose utilities and classes for use in multiple projects.
vector.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include <string>
4 
5 #ifdef STRINGS_EXPORTS
6 #define STRINGS_API __declspec(dllexport)
7 #else
8 #define STRINGS_API __declspec(dllimport)
9 #endif
10 
14 enum class BlamDirection
15 {
16  Forward,
17  Backward,
18  Left,
19  Right,
20  Up,
21  Down
22 };
23 
28 {
29  float x = 0.0f;
30  float y = 0.0f;
31 
33 
34  BlamVector2(float _x, float _y);
35 
41  std::string ToString();
42 
50  BlamVector2 operator+(const BlamVector2& vector);
51 
59  BlamVector2 operator+(const float& _float);
60 
68  BlamVector2 operator*(const BlamVector2& vector);
69 
77  BlamVector2 operator*(const float& _float);
78 };
79 
84 {
85  float x = 0.0f;
86  float y = 0.0f;
87  float z = 0.0f;
88 
93 
100 
108  BlamVector3(float _x, float _y, float _z);
109 
116  BlamVector3 ConvertForBGFX();
117 
123  BlamVector3 ConvertDegreesToRadians();
124 
132  bool Equals(BlamVector3 vector);
133 
139  std::string ToString();
140 
148  BlamVector3 operator+(const BlamVector3& vector);
149 
157  BlamVector3 operator+(const float& _float);
158 
166  BlamVector3 operator*(const BlamVector3& vector);
167 
175  BlamVector3 operator*(const float& _float);
176 };
177 
183 {
184  float x = 0.0f;
185  float y = 0.0f;
186  float z = 0.0f;
187  float w = 0.0f;
188 
193 
199  BlamVector4(BlamVector3 vec3);
200 
206  BlamVector4(BlamVector2 vec2);
207 
216  BlamVector4(float _x, float _y, float _z, float _w);
217 
223  std::string ToString();
224 
232  BlamVector4 operator+(const BlamVector4& vector);
233 
241  BlamVector4 operator+(const float& _float);
242 
250  BlamVector4 operator*(const BlamVector4& vector);
251 
259  BlamVector4 operator*(const float& _float);
260 };
BlamVector4::BlamVector4
BlamVector4()
Constructs a new BlamVector4.
Definition: vector.h:192
BlamVector4::operator*
BlamVector4 operator*(const BlamVector4 &vector)
Multiplies the values of two 4D vectors.
Definition: BlamVector4.cpp:64
BlamVector4::operator+
BlamVector4 operator+(const BlamVector4 &vector)
Combines the values of two 4D vectors.
Definition: BlamVector4.cpp:38
BlamVector3::ConvertDegreesToRadians
BlamVector3 ConvertDegreesToRadians()
Converts all coordinates in the vector from degrees to radians.
Definition: BlamVector3.cpp:35
BlamVector3::BlamVector3
BlamVector3()
Constructs a new BlamVector4.
Definition: vector.h:92
BlamVector4::w
float w
The W-coordinate of the 4D vector.
Definition: vector.h:187
BlamStrings::Utils::Math::FloatDegreesToRadians
STRINGS_API float FloatDegreesToRadians(float float_value)
Converts a float value from Degrees to Radians.
Definition: math.cpp:20
BlamDirection::Backward
@ Backward
Backward.
STRINGS_API
#define STRINGS_API
Definition: vector.h:8
BlamDirection::Down
@ Down
Down.
BlamVector3::ToString
std::string ToString()
Converts the vector to a string, with each value separated by commas.
Definition: BlamVector3.cpp:18
BlamVector3::y
float y
The Y-coordinate of the 3D vector, representing horizontal Y (depth) position.
Definition: vector.h:86
BlamVector3::x
float x
The X-coordinate of the 3D vector, representing horizontal X (width) position.
Definition: vector.h:85
BlamVector3
Structure representing a 3D vector.
Definition: vector.h:83
BlamVector3::operator+
BlamVector3 operator+(const BlamVector3 &vector)
Combines the values of two 3D vectors.
Definition: BlamVector3.cpp:67
BlamDirection::Up
@ Up
Up.
BlamVector4::y
float y
The Y-coordinate of the 4D vector.
Definition: vector.h:185
BlamVector4::ToString
std::string ToString()
Converts the vector to a string, with each value separated by commas.
Definition: BlamVector4.cpp:26
BlamDirection::Forward
@ Forward
Forward.
BlamDirection::Left
@ Left
Left.
math.h
BlamVector3::ConvertForBGFX
BlamVector3 ConvertForBGFX()
Converts the X/Y/Z coordinate directions from Blamite's coordinate system to the internal coordinate ...
Definition: BlamVector3.cpp:29
BlamVector3::z
float z
The Z-coordinate of the 3D vector, representing vertical position.
Definition: vector.h:87
BlamVector2::x
float x
The X-coordinate of the 2D vector, representing horizontal position.
Definition: vector.h:29
BlamVector2::BlamVector2
BlamVector2()
Definition: vector.h:32
BlamVector2::operator*
BlamVector2 operator*(const BlamVector2 &vector)
Multiplies the values of two 2D vectors.
Definition: BlamVector2.cpp:41
BlamVector4
Structure representing a 4D vector.
Definition: vector.h:182
BlamVector3::Equals
bool Equals(BlamVector3 vector)
Checks if this vector is equal to another.
Definition: BlamVector3.cpp:47
BlamVector2::operator+
BlamVector2 operator+(const BlamVector2 &vector)
Combines the values of two 2D vectors.
Definition: BlamVector2.cpp:19
BlamDirection::Right
@ Right
Right.
BlamDirection
BlamDirection
Enumerator listing possible directions.
Definition: vector.h:14
BlamVector2::y
float y
The Y-coordinate of the 2D vector, representing vertical position.
Definition: vector.h:30
vector.h
uuids::to_string
std::basic_string< CharT, Traits, Allocator > to_string(uuid const &id)
Definition: uuid.h:581
BlamVector2
Structure representing a 2D vector.
Definition: vector.h:27
BlamVector4::x
float x
The X-coordinate of the 4D vector.
Definition: vector.h:184
BlamVector2::ToString
std::string ToString()
Converts the vector to a string, with each value separated by commas.
Definition: BlamVector2.cpp:9
BlamVector4::z
float z
The Z-coordinate of the 4D vector.
Definition: vector.h:186
BlamVector3::operator*
BlamVector3 operator*(const BlamVector3 &vector)
Multiplies the values of two 3D vectors.
Definition: BlamVector3.cpp:91