Geant4 Cross Reference

Cross-Referencing   Geant4
Geant4/externals/g4tools/include/tools/sg/zb_manager

Version: [ ReleaseNotes ] [ 1.0 ] [ 1.1 ] [ 2.0 ] [ 3.0 ] [ 3.1 ] [ 3.2 ] [ 4.0 ] [ 4.0.p1 ] [ 4.0.p2 ] [ 4.1 ] [ 4.1.p1 ] [ 5.0 ] [ 5.0.p1 ] [ 5.1 ] [ 5.1.p1 ] [ 5.2 ] [ 5.2.p1 ] [ 5.2.p2 ] [ 6.0 ] [ 6.0.p1 ] [ 6.1 ] [ 6.2 ] [ 6.2.p1 ] [ 6.2.p2 ] [ 7.0 ] [ 7.0.p1 ] [ 7.1 ] [ 7.1.p1 ] [ 8.0 ] [ 8.0.p1 ] [ 8.1 ] [ 8.1.p1 ] [ 8.1.p2 ] [ 8.2 ] [ 8.2.p1 ] [ 8.3 ] [ 8.3.p1 ] [ 8.3.p2 ] [ 9.0 ] [ 9.0.p1 ] [ 9.0.p2 ] [ 9.1 ] [ 9.1.p1 ] [ 9.1.p2 ] [ 9.1.p3 ] [ 9.2 ] [ 9.2.p1 ] [ 9.2.p2 ] [ 9.2.p3 ] [ 9.2.p4 ] [ 9.3 ] [ 9.3.p1 ] [ 9.3.p2 ] [ 9.4 ] [ 9.4.p1 ] [ 9.4.p2 ] [ 9.4.p3 ] [ 9.4.p4 ] [ 9.5 ] [ 9.5.p1 ] [ 9.5.p2 ] [ 9.6 ] [ 9.6.p1 ] [ 9.6.p2 ] [ 9.6.p3 ] [ 9.6.p4 ] [ 10.0 ] [ 10.0.p1 ] [ 10.0.p2 ] [ 10.0.p3 ] [ 10.0.p4 ] [ 10.1 ] [ 10.1.p1 ] [ 10.1.p2 ] [ 10.1.p3 ] [ 10.2 ] [ 10.2.p1 ] [ 10.2.p2 ] [ 10.2.p3 ] [ 10.3 ] [ 10.3.p1 ] [ 10.3.p2 ] [ 10.3.p3 ] [ 10.4 ] [ 10.4.p1 ] [ 10.4.p2 ] [ 10.4.p3 ] [ 10.5 ] [ 10.5.p1 ] [ 10.6 ] [ 10.6.p1 ] [ 10.6.p2 ] [ 10.6.p3 ] [ 10.7 ] [ 10.7.p1 ] [ 10.7.p2 ] [ 10.7.p3 ] [ 10.7.p4 ] [ 11.0 ] [ 11.0.p1 ] [ 11.0.p2 ] [ 11.0.p3, ] [ 11.0.p4 ] [ 11.1 ] [ 11.1.1 ] [ 11.1.2 ] [ 11.1.3 ] [ 11.2 ] [ 11.2.1 ] [ 11.2.2 ] [ 11.3.0 ]

Diff markup

