inlib
1.2.0
|
00001 // Copyright (C) 2010, Guy Barrand. All rights reserved. 00002 // See the file inlib.license for terms. 00003 00004 #ifndef inlib_sg_bbox_action 00005 #define inlib_sg_bbox_action 00006 00007 // inheritance : 00008 #include "mtx_action" 00009 00010 //#include "../cast" 00011 #include "../box3f" 00012 00013 namespace inlib { 00014 namespace sg { 00015 00016 class bbox_action : public mtx_action { 00017 //public: 00018 //static const std::string& s_class() { 00019 // static const std::string s_v("inlib::sg::bbox_action"); 00020 // return s_v; 00021 //} 00022 public: 00023 /* 00024 virtual void* cast(const std::string& a_class) const { 00025 if(void* p = inlib::cmp_cast<bbox_action>(this,a_class)) {return p;} 00026 if(void* p = inlib::cmp_cast<action>(this,a_class)) {return p;} 00027 return 0; 00028 } 00029 */ 00030 public: 00031 bbox_action(std::ostream& a_out) 00032 : mtx_action(a_out,0,0) 00033 {} 00034 virtual ~bbox_action(){} 00035 private: 00036 bbox_action(const inlib::sg::bbox_action& a_from) 00037 : mtx_action(a_from) 00038 {} 00039 inlib::sg::bbox_action& operator=(const inlib::sg::bbox_action& a_from){ 00040 mtx_action::operator=(a_from); 00041 return *this; 00042 } 00043 public: 00044 void reset() { 00045 mtx_action::reset(); 00046 m_box.make_empty(); 00047 } 00048 const box3f& box() const {return m_box;} 00049 box3f& box() {return m_box;} 00050 private: 00051 box3f m_box; 00052 }; 00053 00054 }} 00055 00056 #endif