Geant4 Cross Reference

Cross-Referencing   Geant4
Geant4/visualization/management/src/G4VisCommandsGeometry.cc

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 /visualization/management/src/G4VisCommandsGeometry.cc (Version 11.3.0) and /visualization/management/src/G4VisCommandsGeometry.cc (Version 2.0)


  1 //                                                  1 
  2 // *******************************************    
  3 // * License and Disclaimer                       
  4 // *                                              
  5 // * The  Geant4 software  is  copyright of th    
  6 // * the Geant4 Collaboration.  It is provided    
  7 // * conditions of the Geant4 Software License    
  8 // * LICENSE and available at  http://cern.ch/    
  9 // * include a list of copyright holders.         
 10 // *                                              
 11 // * Neither the authors of this software syst    
 12 // * institutes,nor the agencies providing fin    
 13 // * work  make  any representation or  warran    
 14 // * regarding  this  software system or assum    
 15 // * use.  Please see the license in the file     
 16 // * for the full disclaimer and the limitatio    
 17 // *                                              
 18 // * This  code  implementation is the result     
 19 // * technical work of the GEANT4 collaboratio    
 20 // * By using,  copying,  modifying or  distri    
 21 // * any work based  on the software)  you  ag    
 22 // * use  in  resulting  scientific  publicati    
 23 // * acceptance of all terms of the Geant4 Sof    
 24 // *******************************************    
 25 //                                                
 26 //                                                
 27                                                   
 28 // /vis/geometry commands - John Allison  31st    
 29                                                   
 30 #include "G4VisCommandsGeometry.hh"               
 31                                                   
 32 #include "G4UIcmdWithAString.hh"                  
 33 #include "G4VisManager.hh"                        
 34 #include "G4LogicalVolumeStore.hh"                
 35 #include "G4UImanager.hh"                         
 36                                                   
 37 #define G4warn G4cout                             
 38                                                   
 39 std::map<G4LogicalVolume*, const G4VisAttribut    
 40 G4VVisCommandGeometry::fVisAttsMap;               
 41                                                   
 42 G4VVisCommandGeometry::~G4VVisCommandGeometry(    
 43 {                                                 
 44   // Delete all vis atts that were "new".  Do     
 45   // without the "rebuild".                       
 46 }                                                 
 47                                                   
 48 ////////////// /vis/geometry/list ////////////    
 49                                                   
 50 G4VisCommandGeometryList::G4VisCommandGeometry    
 51 {                                                 
 52   G4bool omitable;                                
 53   fpCommand = new G4UIcmdWithAString("/vis/geo    
 54   fpCommand -> SetGuidance("Lists vis attribut    
 55   fpCommand -> SetGuidance("\"all\" lists all     
 56   fpCommand -> SetParameterName("logical-volum    
 57   fpCommand -> SetDefaultValue("all");            
 58 }                                                 
 59                                                   
 60 G4VisCommandGeometryList::~G4VisCommandGeometr    
 61 {                                                 
 62   delete fpCommand;                               
 63 }                                                 
 64                                                   
 65 G4String G4VisCommandGeometryList::GetCurrentV    
 66 {                                                 
 67   return "";                                      
 68 }                                                 
 69                                                   
 70 void G4VisCommandGeometryList::SetNewValue(G4U    
 71 {                                                 
 72   G4LogicalVolumeStore *pLVStore = G4LogicalVo    
 73   G4bool found = false;                           
 74   for (size_t iLV = 0; iLV < pLVStore->size();    
 75     G4LogicalVolume*pLV = (*pLVStore)[iLV];       
 76     const G4String& logVolName = pLV->GetName(    
 77     if (newValue == "all" || logVolName == new    
 78       const G4VisAttributes* visAtts = pLV->Ge    
 79       G4cout << "\nLogical Volume \"" << pLV->    
 80       if (visAtts) {                              
 81         G4cout << '\n' << *visAtts;               
 82       } else {                                    
 83         G4cout << " no vis attributes";           
 84       }                                           
 85       G4cout << G4endl;                           
 86     }                                             
 87     if (logVolName == newValue) found = true;     
 88   }                                               
 89   if (newValue != "all" && !found) {              
 90     if (fpVisManager->GetVerbosity() >= G4VisM    
 91       G4warn << "ERROR: Logical volume \"" <<     
 92        << "\" not found in logical volume stor    
 93     }                                             
 94     return;                                       
 95   }                                               
 96 }                                                 
 97                                                   
 98 ////////////// /vis/geometry/restore /////////    
 99                                                   
100 G4VisCommandGeometryRestore::G4VisCommandGeome    
101 {                                                 
102   G4bool omitable;                                
103   fpCommand = new G4UIcmdWithAString("/vis/geo    
104   fpCommand -> SetGuidance("Restores vis attri    
105   fpCommand -> SetParameterName("logical-volum    
106   fpCommand -> SetDefaultValue("all");            
107 }                                                 
108                                                   
109 G4VisCommandGeometryRestore::~G4VisCommandGeom    
110 {                                                 
111   delete fpCommand;                               
112 }                                                 
113                                                   
114 G4String G4VisCommandGeometryRestore::GetCurre    
115 {                                                 
116   return "";                                      
117 }                                                 
118                                                   
119 void G4VisCommandGeometryRestore::SetNewValue(    
120 {                                                 
121   G4VisManager::Verbosity verbosity = fpVisMan    
122   G4LogicalVolumeStore *pLVStore = G4LogicalVo    
123   size_t nLV = pLVStore->size();                  
124   size_t iLV;                                     
125   G4LogicalVolume* pLV = 0;                       
126   G4bool found = false;                           
127   for (iLV = 0; iLV < nLV; iLV++ ) {              
128     pLV = (*pLVStore)[iLV];                       
129     const G4String& logVolName = pLV->GetName(    
130     if (logVolName == newValue) found = true;     
131     if (newValue == "all" || logVolName == new    
132       VisAttsMapIterator i = fVisAttsMap.find(    
133       if (i != fVisAttsMap.end()) {               
134   const G4VisAttributes* newVisAtts = pLV->Get    
135   const G4VisAttributes* oldVisAtts = i->secon    
136   pLV->SetVisAttributes(oldVisAtts);              
137   if (verbosity >= G4VisManager::confirmations    
138     G4cout << "\nLogical Volume \"" << pLV->Ge    
139      << "\": re-setting vis attributes:\nwas:     
140      << "\nnow: " << *oldVisAtts                  
141      << G4endl;                                   
142   }                                               
143       }                                           
144     }                                             
145   }                                               
146   if (newValue != "all" && !found) {              
147     if (verbosity >= G4VisManager::errors) {      
148       G4warn << "ERROR: Logical volume \"" <<     
149        << "\" not found in logical volume stor    
150     }                                             
151     return;                                       
152   }                                               
153   if (fpVisManager->GetCurrentViewer()) {         
154     G4UImanager::GetUIpointer()->ApplyCommand(    
155   }                                               
156 }                                                 
157