aboutsummaryrefslogtreecommitdiff
path: root/src/libjin/Math
diff options
context:
space:
mode:
Diffstat (limited to 'src/libjin/Math')
-rw-r--r--src/libjin/Math/README.md1
-rw-r--r--src/libjin/Math/je_bezier_curve.cpp0
-rw-r--r--src/libjin/Math/je_bezier_curve.h17
-rw-r--r--src/libjin/Math/je_constant.h10
-rw-r--r--src/libjin/Math/je_ellipse.cpp0
-rw-r--r--src/libjin/Math/je_ellipse.h0
-rw-r--r--src/libjin/Math/je_math.h83
-rw-r--r--src/libjin/Math/je_matrix.cpp194
-rw-r--r--src/libjin/Math/je_matrix.h159
-rw-r--r--src/libjin/Math/je_quad.h23
-rw-r--r--src/libjin/Math/je_random.cpp52
-rw-r--r--src/libjin/Math/je_random.h33
-rw-r--r--src/libjin/Math/je_transform.cpp99
-rw-r--r--src/libjin/Math/je_transform.h49
-rw-r--r--src/libjin/Math/je_vector2.hpp63
-rw-r--r--src/libjin/Math/je_vector3.hpp41
-rw-r--r--src/libjin/Math/je_vector4.hpp45
17 files changed, 0 insertions, 869 deletions
diff --git a/src/libjin/Math/README.md b/src/libjin/Math/README.md
deleted file mode 100644
index a096332..0000000
--- a/src/libjin/Math/README.md
+++ /dev/null
@@ -1 +0,0 @@
-ļռΪJinEngineڴģ乲õ \ No newline at end of file
diff --git a/src/libjin/Math/je_bezier_curve.cpp b/src/libjin/Math/je_bezier_curve.cpp
deleted file mode 100644
index e69de29..0000000
--- a/src/libjin/Math/je_bezier_curve.cpp
+++ /dev/null
diff --git a/src/libjin/Math/je_bezier_curve.h b/src/libjin/Math/je_bezier_curve.h
deleted file mode 100644
index 6925baf..0000000
--- a/src/libjin/Math/je_bezier_curve.h
+++ /dev/null
@@ -1,17 +0,0 @@
-#ifndef __JIN_BEZIER_CURVE_H__
-#define __JIN_BEZIER_CURVE_H__
-
-namespace JinEngine
-{
- namespace Math
- {
-
- class BezierCurve
- {
-
- };
-
- } // namespace Math
-} // namespace JinEngine
-
-#endif \ No newline at end of file
diff --git a/src/libjin/Math/je_constant.h b/src/libjin/Math/je_constant.h
deleted file mode 100644
index 45577e7..0000000
--- a/src/libjin/Math/je_constant.h
+++ /dev/null
@@ -1,10 +0,0 @@
-#ifndef __JE_MATH_CONSTANT_H__
-#define __JE_MATH_CONSTANT_H__
-
-#define PI 3.1415926f
-
-// int16 Χ
-#define INT16_RANGE_LEFT -32768
-#define INT16_RANGE_RIGHT 32767
-
-#endif \ No newline at end of file
diff --git a/src/libjin/Math/je_ellipse.cpp b/src/libjin/Math/je_ellipse.cpp
deleted file mode 100644
index e69de29..0000000
--- a/src/libjin/Math/je_ellipse.cpp
+++ /dev/null
diff --git a/src/libjin/Math/je_ellipse.h b/src/libjin/Math/je_ellipse.h
deleted file mode 100644
index e69de29..0000000
--- a/src/libjin/Math/je_ellipse.h
+++ /dev/null
diff --git a/src/libjin/Math/je_math.h b/src/libjin/Math/je_math.h
deleted file mode 100644
index de57e36..0000000
--- a/src/libjin/Math/je_math.h
+++ /dev/null
@@ -1,83 +0,0 @@
-#ifndef __JE_UTILS_MATH_H__
-#define __JE_UTILS_MATH_H__
-
-#include "je_constant.h"
-#include "je_matrix.h"
-#include "je_quad.h"
-
-namespace JinEngine
-{
- namespace Math
- {
-
- #ifdef min
- #undef min
- #endif // min
- #ifdef max
- #undef max
- #endif // max
-
- template<typename T>
- inline T min(T a, T b)
- {
- return a < b ? a : b;
- }
-
- template<typename T>
- inline T max(T a, T b)
- {
- return a > b ? a : b;
- }
-
- template<typename T>
- inline T clamp(T a, T mi, T ma)
- {
- return min<T>(max<T>(a, mi), ma);
- }
-
- template<typename T>
- inline bool within(T a, T mi, T ma)
- {
- return a >= mi && a <= ma;
- }
-
- template<typename T>
- inline bool without(T a, T mi, T ma)
- {
- return a < mi || a > ma;
- }
-
- template<typename T>
- inline T abs(T a)
- {
- return a > 0 ? a : -a;
- }
-
- template<typename T>
- inline T lowerBound(T a, T lower)
- {
- return a < lower ? lower : a;
- }
-
- template<typename T>
- inline T upperBound(T a, T upper)
- {
- return a > upper ? upper : a;
- }
-
- template<typename T>
- inline T lerp(T a, T b, float t)
- {
- return a + t * (b - a);
- }
-
- inline float lerp(float a, float b, float f)
- {
- f = clamp<float>(f, 0, 1);
- return a + f * (b - a);
- }
-
- } // namespace Math
-} // namespace JinEngine
-
-#endif // __JE_UTILS_MATH_H__
diff --git a/src/libjin/Math/je_matrix.cpp b/src/libjin/Math/je_matrix.cpp
deleted file mode 100644
index bc1fcea..0000000
--- a/src/libjin/Math/je_matrix.cpp
+++ /dev/null
@@ -1,194 +0,0 @@
-#include "je_matrix.h"
-
-#include <cstring> // memcpy
-#include <cmath>
-
-namespace JinEngine
-{
- namespace Math
- {
-
- const Matrix Matrix::Identity;
-
- // | e0 e4 e8 e12 |
- // | e1 e5 e9 e13 |
- // | e2 e6 e10 e14 |
- // | e3 e7 e11 e15 |
-
- Matrix::Matrix()
- {
- setIdentity();
- }
-
- Matrix::~Matrix()
- {
- }
-
- void Matrix::setOrtho(float l, float r, float b, float t, float n, float f)
- {
- setIdentity();
- float w = r - l;
- float h = t - b;
- float z = f - n;
- e[0] = 2 / w;
- e[5] = 2 / h;
- e[10] = -2 / z;
- e[12] = -(r + l) / w;
- e[13] = -(t + b) / h;
- e[14] = -(f + n) / z;
- e[15] = 1;
- }
-
- // | e0 e4 e8 e12 |
- // | e1 e5 e9 e13 |
- // | e2 e6 e10 e14 |
- // | e3 e7 e11 e15 |
- // | e0 e4 e8 e12 |
- // | e1 e5 e9 e13 |
- // | e2 e6 e10 e14 |
- // | e3 e7 e11 e15 |
-
- Matrix Matrix::operator * (const Matrix & m) const
- {
- Matrix t;
-
- t.e[0] = (e[0] * m.e[0]) + (e[4] * m.e[1]) + (e[8] * m.e[2]) + (e[12] * m.e[3]);
- t.e[4] = (e[0] * m.e[4]) + (e[4] * m.e[5]) + (e[8] * m.e[6]) + (e[12] * m.e[7]);
- t.e[8] = (e[0] * m.e[8]) + (e[4] * m.e[9]) + (e[8] * m.e[10]) + (e[12] * m.e[11]);
- t.e[12] = (e[0] * m.e[12]) + (e[4] * m.e[13]) + (e[8] * m.e[14]) + (e[12] * m.e[15]);
-
- t.e[1] = (e[1] * m.e[0]) + (e[5] * m.e[1]) + (e[9] * m.e[2]) + (e[13] * m.e[3]);
- t.e[5] = (e[1] * m.e[4]) + (e[5] * m.e[5]) + (e[9] * m.e[6]) + (e[13] * m.e[7]);
- t.e[9] = (e[1] * m.e[8]) + (e[5] * m.e[9]) + (e[9] * m.e[10]) + (e[13] * m.e[11]);
- t.e[13] = (e[1] * m.e[12]) + (e[5] * m.e[13]) + (e[9] * m.e[14]) + (e[13] * m.e[15]);
-
- t.e[2] = (e[2] * m.e[0]) + (e[6] * m.e[1]) + (e[10] * m.e[2]) + (e[14] * m.e[3]);
- t.e[6] = (e[2] * m.e[4]) + (e[6] * m.e[5]) + (e[10] * m.e[6]) + (e[14] * m.e[7]);
- t.e[10] = (e[2] * m.e[8]) + (e[6] * m.e[9]) + (e[10] * m.e[10]) + (e[14] * m.e[11]);
- t.e[14] = (e[2] * m.e[12]) + (e[6] * m.e[13]) + (e[10] * m.e[14]) + (e[14] * m.e[15]);
-
- t.e[3] = (e[3] * m.e[0]) + (e[7] * m.e[1]) + (e[11] * m.e[2]) + (e[15] * m.e[3]);
- t.e[7] = (e[3] * m.e[4]) + (e[7] * m.e[5]) + (e[11] * m.e[6]) + (e[15] * m.e[7]);
- t.e[11] = (e[3] * m.e[8]) + (e[7] * m.e[9]) + (e[11] * m.e[10]) + (e[15] * m.e[11]);
- t.e[15] = (e[3] * m.e[12]) + (e[7] * m.e[13]) + (e[11] * m.e[14]) + (e[15] * m.e[15]);
-
- return t;
- }
-
- void Matrix::operator *= (const Matrix & m)
- {
- Matrix t = (*this) * m;
- memcpy((void*)this->e, (void*)t.e, sizeof(float) * 16);
- }
-
- const float * Matrix::getElements() const
- {
- return e;
- }
-
- void Matrix::setIdentity()
- {
- memset(e, 0, sizeof(float) * 16);
- e[0] = e[5] = e[10] = e[15] = 1;
- }
-
- void Matrix::setTranslation(float x, float y)
- {
- setIdentity();
- e[12] = x;
- e[13] = y;
- }
-
- void Matrix::setRotation(float rad)
- {
- setIdentity();
- float c = cos(rad), s = sin(rad);
- e[0] = c; e[4] = -s;
- e[1] = s; e[5] = c;
- }
-
- void Matrix::setScale(float sx, float sy)
- {
- setIdentity();
- e[0] = sx;
- e[5] = sy;
- }
-
- void Matrix::setShear(float kx, float ky)
- {
- setIdentity();
- e[1] = ky;
- e[4] = kx;
- }
-
- void Matrix::setTransformation(float x, float y, float angle, float sx, float sy, float ox, float oy)
- {
- memset(e, 0, sizeof(float) * 16); // zero out matrix
- float c = cos(angle), s = sin(angle);
- // matrix multiplication carried out on paper:
- // |1 x| |c -s | |sx | |1 -ox|
- // | 1 y| |s c | | sy | | 1 -oy|
- // | 1 | | 1 | | 1 | | 1 |
- // | 1| | 1| | 1| | 1 |
- // move rotate scale origin
- e[10] = e[15] = 1.0f;
- e[0] = c * sx ; // = a
- e[1] = s * sx ; // = b
- e[4] = - s * sy; // = c
- e[5] = c * sy; // = d
- e[12] = x - ox * e[0] - oy * e[4];
- e[13] = y - ox * e[1] - oy * e[5];
- }
-
- void Matrix::translate(float x, float y)
- {
- Matrix t;
- t.setTranslation(x, y);
- this->operator *=(t);
- }
-
- void Matrix::rotate(float rad)
- {
- Matrix t;
- t.setRotation(rad);
- this->operator *=(t);
- }
-
- void Matrix::scale(float sx, float sy)
- {
- Matrix t;
- t.setScale(sx, sy);
- this->operator *=(t);
- }
-
- void Matrix::shear(float kx, float ky)
- {
- Matrix t;
- t.setShear(kx, ky);
- this->operator *=(t);
- }
-
- // | x |
- // | y |
- // | 0 |
- // | 1 |
- // | e0 e4 e8 e12 |
- // | e1 e5 e9 e13 |
- // | e2 e6 e10 e14 |
- // | e3 e7 e11 e15 |
-
- void Matrix::transform(vertex * dst, const vertex * src, int size) const
- {
- for (int i = 0; i<size; ++i)
- {
- // Store in temp variables in case src = dst
- float x = (e[0] * src[i].x) + (e[4] * src[i].y) + (0) + (e[12]);
- float y = (e[1] * src[i].x) + (e[5] * src[i].y) + (0) + (e[13]);
-
- dst[i].x = x;
- dst[i].y = y;
- }
- }
-
- } // namespace Math
-} // namespace JinEngine \ No newline at end of file
diff --git a/src/libjin/Math/je_matrix.h b/src/libjin/Math/je_matrix.h
deleted file mode 100644
index bbc831d..0000000
--- a/src/libjin/Math/je_matrix.h
+++ /dev/null
@@ -1,159 +0,0 @@
-#ifndef __JE_MATRIX_H__
-#define __JE_MATRIX_H__
-
-namespace JinEngine
-{
- namespace Math
- {
-
- struct vertex
- {
- unsigned char r, g, b, a;
- float x, y;
- float s, t;
- };
- ///
- /// This class is the basis for all transformations in LOVE. Althought not
- /// really needed for 2D, it contains 4x4 elements to be compatible with
- /// OpenGL without conversions.
- /// Ҫתõľ
- /// https://blog.csdn.net/candycat1992/article/details/8830894
- ///
- class Matrix
- {
- private:
-
- ///
- /// | e0 e4 e8 e12 |
- /// | e1 e5 e9 e13 |
- /// | e2 e6 e10 e14 |
- /// | e3 e7 e11 e15 |
- ///
- float e[16];
-
- public:
-
- static const Matrix Identity;
-
- ///
- /// Creates a new identity matrix.
- ///
- Matrix();
-
- ///
- /// Destructor.
- ///
- ~Matrix();
-
- void setOrtho(float _left, float _right, float _bottom, float _top, float _near, float _far);
-
- ///
- /// Multiplies this Matrix with another Matrix, changing neither.
- /// @param m The Matrix to multiply with this Matrix.
- /// @return The combined matrix.
- ///
- Matrix operator * (const Matrix & m) const;
-
- ///
- /// Multiplies a Matrix into this Matrix.
- /// @param m The Matrix to combine into this Matrix.
- ///
- void operator *= (const Matrix & m);
-
- ///
- /// Gets a pointer to the 16 array elements.
- /// @return The array elements.
- ///
- const float* getElements() const;
-
- ///
- /// Resets this Matrix to the identity matrix.
- ///
- void setIdentity();
-
- ///
- /// Resets this Matrix to a translation.
- /// @param x Translation along x-axis.
- /// @param y Translation along y-axis.
- ///
- void setTranslation(float x, float y);
-
- ///
- /// Resets this Matrix to a rotation.
- /// @param r The angle in radians.
- ///
- void setRotation(float r);
-
- ///
- /// Resets this Matrix to a scale transformation.
- /// @param sx Scale factor along the x-axis.
- /// @param sy Scale factor along the y-axis.
- ///
- void setScale(float sx, float sy);
-
- ///
- /// Resets this Matrix to a shear transformation.
- /// @param kx Shear along x-axis.
- /// @param ky Shear along y-axis.
- ///
- void setShear(float kx, float ky);
-
- ///
- /// Creates a transformation with a certain position, orientation, scale
- /// and offset. Perfect for Drawables -- what a coincidence!
- ///
- /// @param x The translation along the x-axis.
- /// @param y The translation along the y-axis.
- /// @param angle The rotation (rad) around the center with offset (ox,oy).
- /// @param sx Scale along x-axis.
- /// @param sy Scale along y-axis.
- /// @param ox The offset for rotation along the x-axis.
- /// @param oy The offset for rotation along the y-axis.
- /// @param kx Shear along x-axis
- /// @param ky Shear along y-axis
- ///
- void setTransformation(float x, float y, float angle, float sx, float sy, float ox, float oy);
-
- ///
- /// Multiplies this Matrix with a translation.
- /// @param x Translation along x-axis.
- /// @param y Translation along y-axis.
- ///
- void translate(float x, float y);
-
- ///
- /// Multiplies this Matrix with a rotation.
- /// @param r Angle in radians.
- ///
- void rotate(float r);
-
- ///
- /// Multiplies this Matrix with a scale transformation.
- /// @param sx Scale factor along the x-axis.
- /// @param sy Scale factor along the y-axis.
- ///
- void scale(float sx, float sy);
-
- ///
- /// Multiplies this Matrix with a shear transformation.
- /// @param kx Shear along the x-axis.
- /// @param ky Shear along the y-axis.
- ///
- void shear(float kx, float ky);
-
- ///
- /// Transforms an array of vertices by this Matrix. The sources and
- /// destination arrays may be the same.
- ///
- /// @param dst Storage for the transformed vertices.
- /// @param src The source vertices.
- /// @param size The number of vertices.
- ///
- void transform(vertex * dst, const vertex * src, int size) const;
-
- };
-
- } // namespace Math
-} // namespace JinEngine
-
-#endif // __JE_MATRIX_H__
diff --git a/src/libjin/Math/je_quad.h b/src/libjin/Math/je_quad.h
deleted file mode 100644
index 8a7bd64..0000000
--- a/src/libjin/Math/je_quad.h
+++ /dev/null
@@ -1,23 +0,0 @@
-#ifndef __JE_QUAD_H__
-#define __JE_QUAD_H__
-
-namespace JinEngine
-{
- namespace Math
- {
-
- ///
- ///
- ///
- struct Quad
- {
- ///
- ///
- ///
- float x, y, w, h;
- };
-
- } // namespace Math
-} // namespace JinEngine
-
-#endif // __JE_QUAD_H__
diff --git a/src/libjin/Math/je_random.cpp b/src/libjin/Math/je_random.cpp
deleted file mode 100644
index 216fd79..0000000
--- a/src/libjin/Math/je_random.cpp
+++ /dev/null
@@ -1,52 +0,0 @@
-#include <math.h>
-#include "je_random.h"
-
-namespace JinEngine
-{
- namespace Math
- {
-
- RandomGenerator::RandomGenerator(uint32 seed)
- : mSeed(seed)
- {
- }
-
- uint32 RandomGenerator::rand()
- {
- unsigned int next = mSeed;
- uint32 result;
-
- next *= 1103515245;
- next += 12345;
- result = (unsigned int)(next / 65536) % 2048;
-
- next *= 1103515245;
- next += 12345;
- result <<= 10;
- result ^= (unsigned int)(next / 65536) % 1024;
-
- next *= 1103515245;
- next += 12345;
- result <<= 10;
- result ^= (unsigned int)(next / 65536) % 1024;
-
- mSeed = next;
-
- return result;
- }
-
- uint32 RandomGenerator::rand(uint32 min, uint32 max)
- {
- uint32 n = rand();
- return n % (max - min + 1) + min;
- }
-
- float RandomGenerator::randf(float min, float max, int ac)
- {
- uint32 a = pow(10.f, ac);
- uint32 n = rand(min*a, max*a);
- return (float)n / a;
- }
-
- }
-} \ No newline at end of file
diff --git a/src/libjin/Math/je_random.h b/src/libjin/Math/je_random.h
deleted file mode 100644
index 0f53155..0000000
--- a/src/libjin/Math/je_random.h
+++ /dev/null
@@ -1,33 +0,0 @@
-#ifndef __JE_RANDOM_H__
-#define __JE_RANDOM_H__
-
-#include "../common/je_types.h"
-
-namespace JinEngine
-{
- namespace Math
- {
-
- ///
- /// A random number generator.
- ///
- class RandomGenerator
- {
- public:
- RandomGenerator(uint32 seed);
-
- uint32 rand();
-
- uint32 rand(uint32 min, uint32 max);
-
- float randf(float min, float max, int ac);
-
- private:
- uint32 mSeed;
-
- };
-
- } // namespace Math
-} // namespace JinEngine
-
-#endif \ No newline at end of file
diff --git a/src/libjin/Math/je_transform.cpp b/src/libjin/Math/je_transform.cpp
deleted file mode 100644
index c0676cb..0000000
--- a/src/libjin/Math/je_transform.cpp
+++ /dev/null
@@ -1,99 +0,0 @@
-#include "je_transform.h"
-
-namespace JinEngine
-{
- namespace Math
- {
-
- Transform::Transform()
- : mScale(1, 1)
- , mPosition(0, 0)
- , mOrigin(0, 0)
- , mRotation(0)
- {
- }
-
- void Transform::set(float x, float y, float sx, float sy, float r, float ox, float oy)
- {
- setPosition(x, y);
- setScale(sx, sy);
- setRotation(r);
- setOrigin(ox, oy);
- }
-
- void Transform::setScale(float sx, float sy)
- {
- mScale.set(sx, sy);
- }
-
- Vector2<float> Transform::getScale() const
- {
- return mScale;
- }
-
- void Transform::scale(float sx, float sy)
- {
- mScale.x *= sx;
- mScale.y *= sy;
- }
-
- void Transform::setPosition(const Vector2<float>& p)
- {
- setPosition(p.x, p.y);
- }
-
- void Transform::setPosition(float x, float y)
- {
- mPosition.set(x, y);
- }
-
- Vector2<float> Transform::getPosition() const
- {
- return mPosition;
- }
-
- void Transform::move(float x, float y)
- {
- mPosition.x += x;
- mPosition.y += y;
- }
-
- void Transform::move(const Vector2<float>& v)
- {
- move(v.x, v.y);
- }
-
- void Transform::setOrigin(float x, float y)
- {
- mOrigin.set(x, y);
- }
-
- Vector2<float> Transform::getOrigin() const
- {
- return mOrigin;
- }
-
- void Transform::setRotation(float r)
- {
- mRotation = r;
- }
-
- float Transform::getRotation() const
- {
- return mRotation;
- }
-
- void Transform::rotate(float r)
- {
- mRotation += r;
- }
-
- Matrix Transform::getMatrix() const
- {
- Matrix m;
- m.setTransformation(mPosition.x, mPosition.y, mRotation, mScale.x, mScale.y, mOrigin.x, mOrigin.y);
- return m;
- }
-
- }
-} \ No newline at end of file
diff --git a/src/libjin/Math/je_transform.h b/src/libjin/Math/je_transform.h
deleted file mode 100644
index cb1f0ee..0000000
--- a/src/libjin/Math/je_transform.h
+++ /dev/null
@@ -1,49 +0,0 @@
-#ifndef __JE_TRANSFORM_H__
-#define __JE_TRANSFORM_H__
-
-#include "je_matrix.h"
-#include "je_vector2.hpp"
-
-namespace JinEngine
-{
- namespace Math
- {
-
- class Transform
- {
- public:
- Transform();
-
- void set(float x, float y, float sx, float sy, float r, float ox, float oy);
-
- void setScale(float sx, float sy);
- Vector2<float> getScale() const;
- void scale(float sx, float sy);
-
- void setPosition(float x, float y);
- void setPosition(const Vector2<float>& p);
- Vector2<float> getPosition() const;
- void move(float x, float y);
- void move(const Vector2<float>& v);
-
- void setOrigin(float x, float y);
- Vector2<float> getOrigin() const;
-
- void setRotation(float r);
- float getRotation() const;
- void rotate(float r);
-
- Matrix getMatrix() const;
-
- private:
- Vector2<float> mScale;
- Vector2<float> mPosition;
- Vector2<float> mOrigin;
- float mRotation;
-
- };
-
- }
-}
-
-#endif \ No newline at end of file
diff --git a/src/libjin/Math/je_vector2.hpp b/src/libjin/Math/je_vector2.hpp
deleted file mode 100644
index b4cab44..0000000
--- a/src/libjin/Math/je_vector2.hpp
+++ /dev/null
@@ -1,63 +0,0 @@
-#ifndef __JE_VECTOR_H__
-#define __JE_VECTOR_H__
-
-namespace JinEngine
-{
- namespace Math
- {
-
- template<typename T>
- class Vector2
- {
- public:
- Vector2()
- {
- data[0] = data[1] = 0;
- }
- Vector2(T _x, T _y)
- {
- data[0] = _x;
- data[1] = _y;
- }
- Vector2(const Vector2<T>& v)
- {
- data[0] = v.data[0];
- data[1] = v.data[1];
- }
-
- void operator = (const Vector2<T>& v)
- {
- data[0] = v.data[0];
- data[1] = v.data[1];
- }
-
- Vector2<T> operator * (float n)
- {
- return Vector2<T>(data[0]*n, data[1]*n);
- }
-
- void operator +=(const Vector2<T> v)
- {
- data[0] += v.data[0];
- data[1] += v.data[1];
- }
-
- void set(T _x, T _y)
- {
- data[0] = _x;
- data[1] = _y;
- }
-
- T &x = data[0], &y = data[1]; // xy
- T &w = data[0], &h = data[1]; // wh
- T &colum = data[0], &row = data[1]; // colum row
-
- private:
- T data[2];
-
- };
-
- } // namespace Math
-} // namespace JinEngine
-
-#endif \ No newline at end of file
diff --git a/src/libjin/Math/je_vector3.hpp b/src/libjin/Math/je_vector3.hpp
deleted file mode 100644
index fdab2d0..0000000
--- a/src/libjin/Math/je_vector3.hpp
+++ /dev/null
@@ -1,41 +0,0 @@
-#ifndef __JE_VECTOR3_H__
-#define __JE_VECTOR3_H__
-
-namespace JinEngine
-{
- namespace Math
- {
-
- template<typename T>
- class Vector3
- {
- public:
- Vector3()
- {
- data[0] = data[1] = data[2] = 0;
- }
- Vector3(T _x, T _y, T _z)
- {
- data[0] = _x;
- data[1] = _y;
- data[2] = _z;
- }
- Vector3(const Vector3<T>& v)
- {
- data[0] = v.data[0];
- data[1] = v.data[1];
- data[2] = v.data[2];
- }
-
- T &x = data[0], &y = data[1], &z = data[2]; // xyz
- T &r = data[0], &g = data[1], &b = data[2]; // rgb
-
- private:
- T data[3];
-
- };
-
- } // namespace Math
-} // namespace JinEngine
-
-#endif \ No newline at end of file
diff --git a/src/libjin/Math/je_vector4.hpp b/src/libjin/Math/je_vector4.hpp
deleted file mode 100644
index 5cd5b35..0000000
--- a/src/libjin/Math/je_vector4.hpp
+++ /dev/null
@@ -1,45 +0,0 @@
-#ifndef __JE_VECTOR4_H__
-#define __JE_VECTOR4_H__
-
-namespace JinEngine
-{
- namespace Math
- {
-
- template<typename T>
- class Vector4
- {
- public:
- Vector4()
- {
- data[0] = data[1] = data[2] = data[3] = 0;
- }
- Vector4(T _x, T _y, T _z, T _t)
- {
- data[0] = _x;
- data[1] = _y;
- data[2] = _z;
- data[3] = _t;
- }
- Vector4(const Vector4<T>& v)
- {
- data[0] = v.data[0];
- data[1] = v.data[1];
- data[2] = v.data[2];
- data[3] = v.data[3];
- }
-
- T &x = data[0], &y = data[1], &z = data[2], &t = data[3]; // xyzt
- T &w = data[2], &h = data[3]; // xywh
- T &r = data[0], &g = data[1], &b = data[2], &a = data[3]; // rgb
- T &left = data[0], &right = data[1], &top = data[2], &bottom = data[3]; // lrtb
-
- private:
- T data[4];
-
- };
-
- } // namespace Math
-} // namespace JinEngine
-
-#endif \ No newline at end of file