Differences between /externals/g4tools/include/tools/sg/zb_manager (Version 11.3.0) and /externals/g4tools/include/tools/sg/zb_manager (Version 11.2.2)


  1 // Copyright (C) 2010, Guy Barrand. All rights      1 // Copyright (C) 2010, Guy Barrand. All rights reserved.
  2 // See the file tools.license for terms.            2 // See the file tools.license for terms.
  3                                                     3 
  4 #ifndef tools_sg_zb_manager                         4 #ifndef tools_sg_zb_manager
  5 #define tools_sg_zb_manager                         5 #define tools_sg_zb_manager
  6                                                     6 
  7 #include "render_manager"                           7 #include "render_manager"
  8                                                     8 
  9 #ifdef TOOLS_MEM                                    9 #ifdef TOOLS_MEM
 10 #include "../mem"                                  10 #include "../mem"
 11 #endif                                             11 #endif
 12                                                    12 
 13 #include <map>                                     13 #include <map>
 14                                                    14 
 15 namespace tools {                                  15 namespace tools {
 16 namespace sg {                                     16 namespace sg {
 17                                                    17 
 18 class zb_manager : public virtual render_manag     18 class zb_manager : public virtual render_manager {
 19   typedef render_manager parent;                   19   typedef render_manager parent;
 20 public:                                            20 public:
 21   TOOLS_SCLASS(tools::sg::zb_manager)              21   TOOLS_SCLASS(tools::sg::zb_manager)
 22   virtual void* cast(const std::string& a_clas     22   virtual void* cast(const std::string& a_class) const {
 23     if(void* p = cmp_cast<zb_manager>(this,a_c     23     if(void* p = cmp_cast<zb_manager>(this,a_class)) {return p;}
 24     else return 0;                                 24     else return 0;
 25   }                                                25   }
 26 public:                                            26 public:
 27   virtual bool begin_render(int,int,unsigned i     27   virtual bool begin_render(int,int,unsigned int,unsigned int,float,float,float,float,bool = true) {return true;}
 28   virtual void end_render() {}                     28   virtual void end_render() {}
 29                                                    29 
 30   virtual unsigned int create_texture(const im     30   virtual unsigned int create_texture(const img_byte& a_img,bool /*a_NEAREST*/) {
 31     m_gen_id++; //never return 0.                  31     m_gen_id++; //never return 0.
 32     m_gstos[m_gen_id] = a_img;                     32     m_gstos[m_gen_id] = a_img;
 33     return m_gen_id;                               33     return m_gen_id;
 34   }                                                34   }
 35                                                    35 
 36   virtual unsigned int create_gsto_from_data(s     36   virtual unsigned int create_gsto_from_data(size_t,const float*) {return 0;}
 37                                                    37 
 38   virtual bool is_gsto_id_valid(unsigned int a     38   virtual bool is_gsto_id_valid(unsigned int a_id) const {
 39     gstos_t::const_iterator it = m_gstos.find(     39     gstos_t::const_iterator it = m_gstos.find(a_id);
 40     if(it==m_gstos.end()) return false;            40     if(it==m_gstos.end()) return false;
 41     return true;                                   41     return true;
 42   }                                                42   }
 43   virtual void delete_gsto(unsigned int a_id)      43   virtual void delete_gsto(unsigned int a_id) {
 44     gstos_t::iterator it = m_gstos.find(a_id);     44     gstos_t::iterator it = m_gstos.find(a_id);
 45     if(it!=m_gstos.end()) m_gstos.erase(it);       45     if(it!=m_gstos.end()) m_gstos.erase(it);
 46   }                                                46   }
 47                                                    47 
 48   //                                               48   //
 49   virtual gsto_mode get_gsto_mode() const {ret     49   virtual gsto_mode get_gsto_mode() const {return gsto_memory;}
 50   virtual void set_gsto_mode(gsto_mode) {}         50   virtual void set_gsto_mode(gsto_mode) {}
 51   virtual void available_gsto_modes(std::vecto     51   virtual void available_gsto_modes(std::vector<std::string>& a_v) {a_v.clear();}
 52   virtual void available_not_memory_gsto_mode(     52   virtual void available_not_memory_gsto_mode(std::string& a_s) const {a_s.clear();}
 53   virtual size_t used_texture_memory() const {     53   virtual size_t used_texture_memory() const {return 0;}
 54   virtual size_t gstos_size() const {return 0;     54   virtual size_t gstos_size() const {return 0;}
 55 public:                                            55 public:
 56   zb_manager():m_gen_id(0){                        56   zb_manager():m_gen_id(0){
 57 #ifdef TOOLS_MEM                                   57 #ifdef TOOLS_MEM
 58     mem::increment(s_class().c_str());             58     mem::increment(s_class().c_str());
 59 #endif                                             59 #endif
 60   }                                                60   }
 61   virtual ~zb_manager(){                           61   virtual ~zb_manager(){
 62     m_gstos.clear();                               62     m_gstos.clear();
 63 #ifdef TOOLS_MEM                                   63 #ifdef TOOLS_MEM
 64     mem::decrement(s_class().c_str());             64     mem::decrement(s_class().c_str());
 65 #endif                                             65 #endif
 66   }                                                66   }
 67 public:                                            67 public:
 68   zb_manager(const zb_manager& a_from)             68   zb_manager(const zb_manager& a_from)
 69   :parent(a_from)                                  69   :parent(a_from)
 70   ,m_gen_id(0)                                     70   ,m_gen_id(0)
 71   ,m_gstos()                                       71   ,m_gstos()
 72   {                                                72   {
 73 #ifdef TOOLS_MEM                                   73 #ifdef TOOLS_MEM
 74     mem::increment(s_class().c_str());             74     mem::increment(s_class().c_str());
 75 #endif                                             75 #endif
 76   }                                                76   }
 77   zb_manager& operator=(const zb_manager& a_fr     77   zb_manager& operator=(const zb_manager& a_from){
 78     if(&a_from==this) return *this;                78     if(&a_from==this) return *this;
 79     m_gen_id = 0;                                  79     m_gen_id = 0;
 80     m_gstos.clear();                               80     m_gstos.clear();
 81     return *this;                                  81     return *this;
 82   }                                                82   }
 83 public:                                            83 public:
 84   bool find(unsigned int a_id,img_byte& a_img)     84   bool find(unsigned int a_id,img_byte& a_img) {
 85     gstos_t::iterator it = m_gstos.find(a_id);     85     gstos_t::iterator it = m_gstos.find(a_id);
 86     if(it==m_gstos.end()) return false;            86     if(it==m_gstos.end()) return false;
 87     a_img = (*it).second;                          87     a_img = (*it).second;
 88     return true;                                   88     return true;
 89   }                                                89   }
 90   //void cleanup() {}                              90   //void cleanup() {}
 91   void delete_gstos() {m_gstos.clear();}           91   void delete_gstos() {m_gstos.clear();}
 92 protected:                                         92 protected:
 93   unsigned int m_gen_id;                           93   unsigned int m_gen_id;
 94   typedef std::map<unsigned int,img_byte> gsto     94   typedef std::map<unsigned int,img_byte> gstos_t;
 95   gstos_t m_gstos; //only textures for the mom     95   gstos_t m_gstos; //only textures for the moment.
 96 };                                                 96 };
 97                                                    97 
 98 }}                                                 98 }}
 99                                                    99 
100 #endif                                            100 #endif