Geant4 Cross Reference

Cross-Referencing   Geant4
Geant4/visualization/management/include/G4ViewParameters.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 /visualization/management/include/G4ViewParameters.hh (Version 11.3.0) and /visualization/management/include/G4ViewParameters.hh (Version 1.1)


                                                   >>   1 // This code implementation is the intellectual property of
                                                   >>   2 // the GEANT4 collaboration.
  1 //                                                  3 //
  2 // ******************************************* <<   4 // By copying, distributing or modifying the Program (or any work
  3 // * License and Disclaimer                    <<   5 // based on the Program) you indicate your acceptance of this statement,
  4 // *                                           <<   6 // and all its terms.
  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 //                                                  7 //
                                                   >>   8 // $Id: G4ViewParameters.hh,v 1.6 1999/12/15 14:54:20 gunter Exp $
                                                   >>   9 // GEANT4 tag $Name: geant4-01-01 $
 27 //                                                 10 //
 28 //                                                 11 // 
 29 // John Allison  19th July 1996                    12 // John Allison  19th July 1996
 30 //                                                 13 //
 31 // Class description                               14 // Class description
 32 //                                                 15 //
 33 // View parameters and options.                    16 // View parameters and options.
 34 //                                                 17 //
 35 // THE STANDARD VIEW AND ALL THAT.                 18 // THE STANDARD VIEW AND ALL THAT.
 36 //                                                 19 //
 37 // In GEANT4 visualization, we have the concep <<  20 // In GEANT4 visualization, we have the concept of a ``Standard
 38 // View".  This is the view when the complete  <<  21 // View''.  This is the view when the complete set of objects being
 39 // viewed is comfortably in view from any view     22 // viewed is comfortably in view from any viewpoint.  It is defined by
 40 // the "Bounding Extent" of "visible" objects  <<  23 // the ``Bounding Sphere'' of ``visible'' objects when initially
 41 // registered in the scene, and by the View Pa     24 // registered in the scene, and by the View Parameters.
 42 //                                                 25 //
 43 // There is also the "Standard Target Point",  <<  26 // There is also the ``Standard Target Point'', which is the centre of
 44 // the Bounding Extent (note that this belongs <<  27 // the Bounding Sphere (note that this belongs to the scene and is
 45 // stored in the G4Scene object).  The "Curren <<  28 // stored in the G4Scene object).  The ``Current Target Point'', initially
 46 // relative to the Standard Target Point, is c <<  29 // set to the Standard Target Point, is incremented by the ``dolly''
 47 // "dolly" and "zoom" commands, and can be res <<  30 // and ``zoom'' commands, and can be reset to the Standard Target
 48 // Target Point with the "/vis/viewer/reset" c <<  31 // Point with the {\tt /vis~/camera/reset} command.
 49 //                                                 32 //
 50 // Also, the "Standard Camera Position" is the <<  33 // Also, the ``Standard Camera Position'' is the ``Standard Camera
 51 // Distance" along the Viewpoint Direction vec <<  34 // Distance'' along the Viewpoint Direction vector from the Standard
 52 // Target Point.  The Standard Camera Distance     35 // Target Point.  The Standard Camera Distance is the radius of the
 53 // Bounding Extent divided by fFieldHalfAngle. <<  36 // Bounding Sphere divided by {\tt fFieldHalfAngle}.  It is not stored
 54 // explicitly because of the singularity at fF <<  37 // explicitly because of the singularity at {\tt fFieldHalfAngle} = 0,
 55 // which implies parallel projection.              38 // which implies parallel projection.
 56 //                                                 39 //
 57 // Similarly, the "Current Camera Position" is <<  40 // Similarly, the ``Current Camera Position'' is the ``Current Camera
 58 // Distance" along the Viewpoint Direction vec <<  41 // Distance'' along the Viewpoint Direction vector from the Current
 59 // Target Point.  The Current Camera Distance      42 // Target Point.  The Current Camera Distance is given by the formulae
 60 // below, but note that it can be negative, me     43 // below, but note that it can be negative, meaning that the camera
 61 // has moved *beyond* the Current Target Point <<  44 // has moved {\em beyond} the Current Target Point, which is
 62 // conceptually possible, but which might give     45 // conceptually possible, but which might give some problems when
 63 // setting up the view matrix - see, for examp <<  46 // setting up the view matrix --- see, for example, {\tt
                                                   >>  47 // G4OpenGLView::SetView ()}.
                                                   >>  48 //
                                                   >>  49 // All viewers are expected to keep the ``Up Vector'' vertical.
 64 //                                                 50 //
 65 // All viewers are expected to keep the "Up Ve <<  51 // Finally, the view is magnified by the ``Zoom Factor'' which is
 66 // RotationStyle is freeRotation.              <<  52 // reset to 1 by the \linebreak {\tt /vis~/camera/reset} command.
 67 //                                                 53 //
 68 // Finally, the view is magnified by the "Zoom <<  54 // Note: the camera movements pan, dolly and zoom, are currently coded
 69 // reset to 1 by the "/vis/viewer/reset" comma <<  55 // in \linebreak {\tt G4VisManMessenger.cc}.
 70 //                                                 56 //
 71 // The algorithms for calculating various usef     57 // The algorithms for calculating various useful quantities from the
 72 // View Parameters, such as GetCameraDistance, <<  58 // View Parameters are encapsulated in the functions described in
                                                   >>  59 // Appendix \ref{ap:useful}.
 73                                                    60 
 74 #ifndef G4VIEWPARAMETERS_HH                        61 #ifndef G4VIEWPARAMETERS_HH
 75 #define G4VIEWPARAMETERS_HH                        62 #define G4VIEWPARAMETERS_HH
 76                                                    63 
 77 #include <CLHEP/Units/SystemOfUnits.h>         <<  64 #include "g4rw/tvordvec.h"
 78 #include "G4Vector3D.hh"                           65 #include "G4Vector3D.hh"
 79 #include "G4Point3D.hh"                            66 #include "G4Point3D.hh"
 80 #include "G4Plane3D.hh"                            67 #include "G4Plane3D.hh"
 81 #include "G4VisAttributes.hh"                      68 #include "G4VisAttributes.hh"
 82 #include "G4VMarker.hh"                            69 #include "G4VMarker.hh"
 83 #include "G4ModelingParameters.hh"             << 
 84                                                    70 
 85 #include <vector>                              <<  71 typedef G4RWTValOrderedVector<G4Plane3D> G4Planes;
 86 #include <utility>                             << 
 87                                                << 
 88 typedef std::vector<G4Plane3D> G4Planes;       << 
 89                                                    72 
 90 class G4ViewParameters {                           73 class G4ViewParameters {
 91                                                    74 
 92 public: // With description                        75 public: // With description
 93                                                    76 
                                                   >>  77   friend G4std::ostream& operator << (G4std::ostream& os, const G4ViewParameters& v);
                                                   >>  78 
 94   enum DrawingStyle {                              79   enum DrawingStyle {
 95     wireframe,  // Draw edges    - no hidden l     80     wireframe,  // Draw edges    - no hidden line removal.
 96     hlr,        // Draw edges    - hidden line     81     hlr,        // Draw edges    - hidden lines removed.
 97     hsr,        // Draw surfaces - hidden surf     82     hsr,        // Draw surfaces - hidden surfaces removed.
 98     hlhsr,      // Draw surfaces and edges - h <<  83     hlhsr       // Draw surfaces and edges - hidden removed.
 99     cloud       // Draw volume as a cloud of d << 
100   };                                           << 
101                                                << 
102   enum CutawayMode {                           << 
103     cutawayUnion,       // Union (addition) of << 
104     cutawayIntersection // Intersection (multi << 
105   };                                           << 
106                                                << 
107   enum RotationStyle {                         << 
108     constrainUpDirection,  // Standard, HEP co << 
109     freeRotation           // Free, Google-lik << 
110   };                                               84   };
111                                                    85 
112   enum SMROption {  // Special Mesh Rendering  <<  86   enum RepStyle {
113     meshAsDefault,                             <<  87     polyhedron, // Use G4Polyhedron.
114     meshAsDots,                                <<  88     nurbs       // Use G4NURBS.
115     meshAsSurfaces                             << 
116   };                                               89   };
117                                                    90 
118   friend std::ostream& operator <<             << 
119   (std::ostream&, DrawingStyle);               << 
120                                                << 
121   friend std::ostream& operator <<             << 
122   (std::ostream&, SMROption);                  << 
123                                                << 
124   friend std::ostream& operator <<             << 
125   (std::ostream&, const G4ViewParameters&);    << 
126                                                << 
127   G4ViewParameters ();                             91   G4ViewParameters ();
128   ~G4ViewParameters ();                            92   ~G4ViewParameters ();
129                                                    93 
130   // Note: uses default assignment operator an     94   // Note: uses default assignment operator and copy constructor.
131                                                    95 
132   G4bool operator != (const G4ViewParameters&)     96   G4bool operator != (const G4ViewParameters&) const;
133                                                    97 
134   // Get and Is functions.                         98   // Get and Is functions.
135         DrawingStyle     GetDrawingStyle           99         DrawingStyle     GetDrawingStyle         () const;
136         G4int            GetNumberOfCloudPoint << 100         RepStyle         GetRepStyle             () const;
137         G4bool           IsAuxEdgeVisible      << 
138         G4bool           IsCulling                101         G4bool           IsCulling               () const;
139         G4bool           IsCullingInvisible       102         G4bool           IsCullingInvisible      () const;
140         G4bool           IsDensityCulling         103         G4bool           IsDensityCulling        () const;
141         G4double         GetVisibleDensity        104         G4double         GetVisibleDensity       () const;
142         G4bool           IsCullingCovered         105         G4bool           IsCullingCovered        () const;
143         G4int            GetCBDAlgorithmNumber << 
144   const std::vector<G4double>& GetCBDParameter << 
145         G4bool           IsSection                106         G4bool           IsSection               () const;
146   const G4Plane3D&       GetSectionPlane          107   const G4Plane3D&       GetSectionPlane         () const;
147         G4bool           IsCutaway                108         G4bool           IsCutaway               () const;
148         CutawayMode      GetCutawayMode        << 
149   const G4Planes&        GetCutawayPlanes         109   const G4Planes&        GetCutawayPlanes        () const;
150         G4bool           IsExplode                110         G4bool           IsExplode               () const;
151         G4double         GetExplodeFactor         111         G4double         GetExplodeFactor        () const;
152   const G4Point3D&       GetExplodeCentre      << 
153         G4int            GetNoOfSides             112         G4int            GetNoOfSides            () const;
154   const G4Vector3D&      GetViewpointDirection    113   const G4Vector3D&      GetViewpointDirection   () const;
155   const G4Vector3D&      GetUpVector              114   const G4Vector3D&      GetUpVector             () const;
156         G4double         GetFieldHalfAngle        115         G4double         GetFieldHalfAngle       () const;
157         G4double         GetZoomFactor            116         G4double         GetZoomFactor           () const;
158   const G4Vector3D&      GetScaleFactor        << 
159   const G4Point3D&       GetCurrentTargetPoint    117   const G4Point3D&       GetCurrentTargetPoint   () const;
160         G4double         GetDolly                 118         G4double         GetDolly                () const;
161         G4bool           GetLightsMoveWithCame    119         G4bool           GetLightsMoveWithCamera () const;
162   const G4Vector3D&      GetLightpointDirectio    120   const G4Vector3D&      GetLightpointDirection  () const;  // Relative...
163         G4Vector3D&      GetActualLightpointDi    121         G4Vector3D&      GetActualLightpointDirection  ();  // Actual...
164   // ... depending on GetLightsMoveWithCamera.    122   // ... depending on GetLightsMoveWithCamera.
                                                   >> 123         G4bool           IsViewGeom              () const;
                                                   >> 124         G4bool           IsViewHits              () const;
                                                   >> 125         G4bool           IsViewDigis             () const;
165   const G4VisAttributes* GetDefaultVisAttribut    126   const G4VisAttributes* GetDefaultVisAttributes () const;
166   const G4VisAttributes* GetDefaultTextVisAttr    127   const G4VisAttributes* GetDefaultTextVisAttributes () const;
167   const G4VMarker&       GetDefaultMarker         128   const G4VMarker&       GetDefaultMarker        () const;
168         G4double         GetGlobalMarkerScale     129         G4double         GetGlobalMarkerScale    () const;
169         G4double         GetGlobalLineWidthSca << 
170         G4bool           IsMarkerNotHidden        130         G4bool           IsMarkerNotHidden       () const;
171         unsigned int     GetWindowSizeHintX    << 131         G4int            GetWindowSizeHintX      () const;
172         unsigned int     GetWindowSizeHintY    << 132         G4int            GetWindowSizeHintY      () const;
173         G4int            GetWindowAbsoluteLoca << 
174         G4int            GetWindowAbsoluteLoca << 
175         G4int            GetWindowLocationHint << 
176         G4int            GetWindowLocationHint << 
177         G4bool           IsWindowLocationHintX << 
178         G4bool           IsWindowLocationHintY << 
179   const G4String&        GetXGeometryString    << 
180   // GetXGeometryString is intended to be pars << 
181   // It contains the size information, as in G << 
182   // may also contain the window position, e.g << 
183   // viewer should use this in preference to G << 
184   // it contains more information.  (The size  << 
185   // GetXGeometryString and GetWindowSizeHint  << 
186   // identical.)                               << 
187         bool             IsWindowSizeHintX     << 
188         bool             IsWindowSizeHintY     << 
189         bool             IsWindowLocationHintX << 
190         bool             IsWindowLocationHintY << 
191         G4bool           IsAutoRefresh         << 
192   const G4Colour&  GetBackgroundColour         << 
193         G4bool           IsPicking             << 
194         RotationStyle    GetRotationStyle      << 
195   const std::vector<G4ModelingParameters::VisA << 
196                          GetVisAttributesModif << 
197         G4double         GetStartTime          << 
198         G4double         GetEndTime            << 
199         G4double         GetFadeFactor         << 
200         G4bool           IsDisplayHeadTime     << 
201         G4double         GetDisplayHeadTimeX   << 
202         G4double         GetDisplayHeadTimeY   << 
203         G4double         GetDisplayHeadTimeSiz << 
204         G4double         GetDisplayHeadTimeRed << 
205         G4double         GetDisplayHeadTimeGre << 
206         G4double         GetDisplayHeadTimeBlu << 
207         G4bool           IsDisplayLightFront   << 
208         G4double         GetDisplayLightFrontX << 
209         G4double         GetDisplayLightFrontY << 
210         G4double         GetDisplayLightFrontZ << 
211         G4double         GetDisplayLightFrontT << 
212         G4double         GetDisplayLightFrontR << 
213         G4double         GetDisplayLightFrontG << 
214         G4double         GetDisplayLightFrontB << 
215         G4bool           IsSpecialMeshRenderin << 
216         SMROption        GetSpecialMeshRenderi << 
217   const std::vector<G4ModelingParameters::PVNa << 
218                                                   133 
219   // Here Follow functions to evaluate useful  << 134   // Here Follow functions to evaluate the above algorithms as a
220   // function of the radius of the Bounding Ex << 135   // function of the radius of the Bounding Sphere of the object being
221   // viewed.  Call them in the order given - f    136   // viewed.  Call them in the order given - for efficiency, later
222   // functions depend on the results of earlie    137   // functions depend on the results of earlier ones (Store the
223   // results of earlier functions in your own     138   // results of earlier functions in your own temporary variables -
224   // see, for example, G4OpenGLView::SetView (    139   // see, for example, G4OpenGLView::SetView ().)
225   G4double GetCameraDistance  (G4double radius    140   G4double GetCameraDistance  (G4double radius) const;
226   G4double GetNearDistance    (G4double camera    141   G4double GetNearDistance    (G4double cameraDistance, G4double radius) const;
227   G4double GetFarDistance     (G4double camera    142   G4double GetFarDistance     (G4double cameraDistance,
228              G4double nearDistance, G4double r    143              G4double nearDistance, G4double radius) const;
229   G4double GetFrontHalfHeight (G4double nearDi    144   G4double GetFrontHalfHeight (G4double nearDistance, G4double radius) const;
230                                                   145 
231   // Set, Add, Multiply, Increment, Unset and     146   // Set, Add, Multiply, Increment, Unset and Clear functions.
232   void SetDrawingStyle         (G4ViewParamete    147   void SetDrawingStyle         (G4ViewParameters::DrawingStyle style);
233   G4int SetNumberOfCloudPoints (G4int);  // Re << 148   void SetRepStyle             (G4ViewParameters::RepStyle style);
234   void SetAuxEdgeVisible       (G4bool);       << 
235   void SetCulling              (G4bool);          149   void SetCulling              (G4bool);
236   void SetCullingInvisible     (G4bool);          150   void SetCullingInvisible     (G4bool);
237   void SetDensityCulling       (G4bool);          151   void SetDensityCulling       (G4bool);
238   void SetVisibleDensity       (G4double visib    152   void SetVisibleDensity       (G4double visibleDensity);
239   void SetCullingCovered       (G4bool);          153   void SetCullingCovered       (G4bool);
240   void SetCBDAlgorithmNumber   (G4int);        << 
241   void SetCBDParameters        (const std::vec << 
242   void SetSectionPlane         (const G4Plane3    154   void SetSectionPlane         (const G4Plane3D& sectionPlane);
243   void UnsetSectionPlane       ();                155   void UnsetSectionPlane       ();
244   void SetCutawayMode          (CutawayMode);  << 
245   void AddCutawayPlane         (const G4Plane3    156   void AddCutawayPlane         (const G4Plane3D& cutawayPlane);
246   void ChangeCutawayPlane      (size_t index,  << 
247   void ClearCutawayPlanes      ();                157   void ClearCutawayPlanes      ();
248   void SetExplodeFactor        (G4double explo    158   void SetExplodeFactor        (G4double explodeFactor);
249   void UnsetExplodeFactor      ();                159   void UnsetExplodeFactor      ();
250   void SetExplodeCentre        (const G4Point3 << 160   void SetNoOfSides            (G4int nSides);
251   G4int SetNoOfSides           (G4int nSides); << 
252   void SetViewpointDirection   (const G4Vector    161   void SetViewpointDirection   (const G4Vector3D& viewpointDirection);
253   // Calls the following to get lightpoint dir << 162   // Prefer the following to get lightpoint direction right too.
254   void SetViewAndLights        (const G4Vector    163   void SetViewAndLights        (const G4Vector3D& viewpointDirection);
255   // Also sets lightpoint direction according     164   // Also sets lightpoint direction according to G4bool fLightsMoveWithCamera.
256   void SetUpVector             (const G4Vector    165   void SetUpVector             (const G4Vector3D& upVector);
257   void SetFieldHalfAngle       (G4double field    166   void SetFieldHalfAngle       (G4double fieldHalfAngle);
258   void SetOrthogonalProjection ();  // This an << 
259   void SetPerspectiveProjection(G4double field << 
260   void SetZoomFactor           (G4double zoomF    167   void SetZoomFactor           (G4double zoomFactor);
261   void MultiplyZoomFactor      (G4double zoomF    168   void MultiplyZoomFactor      (G4double zoomFactorMultiplier);
262   void SetScaleFactor          (const G4Vector << 
263   void MultiplyScaleFactor     (const G4Vector << 
264   void SetCurrentTargetPoint   (const G4Point3    169   void SetCurrentTargetPoint   (const G4Point3D& currentTargetPoint);
265   void SetDolly                (G4double dolly    170   void SetDolly                (G4double dolly);
266   void IncrementDolly          (G4double dolly    171   void IncrementDolly          (G4double dollyIncrement);
267   void SetLightpointDirection  (const G4Vector    172   void SetLightpointDirection  (const G4Vector3D& lightpointDirection);
268   void SetLightsMoveWithCamera (G4bool moves);    173   void SetLightsMoveWithCamera (G4bool moves);
269   void SetPan                  (G4double right << 174   void SetViewGeom             ();
270   void IncrementPan            (G4double right << 175   void UnsetViewGeom           ();
271   // Increment currentTarget point perpendicul << 176   void SetViewHits             ();
272   void IncrementPan            (G4double right << 177   void UnsetViewHits           ();
273   // Increment currentTarget point also along  << 178   void SetViewDigis            ();
                                                   >> 179   void UnsetViewDigis          ();
274   void SetDefaultVisAttributes (const G4VisAtt    180   void SetDefaultVisAttributes (const G4VisAttributes&);
275   void SetDefaultColour        (const G4Colour << 
276   void SetDefaultTextVisAttributes (const G4Vi    181   void SetDefaultTextVisAttributes (const G4VisAttributes&);
277   void SetDefaultTextColour    (const G4Colour << 
278   void SetDefaultMarker        (const G4VMarke    182   void SetDefaultMarker        (const G4VMarker& defaultMarker);
279   void SetGlobalMarkerScale    (G4double globa    183   void SetGlobalMarkerScale    (G4double globalMarkerScale);
280   void SetGlobalLineWidthScale (G4double globa << 
281   void SetMarkerHidden         ();                184   void SetMarkerHidden         ();
282   void SetMarkerNotHidden      ();                185   void SetMarkerNotHidden      ();
283   void SetWindowSizeHint       (G4int xHint, G    186   void SetWindowSizeHint       (G4int xHint, G4int yHint);
284   void SetWindowLocationHint   (G4int xHint, G << 
285   void SetXGeometryString      (const G4String << 
286   void SetAutoRefresh          (G4bool);       << 
287   void SetBackgroundColour     (const G4Colour << 
288   void SetPicking              (G4bool);       << 
289   void SetRotationStyle        (RotationStyle) << 
290   void ClearVisAttributesModifiers ();         << 
291   void AddVisAttributesModifier(const G4Modeli << 
292   void SetStartTime            (G4double);     << 
293   void SetEndTime              (G4double);     << 
294   void SetFadeFactor           (G4double);     << 
295   void SetDisplayHeadTime      (G4bool);       << 
296   void SetDisplayHeadTimeX     (G4double);     << 
297   void SetDisplayHeadTimeY     (G4double);     << 
298   void SetDisplayHeadTimeSize  (G4double);     << 
299   void SetDisplayHeadTimeRed   (G4double);     << 
300   void SetDisplayHeadTimeGreen (G4double);     << 
301   void SetDisplayHeadTimeBlue  (G4double);     << 
302   void SetDisplayLightFront    (G4bool);       << 
303   void SetDisplayLightFrontX   (G4double);     << 
304   void SetDisplayLightFrontY   (G4double);     << 
305   void SetDisplayLightFrontZ   (G4double);     << 
306   void SetDisplayLightFrontT   (G4double);     << 
307   void SetDisplayLightFrontRed (G4double);     << 
308   void SetDisplayLightFrontGreen (G4double);   << 
309   void SetDisplayLightFrontBlue (G4double);    << 
310   void SetSpecialMeshRendering (G4bool);       << 
311   void SetSpecialMeshRenderingOption (SMROptio << 
312   void SetSpecialMeshVolumes   (const std::vec << 
313                                                << 
314   // Command dumping functions.                << 
315   // For camera commands we need to provide th << 
316   // the current scene.                        << 
317   G4String CameraAndLightingCommands(const G4P << 
318   G4String DrawingStyleCommands  () const;     << 
319   G4String SceneModifyingCommands() const;     << 
320   G4String TouchableCommands     () const;     << 
321   G4String TimeWindowCommands    () const;     << 
322                                                   187 
323   // Other functions.                          << 188   void Pan                     (G4double right, G4double up);
324   void PrintDifferences (const G4ViewParameter << 189   // Note: the result of above "pan"operation is always an Increment
                                                   >> 190   // relative to the current target point and also depends on the
                                                   >> 191   // veiwpoint and up directions.
325                                                   192 
326   // Interpolation                             << 193   void PrintDifferences (const G4ViewParameters& v) const;
327   // Returns a null pointer when no more to be << 
328   // do {                                      << 
329   //   G4ViewParameters* vp =                  << 
330   //   G4ViewParameters::CatmullRomCubicSpline << 
331   //   if (!vp) break;                         << 
332   //     ...                                   << 
333   // } while (true);                           << 
334   // Assumes equal intervals                   << 
335   static G4ViewParameters* CatmullRomCubicSpli << 
336   (const std::vector<G4ViewParameters>& views, << 
337    G4int nInterpolationPoints = 50);  // No of << 
338                                                   194 
339 private:                                          195 private:
340                                                << 
341   G4int ParseGeometry ( const char *string, G4 << 
342   G4int ReadInteger(char *string, char **NextS << 
343                                                   196 
344   DrawingStyle fDrawingStyle;    // Drawing st    197   DrawingStyle fDrawingStyle;    // Drawing style.
345   G4int        fNumberOfCloudPoints; // For dr << 198   RepStyle     fRepStyle;        // Representation style.
346                                      // <= 0 m << 
347   G4bool       fAuxEdgeVisible;  // Auxiliary  << 
348   G4bool       fCulling;         // Culling re    199   G4bool       fCulling;         // Culling requested.
349   G4bool       fCullInvisible;   // Cull (don'    200   G4bool       fCullInvisible;   // Cull (don't Draw) invisible objects.
350   G4bool       fDensityCulling;  // Density cu    201   G4bool       fDensityCulling;  // Density culling requested.  If so...
351   G4double     fVisibleDensity;  // ...density    202   G4double     fVisibleDensity;  // ...density lower than this not drawn.
352   G4bool       fCullCovered;     // Cull daugh    203   G4bool       fCullCovered;     // Cull daughters covered by opaque mothers.
353   G4int        fCBDAlgorithmNumber; // Colour  << 
354   std::vector<G4double> fCBDParameters; // Col << 
355   G4bool       fSection;         // Section dr    204   G4bool       fSection;         // Section drawing requested (DCUT in GEANT3).
356   G4Plane3D    fSectionPlane;    // Cut plane     205   G4Plane3D    fSectionPlane;    // Cut plane for section drawing (DCUT).
357   CutawayMode  fCutawayMode;     // Cutaway mo << 206   G4bool       fCutaway;         // Cutaway flag.
358   G4Planes     fCutawayPlanes;   // Set of pla    207   G4Planes     fCutawayPlanes;   // Set of planes used for cutaway.
359   G4double     fExplodeFactor;   // Explode al << 208   G4bool       fExplode;         // Explode flag.
360   G4Point3D    fExplodeCentre;   // ...about t << 209   G4double     fExplodeFactor;
361   G4int        fNoOfSides;       // ...if poly    210   G4int        fNoOfSides;       // ...if polygon approximates circle.
362   G4Vector3D   fViewpointDirection;               211   G4Vector3D   fViewpointDirection;
363   G4Vector3D   fUpVector;        // Up vector.    212   G4Vector3D   fUpVector;        // Up vector.  (Warning: MUST NOT be parallel
364                                  // to fViewpo    213                                  // to fViewpointDirection!)
365   G4double     fFieldHalfAngle;  // Radius / c    214   G4double     fFieldHalfAngle;  // Radius / camara distance, 0 for parallel.
366   G4double     fZoomFactor;      // Magnificat    215   G4double     fZoomFactor;      // Magnification relative to Standard View.
367   G4Vector3D   fScaleFactor;     // (Non-unifo << 216   G4Point3D    fCurrentTargetPoint;
368   G4Point3D    fCurrentTargetPoint;  // Relati << 
369   G4double     fDolly;           // Distance t    217   G4double     fDolly;           // Distance towards current target point.
370   G4bool       fLightsMoveWithCamera;             218   G4bool       fLightsMoveWithCamera;
371   G4Vector3D   fRelativeLightpointDirection;      219   G4Vector3D   fRelativeLightpointDirection;
372   // i.e., rel. to object or camera accoding t << 220   // i.e., rel. to object or camera accoding to G4bool LightsMoveWithCamera.
373   G4Vector3D   fActualLightpointDirection;        221   G4Vector3D   fActualLightpointDirection;
                                                   >> 222   G4bool       fViewGeom;        // View geometry objects.
                                                   >> 223   G4bool       fViewHits;        // View hits, if any.
                                                   >> 224   G4bool       fViewDigis;       // View digis, if any.
374   G4VisAttributes fDefaultVisAttributes;          225   G4VisAttributes fDefaultVisAttributes;
375   G4VisAttributes fDefaultTextVisAttributes;      226   G4VisAttributes fDefaultTextVisAttributes;
376   G4VMarker    fDefaultMarker;                    227   G4VMarker    fDefaultMarker;
377   G4double     fGlobalMarkerScale;                228   G4double     fGlobalMarkerScale;
378   G4double     fGlobalLineWidthScale;          << 
379   G4bool       fMarkerNotHidden;                  229   G4bool       fMarkerNotHidden;
380   // True if transients are to be drawn and no    230   // True if transients are to be drawn and not hidden by
381   // hidden-line-hidden-surface removal algori    231   // hidden-line-hidden-surface removal algorithms, e.g., z-buffer
382   // testing; false if they are to be hidden-l    232   // testing; false if they are to be hidden-line-hidden-surface
383   // removed.                                     233   // removed.
384   G4int        fWindowSizeHintX; // Size hints    234   G4int        fWindowSizeHintX; // Size hints for pixel-based window systems.
385   G4int        fWindowSizeHintY;                  235   G4int        fWindowSizeHintY;
386   G4int        fWindowLocationHintX; // Locati << 
387   G4int        fWindowLocationHintY;           << 
388   G4bool       fWindowLocationHintXNegative; / << 
389   G4bool       fWindowLocationHintYNegative;   << 
390   G4String     fXGeometryString; // If non-nul << 
391   G4int        fGeometryMask;    // Correspond << 
392   G4bool       fAutoRefresh;     // ...after c << 
393   G4Colour     fBackgroundColour;              << 
394   G4bool       fPicking;         // Request pi << 
395   RotationStyle fRotationStyle;  // Rotation s << 
396   std::vector<G4ModelingParameters::VisAttribu << 
397   G4double     fStartTime, fEndTime;  // Time  << 
398   G4double     fFadeFactor;  // 0: no fade; 1: << 
399   G4bool       fDisplayHeadTime;  // Display h << 
400   G4double     fDisplayHeadTimeX, fDisplayHead << 
401   G4double     fDisplayHeadTimeSize;  // Scree << 
402   G4double     fDisplayHeadTimeRed, fDisplayHe << 
403   G4bool       fDisplayLightFront;// Display l << 
404   G4double     fDisplayLightFrontX, fDisplayLi << 
405                fDisplayLightFrontT;            << 
406   G4double     fDisplayLightFrontRed, fDisplay << 
407   G4bool       fSpecialMeshRendering;  // Requ << 
408   SMROption    fSpecialMeshRenderingOption;  / << 
409   std::vector<G4ModelingParameters::PVNameCopy << 
410                                                << 
411   enum { // Constants for geometry mask in Par << 
412     fNoValue     = 0,                          << 
413     fXValue      = 0x0001,                     << 
414     fYValue      = 0x0002,                     << 
415     fWidthValue  = 0x0004,                     << 
416     fHeightValue = 0x0008,                     << 
417     fAllValues   = 0x000F,                     << 
418     fXNegative   = 0x0010,                     << 
419     fYNegative   = 0x0020                      << 
420   };                                           << 
421 };                                                236 };
422                                                   237 
423 #include "G4ViewParameters.icc"                   238 #include "G4ViewParameters.icc"
424                                                   239 
425 #endif                                            240 #endif
                                                   >> 241 
426                                                   242