45 delete fZAnnotationModel;
48 delete fYAnnotationModel;
51 delete fXAnnotationModel;
65 (x0,y0,z0,length,arrowWidth,
66 colourString,description,withAnnotation,textSize,
76 const G4String& colourString =
"auto";
78 G4bool withAnnotation =
true;
81 (x0,y0,z0,length,arrowWidth,
82 colourString,description,withAnnotation,textSize,
94 fXAxisModel =
nullptr;
95 fXLabelModel =
nullptr;
96 fXAnnotationModel =
nullptr;
97 fYAxisModel =
nullptr;
98 fYLabelModel =
nullptr;
99 fYAnnotationModel =
nullptr;
100 fZAxisModel =
nullptr;
101 fZLabelModel =
nullptr;
102 fZAnnotationModel =
nullptr;
104 fTransform = transform;
110 (x0, x0+length, y0, y0+length, z0, z0+length);
113 G4bool autoColour =
false;
114 if (colourString ==
"auto") autoColour =
true;
118 ed <<
"Colour \"" << colourString
119 <<
"\" not found. Defaulting to white and opaque.";
121 (
"G4AxesModel::G4AxesModel",
127 G4int lineSegmentsPerCircle = 6;
132 (x0, y0, z0, x0+length, y0, z0, arrowWidth,
133 xColour,
"x-axis: " + description,
134 lineSegmentsPerCircle, fTransform);
135 if (withAnnotation) {
139 lmtext.
SetOffset(0.5*textSize,0.5*textSize);
145 amtext.
SetOffset(-1.5*textSize,-1.5*textSize);
148 fXAnnotationModel =
new G4TextModel(amtext,fTransform);
154 (x0, y0, z0, x0, y0+length, z0, arrowWidth,
155 yColour,
"y-axis: " + description,
156 lineSegmentsPerCircle, fTransform);
157 if (withAnnotation) {
161 lmtext.
SetOffset(0.5*textSize,0.5*textSize);
167 amtext.
SetOffset(-1.5*textSize,-1.5*textSize);
170 fYAnnotationModel =
new G4TextModel(amtext,fTransform);
176 (x0, y0, z0, x0, y0, z0+length, arrowWidth,
177 zColour,
"z-axis: " + description,
178 lineSegmentsPerCircle, fTransform);
179 if (withAnnotation) {
183 lmtext.
SetOffset(0.5*textSize,0.5*textSize);
189 amtext.
SetOffset(-1.5*textSize,-1.5*textSize);
192 fZAnnotationModel =
new G4TextModel(amtext,fTransform);
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *description)
std::ostringstream G4ExceptionDescription
HepGeom::Point3D< G4double > G4Point3D
void Construct(G4double x0, G4double y0, G4double z0, G4double length, G4double arrowWidth, const G4String &colourString, const G4String &description, G4bool withAnnotation, G4double textSize, const G4Transform3D &transform)
G4AxesModel(G4double x0, G4double y0, G4double z0, G4double length, G4double arrowWidth=1., const G4String &colourString="auto", const G4String &description="", G4bool withAnnotation=true, G4double textSize=10., const G4Transform3D &transform=G4Transform3D())
void DescribeYourselfTo(G4VGraphicsScene &) override
static G4bool GetColour(const G4String &key, G4Colour &result)
void SetOffset(double dx, double dy)
void SetScreenSize(G4double)
G4String fGlobalDescription
virtual void DescribeYourselfTo(G4VGraphicsScene &)=0
void SetVisAttributes(const G4VisAttributes *)