2015-07-26 21:39:49 +00:00
|
|
|
#ifndef CLIGHTNODE_H
|
|
|
|
#define CLIGHTNODE_H
|
|
|
|
|
|
|
|
#include "CSceneNode.h"
|
|
|
|
#include <Resource/CLight.h>
|
|
|
|
|
|
|
|
class CLightNode : public CSceneNode
|
|
|
|
{
|
|
|
|
CLight *mpLight;
|
|
|
|
public:
|
|
|
|
CLightNode(CSceneManager *pScene, CSceneNode *pParent = 0, CLight *Light = 0);
|
|
|
|
ENodeType NodeType();
|
2015-11-25 21:37:34 +00:00
|
|
|
void AddToRenderer(CRenderer *pRenderer, const SViewInfo& ViewInfo);
|
2015-11-27 23:28:35 +00:00
|
|
|
void Draw(ERenderOptions Options, int ComponentIndex, const SViewInfo& ViewInfo);
|
2015-11-29 10:00:18 +00:00
|
|
|
void DrawSelection();
|
2015-11-28 18:37:22 +00:00
|
|
|
void RayAABoxIntersectTest(CRayCollisionTester& Tester, const SViewInfo& ViewInfo);
|
2015-11-25 21:37:34 +00:00
|
|
|
SRayIntersection RayNodeIntersectTest(const CRay &Ray, u32 AssetID, const SViewInfo& ViewInfo);
|
2015-07-26 21:39:49 +00:00
|
|
|
CLight* Light();
|
2015-11-25 21:37:34 +00:00
|
|
|
CVector2f BillboardScale();
|
2015-12-07 04:23:52 +00:00
|
|
|
|
|
|
|
protected:
|
|
|
|
void CalculateTransform(CTransform4f& rOut) const;
|
2015-07-26 21:39:49 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
#endif // CLIGHTNODE_H
|