Geant4-11
Public Member Functions | Data Fields
G4VisCommandSceneAddArrow2D::Arrow2D Struct Reference

Public Member Functions

 Arrow2D (G4double x1, G4double y1, G4double x2, G4double y2, G4double width, const G4Colour &colour)
 
void operator() (G4VGraphicsScene &, const G4ModelingParameters *fpMp)
 

Data Fields

G4Colour fColour
 
G4Polyline fHeadPolyline
 
G4Polyline fShaftPolyline
 
G4double fWidth
 

Detailed Description

Definition at line 67 of file G4VisCommandsSceneAdd.hh.

Constructor & Destructor Documentation

◆ Arrow2D()

G4VisCommandSceneAddArrow2D::Arrow2D::Arrow2D ( G4double  x1,
G4double  y1,
G4double  x2,
G4double  y2,
G4double  width,
const G4Colour colour 
)

Definition at line 225 of file G4VisCommandsSceneAdd.cc.

228 :
229 fWidth(width), fColour(colour)
230{
231 fShaftPolyline.push_back(G4Point3D(x1,y1,0));
232 fShaftPolyline.push_back(G4Point3D(x2,y2,0));
233 G4Vector3D arrowDirection = G4Vector3D(x2-x1,y2-y1,0).unit();
234 G4Vector3D arrowPointLeftDirection(arrowDirection);
235 arrowPointLeftDirection.rotateZ(150.*deg);
236 G4Vector3D arrowPointRightDirection(arrowDirection);
237 arrowPointRightDirection.rotateZ(-150.*deg);
238 fHeadPolyline.push_back(G4Point3D(x2,y2,0)+0.04*arrowPointLeftDirection);
239 fHeadPolyline.push_back(G4Point3D(x2,y2,0));
240 fHeadPolyline.push_back(G4Point3D(x2,y2,0)+0.04*arrowPointRightDirection);
243 va.SetColour(fColour);
246}
HepGeom::Point3D< G4double > G4Point3D
Definition: G4Point3D.hh:34
static constexpr double deg
Definition: G4SIunits.hh:132
HepGeom::Vector3D< G4double > G4Vector3D
Definition: G4Vector3D.hh:34
void SetColour(const G4Colour &)
void SetLineWidth(G4double)
void SetVisAttributes(const G4VisAttributes *)
Definition: G4Visible.cc:96
BasicVector3D< T > unit() const

References deg, fColour, fHeadPolyline, fShaftPolyline, fWidth, HepGeom::BasicVector3D< T >::rotateZ(), G4VisAttributes::SetColour(), G4VisAttributes::SetLineWidth(), G4Visible::SetVisAttributes(), and HepGeom::BasicVector3D< T >::unit().

Member Function Documentation

◆ operator()()

void G4VisCommandSceneAddArrow2D::Arrow2D::operator() ( G4VGraphicsScene sceneHandler,
const G4ModelingParameters fpMp 
)

Definition at line 248 of file G4VisCommandsSceneAdd.cc.

250{
251 sceneHandler.BeginPrimitives2D();
252 sceneHandler.AddPrimitive(fShaftPolyline);
253 sceneHandler.AddPrimitive(fHeadPolyline);
254 sceneHandler.EndPrimitives2D();
255}
virtual void BeginPrimitives2D(const G4Transform3D &objectTransformation=G4Transform3D())=0
virtual void EndPrimitives2D()=0
virtual void AddPrimitive(const G4Polyline &)=0

Field Documentation

◆ fColour

G4Colour G4VisCommandSceneAddArrow2D::Arrow2D::fColour

Definition at line 75 of file G4VisCommandsSceneAdd.hh.

Referenced by Arrow2D().

◆ fHeadPolyline

G4Polyline G4VisCommandSceneAddArrow2D::Arrow2D::fHeadPolyline

Definition at line 73 of file G4VisCommandsSceneAdd.hh.

Referenced by Arrow2D().

◆ fShaftPolyline

G4Polyline G4VisCommandSceneAddArrow2D::Arrow2D::fShaftPolyline

Definition at line 72 of file G4VisCommandsSceneAdd.hh.

Referenced by Arrow2D().

◆ fWidth

G4double G4VisCommandSceneAddArrow2D::Arrow2D::fWidth

Definition at line 74 of file G4VisCommandsSceneAdd.hh.

Referenced by Arrow2D().


The documentation for this struct was generated from the following files: