00001 #ifndef ROUTING_H_ 00002 #define ROUTING_H_ 00003 00004 #include "cullable.h" 00005 #include "renderable.h" 00006 #include "RoutingLumpLoader.h" 00007 #include "RoutingRenderable.h" 00008 00009 namespace routing 00010 { 00011 class Routing: public Renderable 00012 { 00013 private: 00014 // responsible for rendering the routing data 00015 RoutingRenderable _renderable; 00016 RoutingLumpLoader _loader; 00017 bool _showPathfinding; 00018 bool _showIn2D; 00019 00020 public: 00021 Routing (); 00022 00023 virtual ~Routing (); 00024 00026 void renderSolid (Renderer& renderer, const VolumeTest& volume) const; 00027 00029 void renderWireframe (Renderer& renderer, const VolumeTest& volume) const; 00030 00031 void renderComponents (Renderer&, const VolumeTest&); 00032 00033 void updateRouting (const std::string& bspFileName); 00034 00035 void setShowAllLowerLevels (bool showAllLowerLevels) 00036 { 00037 _renderable.setShowAllLowerLevels(showAllLowerLevels); 00038 } 00039 00040 void setShowIn2D (bool showIn2D) 00041 { 00042 _showIn2D = showIn2D; 00043 } 00044 00045 void setShowPathfinding (bool showPathfinding) 00046 { 00047 _showPathfinding = showPathfinding; 00048 } 00049 }; 00050 } 00051 00052 #endif /* ROUTING_H_ */