Cleaning up maths: part 4.
More by ref args, cleaned up distance_to_flipper, ramp init.
This commit is contained in:
1 parent
fdf1f6c9f1
commit
2d2ca0ab2a
6 files changed
+153
-177
No files matched your search
@@ -59,10 +59,8 @@ struct line_type
|
||||
|
||||
struct wall_point_type
|
||||
{
|
||||
float X0;
|
||||
float Y0;
|
||||
float X1;
|
||||
float Y1;
|
||||
vector2 Pt0;
|
||||
vector2 Pt1;
|
||||
};
|
||||
|
||||
struct ramp_plane_type
|
||||
@@ -76,6 +74,15 @@ struct ramp_plane_type
|
||||
vector2 FieldForce;
|
||||
};
|
||||
|
||||
enum class FlipperIntersect
|
||||
{
|
||||
none = -1,
|
||||
lineA = 0,
|
||||
lineB = 1,
|
||||
circlebase = 2,
|
||||
circleT1 = 3
|
||||
};
|
||||
|
||||
|
||||
class maths
|
||||
{
|
||||
@@ -84,8 +91,8 @@ public:
|
||||
static bool rectangle_clip(const rectangle_type& rect1, const rectangle_type& rect2, rectangle_type* dstRect);
|
||||
static float ray_intersect_circle(const ray_type& ray, const circle_type& circle);
|
||||
static float normalize_2d(vector2& vec);
|
||||
static void line_init(line_type* line, float x0, float y0, float x1, float y1);
|
||||
static float ray_intersect_line(ray_type* ray, line_type* line);
|
||||
static void line_init(line_type& line, float x0, float y0, float x1, float y1);
|
||||
static float ray_intersect_line(const ray_type& ray, line_type& line);
|
||||
static void cross(const vector3& vec1, const vector3& vec2, vector3& dstVec);
|
||||
static float cross(const vector2& vec1, const vector2& vec2);
|
||||
static float magnitude(const vector3& vec);
|
||||
@@ -97,9 +104,9 @@ public:
|
||||
static float Distance_Squared(const vector2& vec1, const vector2& vec2);
|
||||
static float DotProduct(const vector2& vec1, const vector2& vec2);
|
||||
static float Distance(const vector2& vec1, const vector2& vec2);
|
||||
static void SinCos(float angle, float* sinOut, float* cosOut);
|
||||
static void SinCos(float angle, float& sinOut, float& cosOut);
|
||||
static void RotatePt(vector2& point, float sin, float cos, const vector2& origin);
|
||||
static float distance_to_flipper(ray_type* ray1, ray_type* ray2);
|
||||
static float distance_to_flipper(const ray_type& ray1, ray_type& ray2);
|
||||
static void RotateVector(vector2& vec, float angle);
|
||||
static void find_closest_edge(ramp_plane_type* plane, int planeCount, wall_point_type* wall, vector2& lineEnd,
|
||||
vector2& lineStart);
|
||||
|
||||
Reference in new issue
Block a user