mirror of
https://github.com/thunderbrewhq/typhoon.git
synced 2025-12-12 02:22:30 +00:00
feat(vector): add operator+ for C3Vector and C3Vector
This commit is contained in:
parent
4278157faf
commit
ee4612182a
3 changed files with 21 additions and 0 deletions
|
|
@ -20,3 +20,11 @@ void C3Vector::Normalize() {
|
||||||
float C3Vector::SquaredMag() const {
|
float C3Vector::SquaredMag() const {
|
||||||
return this->x * this->x + this->y * this->y + this->z * this->z;
|
return this->x * this->x + this->y * this->y + this->z * this->z;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
C3Vector operator+(const C3Vector& l, const C3Vector& r) {
|
||||||
|
float x = l.x + r.x;
|
||||||
|
float y = l.y + r.y;
|
||||||
|
float z = l.z + r.z;
|
||||||
|
|
||||||
|
return { x, y, z };
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -20,4 +20,6 @@ class C3Vector {
|
||||||
float SquaredMag() const;
|
float SquaredMag() const;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
C3Vector operator+(const C3Vector& l, const C3Vector& r);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
||||||
|
|
@ -99,3 +99,14 @@ TEST_CASE("C3Vector::SquaredMag", "[vector]") {
|
||||||
REQUIRE(vector.SquaredMag() == 3.0f);
|
REQUIRE(vector.SquaredMag() == 3.0f);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
TEST_CASE("C3Vector global operators", "[vector]") {
|
||||||
|
SECTION("C3Vector + C3Vector") {
|
||||||
|
auto vector1 = C3Vector(1.0f, 2.0f, 3.0f);
|
||||||
|
auto vector2 = C3Vector(4.0f, 5.0f, 6.0f);
|
||||||
|
auto vector3 = vector1 + vector2;
|
||||||
|
REQUIRE(vector3.x == 5.0f);
|
||||||
|
REQUIRE(vector3.y == 7.0f);
|
||||||
|
REQUIRE(vector3.z == 9.0f);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue