25 lines
874 B
C++
25 lines
874 B
C++
#ifndef raybv_h
|
|
#define raybv_h
|
|
#pragma once
|
|
|
|
class CRayBV : public CBVTree {
|
|
public:
|
|
CRayBV() {}
|
|
virtual int GetType() { return BVT_RAY; }
|
|
virtual float Build(CGeometry *pGeom) { m_pGeom=pGeom; return 0.0f; }
|
|
void SetRay(ray *pray) { m_pray = pray; }
|
|
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);
|
|
|
|
CGeometry *m_pGeom;
|
|
ray *m_pray;
|
|
static BVray g_BVray;
|
|
};
|
|
|
|
#endif
|
|
|