This commit is contained in:
romkazvo
2023-08-07 19:29:24 +08:00
commit 34d6c5d489
4832 changed files with 1389451 additions and 0 deletions

View File

@@ -0,0 +1,31 @@
#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