From b735913debff93c1a6444ec731cd4bf99ae2a5c2 Mon Sep 17 00:00:00 2001 From: Piotr Dziwinski Date: Wed, 13 Jun 2012 22:48:35 +0200 Subject: FPOINT -> Math::Point & other math functions - changed FPOINT to Math::Point and some functions from math module to the new implementation - moved old function and FPOINT struct declarations to math3d.cpp - removed some unused functions in math module - fixed some #include dependencies - moved #define STRICT and #define D3D_OVERLOADS to compile options --- src/math/old/math3d.h | 99 ++++++++++++--------------------------------------- 1 file changed, 22 insertions(+), 77 deletions(-) (limited to 'src/math/old/math3d.h') diff --git a/src/math/old/math3d.h b/src/math/old/math3d.h index cb17669..6c09f99 100644 --- a/src/math/old/math3d.h +++ b/src/math/old/math3d.h @@ -19,147 +19,92 @@ #pragma once -#define STRICT -#define D3D_OVERLOADS #include -#define PI 3.14159265358979323846f -#define CHOUIA 1e-6f -#define BEAUCOUP 1e6f - - - -//>>> func.h IsEqual() -bool IsEqual(float a, float b); - -//>>> func.h Min() -float Min(float a, float b); -float Min(float a, float b, float c); -float Min(float a, float b, float c, float d); -float Min(float a, float b, float c, float d, float e); - -//>>> func.h Max() -float Max(float a, float b); -float Max(float a, float b, float c); -float Max(float a, float b, float c, float d); -float Max(float a, float b, float c, float d, float e); - -//>>> func.h Norm() -float Norm(float a); -//>>> fabs() -float Abs(float a); - -//>>> func.h Swap() -void Swap(int &a, int &b); -//>>> func.h Swap() -void Swap(float &a, float &b); -//>>> point.h Swap() (FPOINT -> Point) -void Swap(FPOINT &a, FPOINT &b); - -//>>> func.h Mod() -float Mod(float a, float m); -//>>> func.h NormAngle() -float NormAngle(float angle); -//>>> func.h TestAngle() -bool TestAngle(float angle, float min, float max); - -//>>> func.h Direction() -float Direction(float a, float g); -//>>> geometry.h RotatePoint() -FPOINT RotatePoint(FPOINT center, float angle, FPOINT p); -//>>> geometry.h RotatePoint() -FPOINT RotatePoint(float angle, FPOINT p); -//>>> geometry.h RotatePoint() -FPOINT RotatePoint(float angle, float dist); -//>>> geometry.h RotateAngle() -float RotateAngle(float x, float y); -//>>> geometry.h RotateAngle() -float RotateAngle(FPOINT center, FPOINT p1, FPOINT p2); -//>>> geometry.h MidPoint() -float MidPoint(FPOINT a, FPOINT b, float px); //>>> geometry.h SegmentPoint() D3DVECTOR SegmentDist(const D3DVECTOR &p1, const D3DVECTOR &p2, float dist); -//>>> geometry.h IsInsideTriangle() -bool IsInsideTriangle(FPOINT a, FPOINT b, FPOINT c, FPOINT p); + //>>> geometry.h Intersect() bool Intersect(D3DVECTOR a, D3DVECTOR b, D3DVECTOR c, D3DVECTOR d, D3DVECTOR e, D3DVECTOR &i); + //>>> geometry.h IntersectY() bool IntersectY(D3DVECTOR a, D3DVECTOR b, D3DVECTOR c, D3DVECTOR &p); -//>>> geometry.h RotatePoint() -void RotatePoint(float cx, float cy, float angle, float &px, float &py); + //>>> geometry.h RotatePoint() void RotatePoint(D3DVECTOR center, float angleH, float angleV, D3DVECTOR &p); + //>>> geometry.h RotatePoint2() void RotatePoint2(D3DVECTOR center, float angleH, float angleV, D3DVECTOR &p); + //>>> geometry.h RotateView() // TODO test & verify D3DVECTOR RotateView(D3DVECTOR center, float angleH, float angleV, float dist); + //>>> geometry.h LookatPoint() // TODO test & verify D3DVECTOR LookatPoint( D3DVECTOR eye, float angleH, float angleV, float length ); -//>>> point.h Distance() -float Length(FPOINT a, FPOINT b); -//>>> point.h Point::Length() -float Length(float x, float y); + //>>> vector.h Vector::Length() float Length(const D3DVECTOR &u); + //>>> vector.h Distance() float Length(const D3DVECTOR &a, const D3DVECTOR &b); + //>>> geometry.h DistanceProjected() float Length2d(const D3DVECTOR &a, const D3DVECTOR &b); + //>>> vector.h Angle() // TODO test & verify float Angle( D3DVECTOR u, D3DVECTOR v ); + //>>> vector.h CrossProduct() D3DVECTOR Cross( D3DVECTOR u, D3DVECTOR v ); + //>>> geometry.h NormalToPlane() D3DVECTOR ComputeNormal( D3DVECTOR p1, D3DVECTOR p2, D3DVECTOR p3 ); + //>>> geometry.h Transform() // TODO test & verify D3DVECTOR Transform(const D3DMATRIX &m, D3DVECTOR p); + //>>> geometry.h Projection() // TODO test & verify D3DVECTOR Projection(const D3DVECTOR &a, const D3DVECTOR &b, const D3DVECTOR &p); // TODO void MappingObject( D3DVERTEX2* pVertices, int nb, float scale ); + // TODO void SmoothObject( D3DVERTEX2* pVertices, int nb ); -//>>> geometry.h LinearFunction() -bool LineFunction(FPOINT p1, FPOINT p2, float &a, float &b); + //>>> geometry.h DistanceToPlane() float DistancePlanPoint(const D3DVECTOR &a, const D3DVECTOR &b, const D3DVECTOR &c, const D3DVECTOR &p); + //>>> geometry.h IsSamePlane() bool IsSamePlane(D3DVECTOR *plan1, D3DVECTOR *plan2); + //>>> geometry.h LoadRotationXZYMatrix() // TODO test & verify void MatRotateXZY(D3DMATRIX &mat, D3DVECTOR angle); + //>>> geometry.h LoadRotationZXYMatrix() // TODO test & verify void MatRotateZXY(D3DMATRIX &mat, D3DVECTOR angle); -//>>> func.h Rand() -float Rand(); -//>>> func.h Neutral() -float Neutral(float value, float dead); - -//>>> func.h PropAngle() -float Prop(int a, int b, float p); -//>>> func.h Smooth() -float Smooth(float actual, float hope, float time); -//>>> func.h Bounce() -float Bounce(float progress, float middle=0.3f, float bounce=0.4f); // TODO D3DCOLOR RetColor(float intensity); + // TODO D3DCOLOR RetColor(D3DCOLORVALUE intensity); + // TODO D3DCOLORVALUE RetColor(D3DCOLOR intensity); // TODO void RGB2HSV(D3DCOLORVALUE src, ColorHSV &dest); + // TODO void HSV2RGB(ColorHSV src, D3DCOLORVALUE &dest); -- cgit v1.2.3-1-g7c22