*
This commit is contained in:
@@ -0,0 +1,13 @@
|
||||
#include "queries/IFrustumQuery.h"
|
||||
|
||||
namespace LifeGraphics
|
||||
{
|
||||
void IFrustumQuery::SetFrustum(const Frustum& _frustum)
|
||||
{
|
||||
frustum = _frustum;
|
||||
}
|
||||
const Frustum& IFrustumQuery::GetFrustum()
|
||||
{
|
||||
return frustum;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,29 @@
|
||||
#ifndef IFrustumQuery_h__
|
||||
#define IFrustumQuery_h__
|
||||
|
||||
#include "queries/INodeQuery.h"
|
||||
#include "camera/Frustum.h"
|
||||
|
||||
namespace LifeGraphics
|
||||
{
|
||||
class IFrustumQuery : public INodeQuery
|
||||
{
|
||||
public:
|
||||
IFrustumQuery()
|
||||
{
|
||||
Filration = false;
|
||||
filter = 0;
|
||||
}
|
||||
IGraphicsNode* operator [](int index)
|
||||
{
|
||||
return nodes[index];
|
||||
}
|
||||
void SetFrustum(const Frustum& _frustum);
|
||||
const Frustum& GetFrustum();
|
||||
int filter;
|
||||
bool Filration;
|
||||
private:
|
||||
Frustum frustum;
|
||||
};
|
||||
}
|
||||
#endif // IFrustumQuery_h__
|
||||
@@ -0,0 +1,31 @@
|
||||
#ifndef INodeQuery_h__
|
||||
#define INodeQuery_h__
|
||||
|
||||
#include "queries/IQuery.h"
|
||||
#include "IGraphicsNode.h"
|
||||
#include <vector>
|
||||
|
||||
namespace LifeGraphics
|
||||
{
|
||||
class INodeQuery : public IQuery
|
||||
{
|
||||
public:
|
||||
void Flush()
|
||||
{
|
||||
nodes.clear();
|
||||
}
|
||||
void AddNode(IGraphicsNode* node)
|
||||
{
|
||||
nodes.push_back(node);
|
||||
}
|
||||
int Size()
|
||||
{
|
||||
return nodes.size();
|
||||
}
|
||||
protected:
|
||||
typedef std::vector<IGraphicsNode*> NodeList;
|
||||
NodeList nodes;
|
||||
};
|
||||
}
|
||||
|
||||
#endif // INodeQuery_h__
|
||||
@@ -0,0 +1,13 @@
|
||||
#ifndef IQuery_h__
|
||||
#define IQuery_h__
|
||||
|
||||
namespace LifeGraphics
|
||||
{
|
||||
class IQuery
|
||||
{
|
||||
public:
|
||||
virtual ~IQuery() {}
|
||||
virtual void Flush() = 0;
|
||||
};
|
||||
}
|
||||
#endif // IQuery_h__
|
||||
Reference in New Issue
Block a user