// This file has been written by Jiri Bittner, October 2006 #ifndef __BVHLOADER_H #define __BVHLOADER_H #include "Bvh.h" class igzstream; namespace CHCDemoEngine { /** Loads or creates a bounding volume hierarchy. */ class BvhFactory { public: /** Creates a bvh. the static part of the hierarchy is loaded from disc. the dynamic part of the hierarchy is created from scratch. */ Bvh *Create(const std::string &staticBvhFilename, const SceneEntityContainer &staticEntities, const SceneEntityContainer &dynamicEntities, int maxDepthForTestingChildren); /** Creates a bvh from scratch. */ Bvh *Create( const SceneEntityContainer &staticEntities, const SceneEntityContainer &dynamicEntities, int maxDepthForTestingChildren); protected: BvhNode *LoadNextNode(igzstream &stream, BvhInterior *parent); }; } #endif // __BVHLOADER_H