Geant4 Cross Reference

Cross-Referencing   Geant4
Geant4/externals/g4tools/include/tools/offscreen/session

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/offscreen/session (Version 11.3.0) and /externals/g4tools/include/tools/offscreen/session (Version 11.2.1)


  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_offscreen_session                     4 #ifndef tools_offscreen_session
  5 #define tools_offscreen_session                     5 #define tools_offscreen_session
  6                                                     6 
  7 namespace tools {                                   7 namespace tools {
  8 namespace offscreen {                               8 namespace offscreen {
  9                                                     9 
 10 class viewer {                                     10 class viewer {
 11 public:                                            11 public:
 12   virtual ~viewer() {}                             12   virtual ~viewer() {}
 13 public:                                            13 public:
 14   virtual void render() = 0;                       14   virtual void render() = 0;
 15 };                                                 15 };
 16                                                    16 
 17 }}                                                 17 }}
 18                                                    18 
 19 #include "../forit"                                19 #include "../forit"
 20 #include "../vmanip"                               20 #include "../vmanip"
 21                                                    21 
 22 #include <ostream>                                 22 #include <ostream>
 23                                                    23 
 24 namespace tools {                                  24 namespace tools {
 25 namespace offscreen {                              25 namespace offscreen {
 26                                                    26 
 27 class session {                                    27 class session {
 28 public:                                            28 public:
 29   session(std::ostream& a_out):m_out(a_out) {}     29   session(std::ostream& a_out):m_out(a_out) {}
 30   virtual ~session() {}                            30   virtual ~session() {}
 31 protected:                                         31 protected:
 32   session(const session& a_from):m_out(a_from.     32   session(const session& a_from):m_out(a_from.m_out) {}
 33   session& operator=(const session& a_from) {i     33   session& operator=(const session& a_from) {if(&a_from==this) return *this;return *this;}
 34 public:                                            34 public:
 35   std::ostream& out() const {return m_out;}        35   std::ostream& out() const {return m_out;}
 36   bool is_valid() const {return true;}             36   bool is_valid() const {return true;}
 37   bool steer() {                                   37   bool steer() {
 38     tools_vforcit(viewer*,m_to_render,it) {(*i     38     tools_vforcit(viewer*,m_to_render,it) {(*it)->render();}
 39     m_to_render.clear();                           39     m_to_render.clear();
 40     return true;                                   40     return true;
 41   }                                                41   }
 42   bool sync() {                                    42   bool sync() {
 43     tools_vforcit(viewer*,m_to_render,it) {(*i     43     tools_vforcit(viewer*,m_to_render,it) {(*it)->render();}
 44     m_to_render.clear();                           44     m_to_render.clear();
 45     return true;                                   45     return true;
 46   }                                                46   }
 47 public:                                            47 public:
 48   void to_render(viewer* a_viewer) {               48   void to_render(viewer* a_viewer) {
 49     if(is_inp(m_to_render,a_viewer)) return;       49     if(is_inp(m_to_render,a_viewer)) return;
 50     m_to_render.push_back(a_viewer);               50     m_to_render.push_back(a_viewer);
 51   }                                                51   }
 52 protected:                                         52 protected:
 53   std::ostream& m_out;                             53   std::ostream& m_out;
 54   std::vector<viewer*> m_to_render;                54   std::vector<viewer*> m_to_render;  
 55 };                                                 55 };
 56                                                    56 
 57 }}                                                 57 }}
 58                                                    58 
 59 #endif                                             59 #endif
 60                                                    60