37#ifndef G4VSCENEHANDLER_HH
38#define G4VSCENEHANDLER_HH
298 template <
class T>
void AddSolidT (
const T& solid);
358 , std::multimap<const G4Material*,const G4ThreeVector>& positionByMaterial
359 , std::map<const G4Material*,NameAndVisAtts>& nameAndVisAttsByMaterial)
362 , fPositionByMaterial(positionByMaterial)
363 , fNameAndVisAttsByMaterial(nameAndVisAttsByMaterial)
367 void AddSolid(
const G4Box&)
override;
368 void ProcessVolume(
const G4VSolid&)
override {
373 std::multimap<const G4Material*,const G4ThreeVector>& fPositionByMaterial;
374 std::map<const G4Material*,NameAndVisAtts>& fNameAndVisAttsByMaterial;
382 , std::multimap<
const G4Material*,std::vector<G4ThreeVector>>& verticesByMaterial
383 , std::map<const G4Material*,NameAndVisAtts>& nameAndVisAttsByMaterial)
386 , fVerticesByMaterial(verticesByMaterial)
387 , fNameAndVisAttsByMaterial(nameAndVisAttsByMaterial)
391 void AddSolid(
const G4VSolid& solid)
override;
392 void ProcessVolume(
const G4VSolid&)
override {
397 std::multimap<const G4Material*,std::vector<G4ThreeVector>>& fVerticesByMaterial;
398 std::map<const G4Material*,NameAndVisAtts>& fNameAndVisAttsByMaterial;
461#include "G4VSceneHandler.icc"
void AddSolid(const G4Box &solid)
PseudoSceneFor3DRectMeshPositions(G4PhysicalVolumeModel *pvModel, const G4Mesh *pMesh, std::multimap< const G4Material *, const G4ThreeVector > &positionByMaterial, std::map< const G4Material *, NameAndVisAtts > &nameAndVisAttsByMaterial)
PseudoSceneForTetVertices(G4PhysicalVolumeModel *pvModel, const G4Mesh *pMesh, std::multimap< const G4Material *, std::vector< G4ThreeVector > > &verticesByMaterial, std::map< const G4Material *, NameAndVisAtts > &nameAndVisAttsByMaterial)
virtual void BeginModeling()
G4int GetNumberOfCloudPoints(const G4VisAttributes *) const
const G4Colour & GetColor(const G4Visible &)
friend std::ostream & operator<<(std::ostream &os, const G4VSceneHandler &s)
G4int GetNoOfSides(const G4VisAttributes *)
virtual void AddPrimitive(const G4Polyhedron &)=0
void DrawTetMeshAsSurfaces(const G4Mesh &)
virtual void ClearTransientStore()
G4bool GetTransientsDrawnThisEvent() const
void SetTransientsDrawnThisRun(G4bool)
void LoadAtts(const G4Visible &, G4AttHolder *)
void DrawEvent(const G4Event *)
G4ModelingParameters * CreateModelingParameters()
const G4Colour & GetTextColour(const G4Text &)
void SetMarkForClearingTransientStore(G4bool)
const G4Colour & GetTextColor(const G4Text &)
G4VModel * GetModel() const
const G4Colour & GetColour()
G4VGraphicsSystem * GetGraphicsSystem() const
void Draw3DRectMeshAsDots(const G4Mesh &)
virtual void AddPrimitive(const G4Circle &)=0
G4double GetMarkerRadius(const G4VMarker &, MarkerSizeType &)
const G4ViewerList & GetViewerList() const
void AddSolidT(const T &solid)
G4bool IsReadyForTransients() const
G4Scene * GetScene() const
G4Transform3D fObjectTransformation
virtual void EndPrimitives()
G4bool fTransientsDrawnThisEvent
G4VViewer * GetCurrentViewer() const
void AddSolidWithAuxiliaryEdges(const T &solid)
G4int IncrementViewCount()
virtual G4DisplacedSolid * CreateSectionSolid()
virtual void AddPrimitive(const G4Text &)=0
G4ViewerList & SetViewerList()
virtual void EndModeling()
const G4int fSceneHandlerId
void SetName(const G4String &)
virtual const G4VisExtent & GetExtent() const
G4int GetSceneHandlerId() const
virtual void ProcessScene()
G4double GetMarkerSize(const G4VMarker &, MarkerSizeType &)
void SetObjectTransformation(const G4Transform3D &)
void SetModel(G4VModel *)
virtual void PreAddSolid(const G4Transform3D &objectTransformation, const G4VisAttributes &)
G4VSceneHandler(G4VGraphicsSystem &system, G4int id, const G4String &name="")
G4bool fTransientsDrawnThisRun
virtual void PostAddSolid()
const G4String & GetName() const
void AddViewerToList(G4VViewer *pView)
void SetTransientsDrawnThisEvent(G4bool)
virtual void EndPrimitives2D()
virtual void SetScene(G4Scene *)
void DrawEndOfRunModels()
G4bool fMarkForClearingTransientStore
const G4Transform3D & GetObjectTransformation() const
const G4VisAttributes * fpVisAttribs
virtual void BeginPrimitives2D(const G4Transform3D &objectTransformation=G4Transform3D())
G4ThreeVector GetPointInBox(const G4ThreeVector &pos, G4double halfX, G4double halfY, G4double halfZ) const
virtual void RequestPrimitives(const G4VSolid &solid)
G4double GetMarkerDiameter(const G4VMarker &, MarkerSizeType &)
virtual void AddPrimitive(const G4Square &)=0
const G4Colour & GetColor()
G4bool fReadyForTransients
G4ViewParameters::DrawingStyle GetDrawingStyle(const G4VisAttributes *)
G4bool GetTransientsDrawnThisRun() const
void RemoveViewerFromList(G4VViewer *pView)
virtual G4DisplacedSolid * CreateCutawaySolid()
void DrawTetMeshAsDots(const G4Mesh &)
virtual void BeginPrimitives(const G4Transform3D &objectTransformation=G4Transform3D())
G4double GetLineWidth(const G4VisAttributes *)
G4ThreeVector GetPointInTet(const std::vector< G4ThreeVector > &vertices) const
G4int GetViewCount() const
G4VGraphicsSystem & fSystem
virtual void AddSolid(const G4Box &)
virtual void ClearStore()
void Draw3DRectMeshAsSurfaces(const G4Mesh &)
void SetCurrentViewer(G4VViewer *)
virtual void AddCompound(const G4VTrajectory &)
virtual ~G4VSceneHandler()
virtual void AddPrimitive(const G4Polyline &)=0
const G4Transform3D fIdentityTransformation
G4bool GetMarkForClearingTransientStore() const
G4bool GetAuxEdgeVisible(const G4VisAttributes *)
void StandardSpecialMeshRendering(const G4Mesh &)
NameAndVisAtts(const G4String &name="", const G4VisAttributes &visAtts=G4VisAttributes())