#pragma once #include "Plane.h" #include "Node.h" #include "Vector.h" #include "vector" class Camera; #define SPTR boost::shared_ptr class Quad { public: Quad(void); ~Quad(void); void setPosition(float _x, float _z); void setDimension(float _width, float _height); void buildQuadTree(int _level); void clipQuadAgainstCamera(Plane *view); bool nodeInside(Node* node); void deleteQuadTree(); Vector getMinBBox(); Vector getMaxBBox(); Quad *q[4]; int level; private: int getClipType(Plane *view); Vector position; float width; float height; Vector minBBox; Vector maxBBox; bool fullyVisible; bool partlyVisible; };