Geant4 Cross Reference |
1 // 1 // 2 // ******************************************* 2 // ******************************************************************** 3 // * License and Disclaimer 3 // * License and Disclaimer * 4 // * 4 // * * 5 // * The Geant4 software is copyright of th 5 // * The Geant4 software is copyright of the Copyright Holders of * 6 // * the Geant4 Collaboration. It is provided 6 // * the Geant4 Collaboration. It is provided under the terms and * 7 // * conditions of the Geant4 Software License 7 // * conditions of the Geant4 Software License, included in the file * 8 // * LICENSE and available at http://cern.ch/ 8 // * LICENSE and available at http://cern.ch/geant4/license . These * 9 // * include a list of copyright holders. 9 // * include a list of copyright holders. * 10 // * 10 // * * 11 // * Neither the authors of this software syst 11 // * Neither the authors of this software system, nor their employing * 12 // * institutes,nor the agencies providing fin 12 // * institutes,nor the agencies providing financial support for this * 13 // * work make any representation or warran 13 // * work make any representation or warranty, express or implied, * 14 // * regarding this software system or assum 14 // * regarding this software system or assume any liability for its * 15 // * use. Please see the license in the file 15 // * use. Please see the license in the file LICENSE and URL above * 16 // * for the full disclaimer and the limitatio 16 // * for the full disclaimer and the limitation of liability. * 17 // * 17 // * * 18 // * This code implementation is the result 18 // * This code implementation is the result of the scientific and * 19 // * technical work of the GEANT4 collaboratio 19 // * technical work of the GEANT4 collaboration. * 20 // * By using, copying, modifying or distri 20 // * By using, copying, modifying or distributing the software (or * 21 // * any work based on the software) you ag 21 // * any work based on the software) you agree to acknowledge its * 22 // * use in resulting scientific publicati 22 // * use in resulting scientific publications, and indicate your * 23 // * acceptance of all terms of the Geant4 Sof 23 // * acceptance of all terms of the Geant4 Software license. * 24 // ******************************************* 24 // ******************************************************************** 25 // 25 // 26 // 26 // >> 27 // $Id$ 27 // 28 // 28 // 29 // 29 // John Allison 15th July 2012 30 // John Allison 15th July 2012 30 // 31 // 31 // Class Description: 32 // Class Description: 32 // 33 // 33 // Model that knows how to draw an arrow. 34 // Model that knows how to draw an arrow. 34 // 35 // 35 // For access to base class information, e.g., 36 // For access to base class information, e.g., modeling parameters, 36 // use GetModelingParameters() inherited from 37 // use GetModelingParameters() inherited from G4VModel. See Class 37 // Description of the base class G4VModel. 38 // Description of the base class G4VModel. 38 39 39 #ifndef G4ARROWMODEL_HH 40 #ifndef G4ARROWMODEL_HH 40 #define G4ARROWMODEL_HH 41 #define G4ARROWMODEL_HH 41 42 42 #include "G4VModel.hh" 43 #include "G4VModel.hh" 43 44 44 class G4Colour; 45 class G4Colour; 45 class G4Polyhedron; 46 class G4Polyhedron; 46 47 47 class G4ArrowModel: public G4VModel { 48 class G4ArrowModel: public G4VModel { 48 49 49 public: // With description 50 public: // With description 50 51 51 G4ArrowModel(G4double x1, G4double y1, G4dou 52 G4ArrowModel(G4double x1, G4double y1, G4double z1, 52 G4double x2, G4double y2, G4double z2 53 G4double x2, G4double y2, G4double z2, 53 G4double width, const G4Colour& colou 54 G4double width, const G4Colour& colour, 54 const G4String& description = "", 55 const G4String& description = "", 55 G4int lineSegmentsPerCircle = 6 << 56 G4int lineSegmentsPerCircle = 6); 56 const G4Transform3D& transform = G4Tr << 57 << 58 virtual ~G4ArrowModel (); 57 virtual ~G4ArrowModel (); 59 58 60 void DescribeYourselfTo (G4VGraphicsScene&) << 59 virtual void DescribeYourselfTo (G4VGraphicsScene&); 61 // The main task of a model is to describe i 60 // The main task of a model is to describe itself to the graphics scene. 62 61 63 private: 62 private: 64 63 65 // Private copy contructor and assignment to 64 // Private copy contructor and assignment to forbid use... 66 G4ArrowModel (const G4ArrowModel&); 65 G4ArrowModel (const G4ArrowModel&); 67 G4ArrowModel& operator = (const G4ArrowModel 66 G4ArrowModel& operator = (const G4ArrowModel&); 68 67 69 G4Polyhedron* fpShaftPolyhedron; 68 G4Polyhedron* fpShaftPolyhedron; 70 G4Polyhedron* fpHeadPolyhedron; 69 G4Polyhedron* fpHeadPolyhedron; 71 G4Transform3D fTransform; << 72 }; 70 }; 73 71 74 #endif 72 #endif 75 73