2015-07-26 21:39:49 +00:00
|
|
|
#ifndef CRAYCOLLISIONHELPER_H
|
|
|
|
#define CRAYCOLLISIONHELPER_H
|
|
|
|
|
|
|
|
#include "SRayIntersection.h"
|
2015-12-15 02:07:22 +00:00
|
|
|
#include "Core/Render/SViewInfo.h"
|
|
|
|
#include "Core/Resource/Model/CBasicModel.h"
|
2018-12-12 05:50:46 +00:00
|
|
|
#include <Common/BasicTypes.h>
|
|
|
|
#include <Common/Math/CAABox.h>
|
|
|
|
#include <Common/Math/CRay.h>
|
|
|
|
#include <Common/Math/CVector3f.h>
|
2015-07-26 21:39:49 +00:00
|
|
|
|
|
|
|
#include <list>
|
|
|
|
|
|
|
|
class CSceneNode;
|
|
|
|
|
|
|
|
class CRayCollisionTester
|
|
|
|
{
|
|
|
|
CRay mRay;
|
|
|
|
std::list<SRayIntersection> mBoxIntersectList;
|
|
|
|
|
|
|
|
public:
|
2016-03-27 19:09:38 +00:00
|
|
|
CRayCollisionTester(const CRay& rkRay);
|
2015-07-26 21:39:49 +00:00
|
|
|
~CRayCollisionTester();
|
2016-03-27 19:09:38 +00:00
|
|
|
const CRay& Ray() const { return mRay; }
|
|
|
|
|
2018-12-12 05:50:46 +00:00
|
|
|
void AddNode(CSceneNode *pNode, uint32 AssetIndex, float Distance);
|
2015-11-27 23:28:35 +00:00
|
|
|
void AddNodeModel(CSceneNode *pNode, CBasicModel *pModel);
|
2016-03-27 19:09:38 +00:00
|
|
|
SRayIntersection TestNodes(const SViewInfo& rkViewInfo);
|
2015-07-26 21:39:49 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
#endif // CRAYCOLLISIONHELPER_H
|