diff options
Diffstat (limited to 'src/libjin/Math')
-rw-r--r-- | src/libjin/Math/je_bezier_curve.cpp | 0 | ||||
-rw-r--r-- | src/libjin/Math/je_bezier_curve.h | 17 | ||||
-rw-r--r-- | src/libjin/Math/je_constant.h | 4 | ||||
-rw-r--r-- | src/libjin/Math/je_ellipse.cpp | 0 | ||||
-rw-r--r-- | src/libjin/Math/je_ellipse.h | 0 | ||||
-rw-r--r-- | src/libjin/Math/je_math.h | 12 | ||||
-rw-r--r-- | src/libjin/Math/je_matrix.h | 6 | ||||
-rw-r--r-- | src/libjin/Math/je_quad.h | 6 | ||||
-rw-r--r-- | src/libjin/Math/je_random.cpp | 13 | ||||
-rw-r--r-- | src/libjin/Math/je_random.h | 22 | ||||
-rw-r--r-- | src/libjin/Math/je_vector2.hpp | 16 | ||||
-rw-r--r-- | src/libjin/Math/je_vector3.hpp | 4 | ||||
-rw-r--r-- | src/libjin/Math/je_vector4.hpp | 4 |
13 files changed, 83 insertions, 21 deletions
diff --git a/src/libjin/Math/je_bezier_curve.cpp b/src/libjin/Math/je_bezier_curve.cpp new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/src/libjin/Math/je_bezier_curve.cpp diff --git a/src/libjin/Math/je_bezier_curve.h b/src/libjin/Math/je_bezier_curve.h new file mode 100644 index 0000000..6925baf --- /dev/null +++ b/src/libjin/Math/je_bezier_curve.h @@ -0,0 +1,17 @@ +#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 index 5ab126c..45577e7 100644 --- a/src/libjin/Math/je_constant.h +++ b/src/libjin/Math/je_constant.h @@ -1,5 +1,5 @@ -#ifndef __JE_MATH_CONSTANT_H -#define __JE_MATH_CONSTANT_H +#ifndef __JE_MATH_CONSTANT_H__ +#define __JE_MATH_CONSTANT_H__ #define PI 3.1415926f diff --git a/src/libjin/Math/je_ellipse.cpp b/src/libjin/Math/je_ellipse.cpp new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/src/libjin/Math/je_ellipse.cpp diff --git a/src/libjin/Math/je_ellipse.h b/src/libjin/Math/je_ellipse.h new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/src/libjin/Math/je_ellipse.h diff --git a/src/libjin/Math/je_math.h b/src/libjin/Math/je_math.h index 1f8e0b3..de57e36 100644 --- a/src/libjin/Math/je_math.h +++ b/src/libjin/Math/je_math.h @@ -1,5 +1,5 @@ -#ifndef __JE_UTILS_MATH_H -#define __JE_UTILS_MATH_H +#ifndef __JE_UTILS_MATH_H__ +#define __JE_UTILS_MATH_H__ #include "je_constant.h" #include "je_matrix.h" @@ -71,7 +71,13 @@ namespace JinEngine 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
\ No newline at end of file +#endif // __JE_UTILS_MATH_H__ diff --git a/src/libjin/Math/je_matrix.h b/src/libjin/Math/je_matrix.h index 3592d18..bbc831d 100644 --- a/src/libjin/Math/je_matrix.h +++ b/src/libjin/Math/je_matrix.h @@ -1,5 +1,5 @@ -#ifndef __JE_MATRIX_H -#define __JE_MATRIX_H +#ifndef __JE_MATRIX_H__ +#define __JE_MATRIX_H__ namespace JinEngine { @@ -156,4 +156,4 @@ namespace JinEngine } // namespace Math } // namespace JinEngine -#endif // __JE_MATRIX_H
\ No newline at end of file +#endif // __JE_MATRIX_H__ diff --git a/src/libjin/Math/je_quad.h b/src/libjin/Math/je_quad.h index 2a66fa1..8a7bd64 100644 --- a/src/libjin/Math/je_quad.h +++ b/src/libjin/Math/je_quad.h @@ -1,5 +1,5 @@ -#ifndef __JE_QUAD_H -#define __JE_QUAD_H +#ifndef __JE_QUAD_H__ +#define __JE_QUAD_H__ namespace JinEngine { @@ -20,4 +20,4 @@ namespace JinEngine } // namespace Math } // namespace JinEngine -#endif // __JE_QUAD_H
\ No newline at end of file +#endif // __JE_QUAD_H__ diff --git a/src/libjin/Math/je_random.cpp b/src/libjin/Math/je_random.cpp new file mode 100644 index 0000000..983fa36 --- /dev/null +++ b/src/libjin/Math/je_random.cpp @@ -0,0 +1,13 @@ +#include "je_random.h" + +namespace JinEngine +{ + namespace Math + { + + RandomGenerator::RandomGenerator() + { + } + + } +}
\ No newline at end of file diff --git a/src/libjin/Math/je_random.h b/src/libjin/Math/je_random.h index eb59341..0bcdec7 100644 --- a/src/libjin/Math/je_random.h +++ b/src/libjin/Math/je_random.h @@ -1,14 +1,28 @@ -#ifndef __JE_RANDOM_H -#define __JE_RANDOM_H +#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(); + explicit RandomGenerator(uint32 seed); + + uint32 rand(uint32 min, uint32 max); + float rand(float min, float max); + }; - } -} + } // namespace Math +} // namespace JinEngine #endif
\ No newline at end of file diff --git a/src/libjin/Math/je_vector2.hpp b/src/libjin/Math/je_vector2.hpp index a2b3371..e9599e1 100644 --- a/src/libjin/Math/je_vector2.hpp +++ b/src/libjin/Math/je_vector2.hpp @@ -1,5 +1,5 @@ -#ifndef __JE_VECTOR_H -#define __JE_VECTOR_H +#ifndef __JE_VECTOR_H__ +#define __JE_VECTOR_H__ namespace JinEngine { @@ -25,6 +25,18 @@ namespace JinEngine data[1] = v.data[1]; } + 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 diff --git a/src/libjin/Math/je_vector3.hpp b/src/libjin/Math/je_vector3.hpp index 0f9448d..fdab2d0 100644 --- a/src/libjin/Math/je_vector3.hpp +++ b/src/libjin/Math/je_vector3.hpp @@ -1,5 +1,5 @@ -#ifndef __JE_VECTOR3_H -#define __JE_VECTOR3_H +#ifndef __JE_VECTOR3_H__ +#define __JE_VECTOR3_H__ namespace JinEngine { diff --git a/src/libjin/Math/je_vector4.hpp b/src/libjin/Math/je_vector4.hpp index 20353eb..5cd5b35 100644 --- a/src/libjin/Math/je_vector4.hpp +++ b/src/libjin/Math/je_vector4.hpp @@ -1,5 +1,5 @@ -#ifndef __JE_VECTOR4_H -#define __JE_VECTOR4_H +#ifndef __JE_VECTOR4_H__ +#define __JE_VECTOR4_H__ namespace JinEngine { |