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"
|
|
|
|
#include <Common/types.h>
|
2015-12-16 21:39:51 +00:00
|
|
|
#include <Math/CAABox.h>
|
|
|
|
#include <Math/CRay.h>
|
|
|
|
#include <Math/CVector3f.h>
|
2015-07-26 21:39:49 +00:00
|
|
|
|
|
|
|
#include <list>
|
|
|
|
|
|
|
|
class CSceneNode;
|
|
|
|
|
|
|
|
class CRayCollisionTester
|
|
|
|
{
|
|
|
|
CRay mRay;
|
|
|
|
std::list<SRayIntersection> mBoxIntersectList;
|
|
|
|
|
|
|
|
public:
|
|
|
|
CRayCollisionTester(const CRay& Ray);
|
|
|
|
~CRayCollisionTester();
|
|
|
|
const CRay& Ray() const;
|
|
|
|
void AddNode(CSceneNode *pNode, u32 AssetIndex, float Distance);
|
2015-11-27 23:28:35 +00:00
|
|
|
void AddNodeModel(CSceneNode *pNode, CBasicModel *pModel);
|
2015-11-25 21:37:34 +00:00
|
|
|
SRayIntersection TestNodes(const SViewInfo& ViewInfo);
|
2015-07-26 21:39:49 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
inline const CRay& CRayCollisionTester::Ray() const
|
|
|
|
{
|
|
|
|
return mRay;
|
|
|
|
}
|
|
|
|
|
|
|
|
#endif // CRAYCOLLISIONHELPER_H
|