Files
FC1/CryPhysics/singleboxtree.h
romkazvo 34d6c5d489 123
2023-08-07 19:29:24 +08:00

31 lines
1.3 KiB
C++

#ifndef singleboxtree_h
#define singleboxtree_h
class CSingleBoxTree : public CBVTree {
public:
CSingleBoxTree() { m_nPrims = 1; }
virtual int GetType() { return BVT_SINGLEBOX; }
virtual float Build(CGeometry *pGeom);
void SetBox(box *pbox);
virtual int PrepareForIntersectionTest(geometry_under_test *pGTest);
virtual void GetBBox(box *pbox);
virtual int MaxPrimsInNode() { return m_nPrims; }
virtual void GetNodeBV(BV *&pBV, int iNode=0);
virtual void GetNodeBV(BV *&pBV, const vectorf &sweepdir,float sweepstep, int iNode=0);
virtual void GetNodeBV(const matrix3x3f &Rw,const vectorf &offsw,float scalew, BV *&pBV, int iNode=0);
virtual void GetNodeBV(const matrix3x3f &Rw,const vectorf &offsw,float scalew, BV *&pBV, const vectorf &sweepdir,float sweepstep, int iNode=0);
virtual int GetNodeContents(int iNode, BV *pBVCollider,int bColliderUsed,int bColliderLocal,
geometry_under_test *pGTest,geometry_under_test *pGTestOp);
virtual int GetNodeContentsIdx(int iNode, int &iStartPrim) { iStartPrim=0; return m_nPrims; }
virtual void MarkUsedTriangle(int itri, geometry_under_test *pGTest);
virtual void GetMemoryStatistics(ICrySizer *pSizer);
virtual void Save(CMemStream &stm);
virtual void Load(CMemStream &stm, CGeometry *pGeom);
CGeometry *m_pGeom;
box m_Box;
int m_nPrims;
};
#endif