53 typedef struct __orxOBOX_t
102 orxVector_Set(&(_pstRes->
vPivot), (fCos * _pvPivot->
fX) - (fSin * _pvPivot->
fY), (fSin * _pvPivot->
fX) + (fCos * _pvPivot->
fY), _pvPivot->
fZ);
254 orxFLOAT fProj, fSize;
304 orxVECTOR vOrigin1, vOrigin2, *pvOrigin1 = &vOrigin1, *pvOrigin2 = &vOrigin2, *pvTemp;
305 const orxOBOX *pstBox1 = _pstBox1, *pstBox2 = _pstBox2, *pstTemp;
316 i--, pstTemp = pstBox1, pstBox1 = pstBox2, pstBox2 = pstTemp, pvTemp = pvOrigin1, pvOrigin1 = pvOrigin2, pvOrigin2 = pvTemp)
323 vToCorner[0].
fX = pvOrigin2->fX - pvOrigin1->fX;
324 vToCorner[0].
fY = pvOrigin2->fY - pvOrigin1->fY;
325 vToCorner[1].
fX = vToCorner[0].
fX + pstBox2->vX.fX;
326 vToCorner[1].
fY = vToCorner[0].
fY + pstBox2->vX.fY;
327 vToCorner[2].
fX = vToCorner[1].
fX + pstBox2->vY.fX;
328 vToCorner[2].
fY = vToCorner[1].
fY + pstBox2->vY.fY;
329 vToCorner[3].
fX = vToCorner[0].
fX + pstBox2->vY.fX;
330 vToCorner[3].
fY = vToCorner[0].
fY + pstBox2->vY.fY;
333 for(j = 2, pvAxis = &(pstBox1->vX);
337 orxFLOAT fMin, fMax, fProj;
344 for(k = 1; k < 4; k++)
354 else if(fProj < fMin)
static orxINLINE orxOBOX * orxOBox_2DSet(orxOBOX *_pstRes, const orxVECTOR *_pvWorldPosition, const orxVECTOR *_pvPivot, const orxVECTOR *_pvSize, orxFLOAT _fAngle)
static orxINLINE orxVECTOR * orxVector_Mulf(orxVECTOR *_pvRes, const orxVECTOR *_pvOp1, orxFLOAT _fOp2)
static orxINLINE orxFLOAT orxVector_Dot(const orxVECTOR *_pvOp1, const orxVECTOR *_pvOp2)
static const orxFLOAT orxFLOAT_1
static orxINLINE orxFLOAT orxMath_Sin(orxFLOAT _fOp)
static orxINLINE orxFLOAT orxVector_GetSquareSize(const orxVECTOR *_pvOp)
static orxINLINE orxFLOAT orxVector_2DDot(const orxVECTOR *_pvOp1, const orxVECTOR *_pvOp2)
static orxINLINE orxVECTOR * orxVector_Set(orxVECTOR *_pvVec, orxFLOAT _fX, orxFLOAT _fY, orxFLOAT _fZ)
static orxINLINE orxOBOX * orxOBox_Move(orxOBOX *_pstRes, const orxOBOX *_pstOp, const orxVECTOR *_pvMove)
static orxINLINE orxBOOL orxOBox_2DIsInside(const orxOBOX *_pstBox, const orxVECTOR *_pvPosition)
static orxINLINE orxFLOAT orxMath_Cos(orxFLOAT _fOp)
static orxINLINE orxBOOL orxOBox_ZAlignedTestIntersection(const orxOBOX *_pstBox1, const orxOBOX *_pstBox2)
static orxINLINE orxVECTOR * orxOBox_GetCenter(const orxOBOX *_pstOp, orxVECTOR *_pvRes)
static orxINLINE orxVECTOR * orxVector_Add(orxVECTOR *_pvRes, const orxVECTOR *_pvOp1, const orxVECTOR *_pvOp2)
static orxINLINE orxOBOX * orxOBox_2DRotate(orxOBOX *_pstRes, const orxOBOX *_pstOp, orxFLOAT _fAngle)
static const orxFLOAT orxFLOAT_0
static orxINLINE orxBOOL orxOBox_IsInside(const orxOBOX *_pstBox, const orxVECTOR *_pvPosition)
static orxINLINE orxOBOX * orxOBox_Copy(orxOBOX *_pstDst, const orxOBOX *_pstSrc)
static orxINLINE orxVECTOR * orxVector_Sub(orxVECTOR *_pvRes, const orxVECTOR *_pvOp1, const orxVECTOR *_pvOp2)
static orxINLINE void * orxMemory_Copy(void *_pDest, const void *_pSrc, orxU32 _u32Size)
#define orxASSERT(TEST,...)
static orxINLINE orxVECTOR * orxVector_Copy(orxVECTOR *_pvDst, const orxVECTOR *_pvSrc)