#ifndef _IntersectionBoundingBoxConverter_H__ #define _IntersectionBoundingBoxConverter_H__ #include "Containers.h" #include "BoundingBoxConverter.h" namespace GtpVisibilityPreprocessor { class AxisAlignedBox3; class KdTree; /** Class which converts preprocessor types to OGRE types */ class IntersectionBoundingBoxConverter: public BoundingBoxConverter { public: IntersectionBoundingBoxConverter(KdTree *kdTree): mKdTree(kdTree) {} bool IdentifyObjects(const IndexedBoundingBoxContainer &iboxes, ObjectContainer &objects) const; protected: /** find objects which are intersected by this box */ void FindIntersectingObjects(const AxisAlignedBox3 &box, ObjectContainer &objects) const; KdTree *mKdTree; }; } #endif // IntersectionBoundingBoxConverter