Geant4 Cross Reference |
1 // 1 // 2 // ******************************************* 2 // ******************************************************************** 3 // * License and Disclaimer << 3 // * DISCLAIMER * 4 // * 4 // * * 5 // * The Geant4 software is copyright of th << 5 // * The following disclaimer summarizes all the specific disclaimers * 6 // * the Geant4 Collaboration. It is provided << 6 // * of contributors to this software. The specific disclaimers,which * 7 // * conditions of the Geant4 Software License << 7 // * govern, are listed with their locations in: * 8 // * LICENSE and available at http://cern.ch/ << 8 // * http://cern.ch/geant4/license * 9 // * include a list of copyright holders. << 10 // * 9 // * * 11 // * Neither the authors of this software syst 10 // * Neither the authors of this software system, nor their employing * 12 // * institutes,nor the agencies providing fin 11 // * institutes,nor the agencies providing financial support for this * 13 // * work make any representation or warran 12 // * work make any representation or warranty, express or implied, * 14 // * regarding this software system or assum 13 // * regarding this software system or assume any liability for its * 15 // * use. Please see the license in the file << 14 // * use. * 16 // * for the full disclaimer and the limitatio << 17 // * 15 // * * 18 // * This code implementation is the result << 16 // * This code implementation is the intellectual property of the * 19 // * technical work of the GEANT4 collaboratio << 17 // * GEANT4 collaboration. * 20 // * By using, copying, modifying or distri << 18 // * By copying, distributing or modifying the Program (or any work * 21 // * any work based on the software) you ag << 19 // * based on the Program) you indicate your acceptance of this * 22 // * use in resulting scientific publicati << 20 // * statement, and all its terms. * 23 // * acceptance of all terms of the Geant4 Sof << 24 // ******************************************* 21 // ******************************************************************** 25 // 22 // 26 // 23 // >> 24 // $Id: G4Text.hh,v 1.7 2001/07/11 10:01:03 gunter Exp $ >> 25 // GEANT4 tag $Name: geant4-07-00-cand-01 $ 27 // 26 // 28 // 27 // 29 // John Allison 17/11/96. 28 // John Allison 17/11/96. 30 29 31 // Class Description: 30 // Class Description: 32 // Text, i.e., a character string, is used to 31 // Text, i.e., a character string, is used to visualize various kinds of 33 // description, particle name, energy, coordin 32 // description, particle name, energy, coordinate names etc. Text is 34 // described by the class G4Text. The followin 33 // described by the class G4Text. The following constructors are supported: 35 // 34 // 36 // //----- Constructors of G4Text 35 // //----- Constructors of G4Text 37 // G4Text (const G4String& text); 36 // G4Text (const G4String& text); 38 // G4Text (const G4String& text, const G4 37 // G4Text (const G4String& text, const G4Point3D& pos); 39 // 38 // 40 // where the argument text is the text (string 39 // where the argument text is the text (string) to be visualized, and pos 41 // is the 3D position at which the text is vis 40 // is the 3D position at which the text is visualized. Note that class 42 // G4Text inherits G4VMarker. Size of text is 41 // G4Text inherits G4VMarker. Size of text is recognized as "font size", 43 // i.e., height of the text. All the access fu 42 // i.e., height of the text. All the access functions defined for class 44 // G4VMarker are available. In addition, the f 43 // G4VMarker are available. In addition, the following access functions 45 // are available, too: 44 // are available, too: 46 // 45 // 47 // //----- Set functions of G4Text 46 // //----- Set functions of G4Text 48 // void G4Text::SetText ( const G4String& 47 // void G4Text::SetText ( const G4String& text ) ; 49 // void G4Text::SetOffset ( double dx, do 48 // void G4Text::SetOffset ( double dx, double dy ) ; 50 // 49 // 51 // //----- Get functions of G4Text 50 // //----- Get functions of G4Text 52 // G4String G4Text::GetText () const; 51 // G4String G4Text::GetText () const; 53 // G4double G4Text::GetXOffset () const; 52 // G4double G4Text::GetXOffset () const; 54 // G4double G4Text::GetYOffset () const; 53 // G4double G4Text::GetYOffset () const; 55 // 54 // 56 // Method SetText() defines text to be visuali 55 // Method SetText() defines text to be visualized, and GetText() returns 57 // the defined text. Method SetOffset() define 56 // the defined text. Method SetOffset() defines x (horizontal) and 58 // y (vertical) offsets in the screen coordina 57 // y (vertical) offsets in the screen coordinates. By default, both offsets 59 // are zero, and the text starts from the 3D p 58 // are zero, and the text starts from the 3D position given to the 60 // constructor or to the method G4VMarker:SetP 59 // constructor or to the method G4VMarker:SetPosition(). Offsets should be 61 // given with the same units as the one adopte 60 // given with the same units as the one adopted for the size, i.e., 62 // world-size or screen-size units. 61 // world-size or screen-size units. 63 // Class Description - End: 62 // Class Description - End: 64 63 65 64 66 #ifndef G4TEXT_HH 65 #ifndef G4TEXT_HH 67 #define G4TEXT_HH 66 #define G4TEXT_HH 68 67 69 #include "G4VMarker.hh" 68 #include "G4VMarker.hh" 70 #include "globals.hh" 69 #include "globals.hh" 71 70 72 class G4Text: public G4VMarker { 71 class G4Text: public G4VMarker { 73 72 74 public: // With description 73 public: // With description 75 74 76 enum Layout {left, centre, right}; 75 enum Layout {left, centre, right}; 77 G4Text (const G4String& text = "none"); << 76 G4Text (const G4String& text); 78 G4Text (const G4String& text, const G4Point3 << 77 G4Text (const G4String& text, const G4Point3D& pos); 79 G4Text (const G4VMarker&); << 78 G4Text (const G4VMarker& marker); 80 G4Text (const G4Text&) = default; << 79 virtual ~G4Text (); 81 G4Text (G4Text&&) = default; << 80 82 ~G4Text () override; << 81 virtual G4Visible& operator = (const G4Visible& from); 83 G4Text& operator= (const G4Text&) = default; << 82 virtual G4VVisPrim& operator = (const G4VVisPrim& from); 84 G4Text& operator= (G4Text&&) = default; << 83 virtual G4VMarker& operator = (const G4VMarker& from); >> 84 virtual G4Text& operator = (const G4Text& from); 85 85 86 G4String GetText () const; 86 G4String GetText () const; 87 Layout GetLayout () const; 87 Layout GetLayout () const; 88 88 89 G4double GetXOffset () const ; 89 G4double GetXOffset () const ; 90 G4double GetYOffset () const ; 90 G4double GetYOffset () const ; 91 91 92 void SetText (const G4String& text); 92 void SetText (const G4String& text); 93 void SetLayout (Layout); << 93 void SetLayout (Layout layout); 94 94 95 void SetOffset (double dx, double dy) ; << 95 void SetOffset ( double dx, double dy ) ; 96 96 97 private: 97 private: 98 G4String fText; 98 G4String fText; 99 Layout fLayout; 99 Layout fLayout; 100 G4double fXOffset, fYOffset; 100 G4double fXOffset, fYOffset; 101 }; 101 }; 102 102 103 #include "G4Text.icc" 103 #include "G4Text.icc" 104 << 105 std::ostream& operator<< (std::ostream& os, co << 106 std::ostream& operator<< (std::ostream& os, G4 << 107 104 108 #endif 105 #endif 109 106