Add initial prototype.
This commit is contained in:
26
3-mid/physics/implement/c_math/source/c/c_math.cpp
Normal file
26
3-mid/physics/implement/c_math/source/c/c_math.cpp
Normal file
@@ -0,0 +1,26 @@
|
||||
#include "c_math.h"
|
||||
|
||||
|
||||
Matrix_3x3::
|
||||
Matrix_3x3 (Real* First) : m00 (First[0]), m01 (First[1]), m02 (First[2]),
|
||||
m10 (First[3]), m11 (First[4]), m12 (First[5]),
|
||||
m20 (First[6]), m21 (First[7]), m22 (First[8])
|
||||
{};
|
||||
|
||||
|
||||
Matrix_3x3::
|
||||
Matrix_3x3 (Real m00, Real m01, Real m02,
|
||||
Real m10, Real m11, Real m12,
|
||||
Real m20, Real m21, Real m22) : m00 (m00), m01 (m01), m02 (m02),
|
||||
m10 (m10), m11 (m11), m12 (m12),
|
||||
m20 (m20), m21 (m21), m22 (m22)
|
||||
{};
|
||||
|
||||
|
||||
Matrix_4x4::
|
||||
Matrix_4x4 (Real* First) : m00 (First[ 0]), m01 (First[ 1]), m02 (First[ 2]), m03 (First[ 3]),
|
||||
m10 (First[ 4]), m11 (First[ 5]), m12 (First[ 6]), m13 (First[ 7]),
|
||||
m20 (First[ 8]), m21 (First[ 9]), m22 (First[10]), m23 (First[11]),
|
||||
m30 (First[12]), m31 (First[13]), m32 (First[14]), m33 (First[15])
|
||||
{};
|
||||
|
||||
78
3-mid/physics/implement/c_math/source/c/c_math.h
Normal file
78
3-mid/physics/implement/c_math/source/c/c_math.h
Normal file
@@ -0,0 +1,78 @@
|
||||
#ifndef C_MATH_H
|
||||
#define C_MATH_H
|
||||
|
||||
|
||||
//
|
||||
/// Provides a simple C++ interface to math structures used by the simple Box2D and Bullet3D C interfaces.
|
||||
//
|
||||
|
||||
extern "C"
|
||||
{
|
||||
|
||||
typedef float Real;
|
||||
|
||||
|
||||
|
||||
struct Vector_2
|
||||
{
|
||||
Vector_2 () {};
|
||||
Vector_2 (Real x, Real y) : x (x), y (y) {};
|
||||
|
||||
|
||||
Real x, y;
|
||||
};
|
||||
|
||||
|
||||
struct Vector_3
|
||||
{
|
||||
Vector_3 () {};
|
||||
Vector_3 (Real x, Real y, Real z) : x (x), y (y), z (z) {};
|
||||
|
||||
|
||||
Real x, y, z;
|
||||
};
|
||||
|
||||
|
||||
typedef int Index;
|
||||
|
||||
struct Triangle
|
||||
{
|
||||
Triangle () {};
|
||||
Triangle (Real a, Real b, Real c) : a (a), b (b), c (c) {};
|
||||
|
||||
|
||||
Index a, b, c;
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
struct Matrix_3x3
|
||||
{
|
||||
Matrix_3x3 () {};
|
||||
Matrix_3x3 (Real* First);
|
||||
Matrix_3x3 (Real m00, Real m01, Real m02,
|
||||
Real m10, Real m11, Real m12,
|
||||
Real m20, Real m21, Real m22);
|
||||
|
||||
Real m00, m01, m02,
|
||||
m10, m11, m12,
|
||||
m20, m21, m22;
|
||||
};
|
||||
|
||||
|
||||
|
||||
struct Matrix_4x4
|
||||
{
|
||||
Matrix_4x4 () {};
|
||||
Matrix_4x4 (Real* First);
|
||||
|
||||
Real m00, m01, m02, m03,
|
||||
m10, m11, m12, m13,
|
||||
m20, m21, m22, m23,
|
||||
m30, m31, m32, m33;
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user