55 #pragma GCC diagnostic push 56 #pragma GCC diagnostic ignored "-Wpragmas" 57 #pragma GCC diagnostic ignored "-Wmaybe-uninitialized" 64 typedef struct __orxVECTOR_t
162 _pvRes->
fX = _pvOp1->
fX + _pvOp2->
fX;
163 _pvRes->
fY = _pvOp1->
fY + _pvOp2->
fY;
164 _pvRes->
fZ = _pvOp1->
fZ + _pvOp2->
fZ;
184 _pvRes->
fX = _pvOp1->
fX - _pvOp2->
fX;
185 _pvRes->
fY = _pvOp1->
fY - _pvOp2->
fY;
186 _pvRes->
fZ = _pvOp1->
fZ - _pvOp2->
fZ;
205 _pvRes->
fX = _pvOp1->
fX * _fOp2;
206 _pvRes->
fY = _pvOp1->
fY * _fOp2;
207 _pvRes->
fZ = _pvOp1->
fZ * _fOp2;
227 _pvRes->
fX = _pvOp1->
fX * _pvOp2->
fX;
228 _pvRes->
fY = _pvOp1->
fY * _pvOp2->
fY;
229 _pvRes->
fZ = _pvOp1->
fZ * _pvOp2->
fZ;
254 _pvRes->
fX = _pvOp1->
fX * fRecCoef;
255 _pvRes->
fY = _pvOp1->
fY * fRecCoef;
256 _pvRes->
fZ = _pvOp1->
fZ * fRecCoef;
276 _pvRes->
fX = _pvOp1->
fX / _pvOp2->
fX;
277 _pvRes->
fY = _pvOp1->
fY / _pvOp2->
fY;
278 _pvRes->
fZ = _pvOp1->
fZ / _pvOp2->
fZ;
388 _pvRes->
fX = -(_pvOp->
fX);
389 _pvRes->
fY = -(_pvOp->
fY);
390 _pvRes->
fZ = -(_pvOp->
fZ);
468 fResult = (_pvOp->
fX * _pvOp->
fX) + (_pvOp->
fY * _pvOp->
fY) + (_pvOp->
fZ * _pvOp->
fZ);
554 fOp = (_pvOp->
fX * _pvOp->
fX) + (_pvOp->
fY * _pvOp->
fY) + (_pvOp->
fZ * _pvOp->
fZ);
560 _pvRes->
fX = fOp * _pvOp->
fX;
561 _pvRes->
fY = fOp * _pvOp->
fY;
562 _pvRes->
fZ = fOp * _pvOp->
fZ;
602 orxVector_Set(_pvRes, (fCos * _pvOp->
fX) - (fSin * _pvOp->
fY), (fSin * _pvOp->
fX) + (fCos * _pvOp->
fY), _pvOp->
fZ);
668 orxFLOAT fRho, fTheta, fPhi;
748 orxFLOAT fSinPhi, fCosPhi, fSinTheta, fCosTheta, fRho;
780 _pvRes->
fX = fRho * fCosTheta * fSinPhi;
781 _pvRes->
fY = fRho * fSinTheta * fSinPhi;
782 _pvRes->
fZ = fRho * fCosPhi;
802 fResult = (_pvOp1->
fX * _pvOp2->
fX) + (_pvOp1->
fY * _pvOp2->
fY) + (_pvOp1->
fZ * _pvOp2->
fZ);
822 fResult = (_pvOp1->
fX * _pvOp2->
fX) + (_pvOp1->
fY * _pvOp2->
fY);
836 orxFLOAT fTemp1, fTemp2;
844 fTemp1 = (_pvOp1->
fY * _pvOp2->
fZ) - (_pvOp1->
fZ * _pvOp2->
fY);
845 fTemp2 = (_pvOp1->
fZ * _pvOp2->
fX) - (_pvOp1->
fX * _pvOp2->
fZ);
846 _pvRes->
fZ = (_pvOp1->
fX * _pvOp2->
fY) - (_pvOp1->
fY * _pvOp2->
fX);
900 #pragma GCC diagnostic pop
static orxINLINE orxFLOAT orxVector_GetSize(const orxVECTOR *_pvOp)
static orxINLINE orxVECTOR * orxVector_Div(orxVECTOR *_pvRes, const orxVECTOR *_pvOp1, const orxVECTOR *_pvOp2)
orxDLLAPI const orxVECTOR orxVECTOR_CYAN
static orxINLINE orxVECTOR * orxVector_Mulf(orxVECTOR *_pvRes, const orxVECTOR *_pvOp1, orxFLOAT _fOp2)
orxDLLAPI const orxVECTOR orxVECTOR_YELLOW
static orxINLINE orxFLOAT orxMath_Round(orxFLOAT _fOp)
static orxINLINE orxBOOL orxVector_AreEqual(const orxVECTOR *_pvOp1, const orxVECTOR *_pvOp2)
static orxINLINE orxFLOAT orxVector_GetSquareDistance(const orxVECTOR *_pvOp1, const orxVECTOR *_pvOp2)
static orxINLINE orxVECTOR * orxVector_Floor(orxVECTOR *_pvRes, const orxVECTOR *_pvOp)
orxDLLAPI const orxVECTOR orxVECTOR_BLACK
static orxINLINE orxFLOAT orxVector_Dot(const orxVECTOR *_pvOp1, const orxVECTOR *_pvOp2)
static orxINLINE orxVECTOR * orxVector_Divf(orxVECTOR *_pvRes, const orxVECTOR *_pvOp1, orxFLOAT _fOp2)
static const orxFLOAT orxFLOAT_1
static orxINLINE orxVECTOR * orxVector_2DRotate(orxVECTOR *_pvRes, const orxVECTOR *_pvOp, orxFLOAT _fAngle)
static orxINLINE orxVECTOR * orxVector_FromSphericalToCartesian(orxVECTOR *_pvRes, const orxVECTOR *_pvOp)
static orxINLINE orxVECTOR * orxVector_Mul(orxVECTOR *_pvRes, const orxVECTOR *_pvOp1, const orxVECTOR *_pvOp2)
orxDLLAPI const orxVECTOR orxVECTOR_1
#define orxCLAMP(V, MIN, MAX)
static orxINLINE orxFLOAT orxMath_Sqrt(orxFLOAT _fOp)
orxDLLAPI const orxVECTOR orxVECTOR_Y
orxDLLAPI const orxVECTOR orxVECTOR_RED
orxDLLAPI orxVECTOR *orxFASTCALL orxVector_CatmullRom(orxVECTOR *_pvRes, const orxVECTOR *_pvPoint1, const orxVECTOR *_pvPoint2, const orxVECTOR *_pvPoint3, const orxVECTOR *_pvPoint4, orxFLOAT _fT)
static orxINLINE orxBOOL orxVector_IsNull(const orxVECTOR *_pvOp)
static orxINLINE orxFLOAT orxMath_Sin(orxFLOAT _fOp)
static orxINLINE orxVECTOR * orxVector_Min(orxVECTOR *_pvRes, const orxVECTOR *_pvOp1, const orxVECTOR *_pvOp2)
static orxINLINE orxVECTOR * orxVector_Neg(orxVECTOR *_pvRes, const orxVECTOR *_pvOp)
static orxINLINE orxFLOAT orxMath_Floor(orxFLOAT _fOp)
static orxINLINE orxFLOAT orxVector_GetSquareSize(const orxVECTOR *_pvOp)
static orxINLINE orxFLOAT orxMath_Abs(orxFLOAT _fOp)
static orxINLINE orxFLOAT orxVector_2DDot(const orxVECTOR *_pvOp1, const orxVECTOR *_pvOp2)
orxDLLAPI orxVECTOR *orxFASTCALL orxVector_Bezier(orxVECTOR *_pvRes, const orxVECTOR *_pvPoint1, const orxVECTOR *_pvPoint2, const orxVECTOR *_pvPoint3, const orxVECTOR *_pvPoint4, orxFLOAT _fT)
static orxINLINE orxVECTOR * orxVector_Set(orxVECTOR *_pvVec, orxFLOAT _fX, orxFLOAT _fY, orxFLOAT _fZ)
static orxINLINE orxVECTOR * orxVector_Lerp(orxVECTOR *_pvRes, const orxVECTOR *_pvOp1, const orxVECTOR *_pvOp2, orxFLOAT _fOp)
orxDLLAPI const orxVECTOR orxVECTOR_MAGENTA
static orxINLINE orxVECTOR * orxVector_Clamp(orxVECTOR *_pvRes, const orxVECTOR *_pvOp, const orxVECTOR *_pvMin, const orxVECTOR *_pvMax)
static orxINLINE orxFLOAT orxMath_ACos(orxFLOAT _fOp)
static orxINLINE orxFLOAT orxMath_Cos(orxFLOAT _fOp)
static orxINLINE orxVECTOR * orxVector_Normalize(orxVECTOR *_pvRes, const orxVECTOR *_pvOp)
static orxINLINE orxVECTOR * orxVector_Add(orxVECTOR *_pvRes, const orxVECTOR *_pvOp1, const orxVECTOR *_pvOp2)
#define orxMATH_KF_EPSILON
orxDLLAPI const orxVECTOR orxVECTOR_GREEN
orxDLLAPI const orxVECTOR orxVECTOR_BLUE
static orxINLINE orxVECTOR * orxVector_FromCartesianToSpherical(orxVECTOR *_pvRes, const orxVECTOR *_pvOp)
orxDLLAPI const orxVECTOR orxVECTOR_X
static orxINLINE orxVECTOR * orxVector_SetAll(orxVECTOR *_pvVec, orxFLOAT _fValue)
static orxINLINE orxVECTOR * orxVector_Round(orxVECTOR *_pvRes, const orxVECTOR *_pvOp)
orxDLLAPI const orxVECTOR orxVECTOR_WHITE
static orxINLINE orxVECTOR * orxVector_Cross(orxVECTOR *_pvRes, const orxVECTOR *_pvOp1, const orxVECTOR *_pvOp2)
static const orxFLOAT orxFLOAT_0
#define orxMATH_KF_TINY_EPSILON
orxDLLAPI const orxVECTOR orxVECTOR_0
static orxINLINE orxFLOAT orxMath_ATan(orxFLOAT _fOp1, orxFLOAT _fOp2)
static orxINLINE orxVECTOR * orxVector_Sub(orxVECTOR *_pvRes, const orxVECTOR *_pvOp1, const orxVECTOR *_pvOp2)
static orxINLINE orxVECTOR * orxVector_Max(orxVECTOR *_pvRes, const orxVECTOR *_pvOp1, const orxVECTOR *_pvOp2)
static orxINLINE void * orxMemory_Copy(void *_pDest, const void *_pSrc, orxU32 _u32Size)
#define orxMATH_KF_PI_BY_2
#define orxASSERT(TEST,...)
static orxINLINE orxVECTOR * orxVector_Copy(orxVECTOR *_pvDst, const orxVECTOR *_pvSrc)
static orxINLINE orxFLOAT orxVector_GetDistance(const orxVECTOR *_pvOp1, const orxVECTOR *_pvOp2)
static orxINLINE orxVECTOR * orxVector_Rec(orxVECTOR *_pvRes, const orxVECTOR *_pvOp)
orxDLLAPI const orxVECTOR orxVECTOR_Z