Geant4 Cross Reference

Cross-Referencing   Geant4
Geant4/graphics_reps/include/G4VisAttributes.hh

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 /graphics_reps/include/G4VisAttributes.hh (Version 11.3.0) and /graphics_reps/include/G4VisAttributes.hh (Version 11.0.p3,)


** Warning: Cannot open xref database.

  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 //                                                
 29 // John Allison  23rd October 1996                
 30                                                   
 31 // Class Description:                             
 32 // Visualization attributes are a set of infor    
 33 // visualizable objects. This information is n    
 34 // visualization, and is not included in geome    
 35 // as shapes, position, and orientation.          
 36 // A typical example of a visualization attrib    
 37 // For example, in visualizing a box, the Visu    
 38 // its colour. If an object to be visualized h    
 39 // visualization attributes, then a proper def    
 40 // automatically. A set of visualization attri    
 41 // instance of class G4VisAttributes defined i    
 42 // category. The followings are commonly-used     
 43 //   - visibility                                 
 44 //   - visibility of daughters                    
 45 //   - force style                                
 46 //   - force auxiliary edge visibility            
 47 //   - force line segments per circle             
 48 //   - colour                                     
 49 // Class Description - End:                       
 50                                                   
 51                                                   
 52 #ifndef __G4VISATTRIBUTES_HH__                    
 53 #define __G4VISATTRIBUTES_HH__                    
 54                                                   
 55 #include "globals.hh"                             
 56 #include <vector>                                 
 57 #include <map>                                    
 58                                                   
 59 #include "graphics_reps_defs.hh"                  
 60                                                   
 61 #include "G4Colour.hh"                            
 62 #include "G4Color.hh"                             
 63                                                   
 64 class G4AttValue;                                 
 65 class G4AttDef;                                   
 66                                                   
 67 #include <CLHEP/Units/SystemOfUnits.h>            
 68                                                   
 69 class G4VisAttributes {                           
 70                                                   
 71   friend std::ostream& operator << (std::ostre    
 72                                                   
 73 public: // With description                       
 74                                                   
 75   enum LineStyle {unbroken, dashed, dotted};      
 76   enum ForcedDrawingStyle {wireframe, solid, c    
 77                                                   
 78   G4VisAttributes ();                             
 79   G4VisAttributes (G4bool visibility);            
 80   G4VisAttributes (const G4Colour& colour);       
 81   G4VisAttributes (G4bool visibility, const G4    
 82   G4VisAttributes (const G4VisAttributes&) = d    
 83   ~G4VisAttributes () = default;                  
 84   G4VisAttributes& operator= (const G4VisAttri    
 85                                                   
 86   static const G4VisAttributes& GetInvisible()    
 87                                                   
 88   G4bool operator != (const G4VisAttributes& a    
 89   G4bool operator == (const G4VisAttributes& a    
 90                                                   
 91   void SetVisibility          (G4bool = true);    
 92   void SetDaughtersInvisible  (G4bool = true);    
 93   void SetColour              (const G4Colour&    
 94   void SetColor               (const G4Color&)    
 95   void SetColour              (G4double red, G    
 96                                G4double alpha     
 97   void SetColor               (G4double red, G    
 98                                G4double alpha     
 99   void SetLineStyle           (LineStyle);        
100   void SetLineWidth           (G4double);         
101   void SetForceWireframe      (G4bool = true);    
102   void SetForceSolid          (G4bool = true);    
103   void SetForceCloud          (G4bool = true);    
104   void SetForceNumberOfCloudPoints (G4int nPoi    
105   // nPoints <= 0 means under control of viewe    
106   void SetForceAuxEdgeVisible (G4bool = true);    
107   void SetForceLineSegmentsPerCircle (G4int nS    
108   // Allows choice of circle approximation.  A    
109   // will be composed of nSegments line segmen    
110   // curves of D degrees that you need to divi    
111   // specify nSegments = N * 360 / D.             
112   void SetStartTime           (G4double);         
113   void SetEndTime             (G4double);         
114   void SetAttValues           (const std::vect    
115   void SetAttDefs             (const std::map<    
116                                                   
117   G4bool          IsVisible                       
118   G4bool          IsDaughtersInvisible            
119   const G4Colour& GetColour                       
120   const G4Color&  GetColor                        
121   LineStyle       GetLineStyle                    
122   G4double        GetLineWidth                    
123   G4bool          IsForceDrawingStyle             
124   ForcedDrawingStyle GetForcedDrawingStyle        
125   G4int           GetForcedNumberOfCloudPoints    
126   G4bool          IsForceAuxEdgeVisible           
127   G4bool          IsForcedAuxEdgeVisible          
128   G4bool          IsForceLineSegmentsPerCircle    
129   G4int           GetForcedLineSegmentsPerCirc    
130   G4double        GetStartTime                    
131   G4double        GetEndTime                      
132   static G4int    GetMinLineSegmentsPerCircle     
133   // Returns an expendable copy of the G4AttVa    
134   const std::vector<G4AttValue>* CreateAttValu    
135   // Returns the orginal long life G4AttDefs..    
136   const std::map<G4String,G4AttDef>* GetAttDef    
137                                                   
138   static constexpr G4int fMinLineSegmentsPerCi    
139   // Minumum number of sides per circle           
140                                                   
141   static constexpr G4double fVeryLongTime = 1.    
142   // About 1.e75 billion years!! Used as defau    
143                                                   
144 private:                                          
145                                                   
146   G4bool      fVisible;            // Visibili    
147   G4bool      fDaughtersInvisible; // Make dau    
148   G4Colour    fColour;                            
149   LineStyle   fLineStyle;                         
150   G4double    fLineWidth;          // Units of    
151                                    // pixels f    
152   G4bool      fForceDrawingStyle;  // To switc    
153   ForcedDrawingStyle fForcedStyle; // Value of    
154   G4int       fForcedNumberOfCloudPoints;  //     
155                                            //     
156   G4bool      fForceAuxEdgeVisible;   // To sw    
157   G4bool      fForcedAuxEdgeVisible;  // Wheth    
158   G4int fForcedLineSegmentsPerCircle;  // Forc    
159                                        // circ    
160   G4double fStartTime, fEndTime;   // Time ran    
161   const std::vector<G4AttValue>*     fAttValue    
162   const std::map<G4String,G4AttDef>* fAttDefs;    
163 };                                                
164                                                   
165 #include "G4VisAttributes.icc"                    
166                                                   
167 #endif                                            
168