Geant4 11.1.1
Toolkit for the simulation of the passage of particles through matter
Loading...
Searching...
No Matches
G4VVisCommandGeometrySet Class Reference

#include <G4VisCommandsGeometrySet.hh>

+ Inheritance diagram for G4VVisCommandGeometrySet:

Protected Member Functions

void Set (G4String logVolName, const G4VVisCommandGeometrySetFunction &, G4int requestedDepth)
 
void SetLVVisAtts (G4LogicalVolume *, const G4VVisCommandGeometrySetFunction &, G4int depth, G4int requestedDepth)
 
- Protected Member Functions inherited from G4VVisCommand
void SetViewParameters (G4VViewer *viewer, const G4ViewParameters &viewParams)
 
void RefreshIfRequired (G4VViewer *viewer)
 
void InterpolateViews (G4VViewer *currentViewer, std::vector< G4ViewParameters > viewVector, const G4int nInterpolationPoints=50, const G4int waitTimePerPointmilliseconds=20, const G4String exportString="")
 
void InterpolateToNewView (G4VViewer *currentViewer, const G4ViewParameters &oldVP, const G4ViewParameters &newVP, const G4int nInterpolationPoints=50, const G4int waitTimePerPointmilliseconds=20, const G4String exportString="")
 
void Twinkle (G4VViewer *currentViewer, const G4ViewParameters &baseVP, const std::vector< std::vector< G4PhysicalVolumeModel::G4PhysicalVolumeNodeID > > &paths)
 
const G4StringConvertToColourGuidance ()
 
void ConvertToColour (G4Colour &colour, const G4String &redOrString, G4double green, G4double blue, G4double opacity)
 
G4bool ProvideValueOfUnit (const G4String &where, const G4String &unit, const G4String &category, G4double &value)
 
void CopyCameraParameters (G4ViewParameters &target, const G4ViewParameters &from)
 
void CheckSceneAndNotifyHandlers (G4Scene *=nullptr)
 
G4bool CheckView ()
 
void G4VisCommandsSceneAddUnsuccessful (G4VisManager::Verbosity verbosity)
 
void CopyGuidanceFrom (const G4UIcommand *fromCmd, G4UIcommand *toCmd, G4int startLine=0)
 
void CopyParametersFrom (const G4UIcommand *fromCmd, G4UIcommand *toCmd)
 
void DrawExtent (const G4VisExtent &)
 
- Protected Member Functions inherited from G4UImessenger
G4String ItoS (G4int i)
 
G4String DtoS (G4double a)
 
G4String BtoS (G4bool b)
 
G4int StoI (const G4String &s)
 
G4long StoL (const G4String &s)
 
G4double StoD (const G4String &s)
 
G4bool StoB (G4String s)
 
void AddUIcommand (G4UIcommand *newCommand)
 
void CreateDirectory (const G4String &path, const G4String &dsc, G4bool commandsToBeBroadcasted=true)
 
template<typename T >
T * CreateCommand (const G4String &cname, const G4String &dsc)
 

Additional Inherited Members

- Public Member Functions inherited from G4VVisCommandGeometry
virtual ~G4VVisCommandGeometry ()
 
- Public Member Functions inherited from G4VVisCommand
 G4VVisCommand ()
 
virtual ~G4VVisCommand ()
 
- Public Member Functions inherited from G4UImessenger
 G4UImessenger ()=default
 
 G4UImessenger (const G4String &path, const G4String &dsc, G4bool commandsToBeBroadcasted=true)
 
virtual ~G4UImessenger ()
 
virtual G4String GetCurrentValue (G4UIcommand *command)
 
virtual void SetNewValue (G4UIcommand *command, G4String newValue)
 
G4bool operator== (const G4UImessenger &messenger) const
 
G4bool operator!= (const G4UImessenger &messenger) const
 
G4bool CommandsShouldBeInMaster () const
 
- Static Public Member Functions inherited from G4VVisCommand
static G4VisManagerGetVisManager ()
 
static void SetVisManager (G4VisManager *pVisManager)
 
static const G4ColourGetCurrentTextColour ()
 
- Protected Types inherited from G4VVisCommandGeometry
typedef std::map< G4LogicalVolume *, constG4VisAttributes * >::const_iterator VisAttsMapIterator
 
- Static Protected Member Functions inherited from G4VVisCommand
static G4String ConvertToString (G4double x, G4double y, const char *unitName)
 
static G4bool ConvertToDoublePair (const G4String &paramString, G4double &xval, G4double &yval)
 
- Protected Attributes inherited from G4UImessenger
G4UIdirectorybaseDir = nullptr
 
G4String baseDirName = ""
 
G4bool commandsShouldBeInMaster = false
 
- Static Protected Attributes inherited from G4VVisCommandGeometry
static std::map< G4LogicalVolume *, const G4VisAttributes * > fVisAttsMap
 
- Static Protected Attributes inherited from G4VVisCommand
static G4VisManagerfpVisManager = nullptr
 
static G4int fCurrentArrow3DLineSegmentsPerCircle = 6
 
static G4Colour fCurrentColour = G4Colour::White()
 
static G4double fCurrentLineWidth = 1.
 
static G4Colour fCurrentTextColour = G4Colour::Blue()
 
static G4Text::Layout fCurrentTextLayout = G4Text::left
 
static G4double fCurrentTextSize = 12.
 
static G4PhysicalVolumeModel::TouchableProperties fCurrentTouchableProperties
 
static G4VisExtent fCurrentExtentForField
 
static std::vector< G4PhysicalVolumesSearchScene::FindingsfCurrrentPVFindingsForField
 
static G4bool fThereWasAViewer = false
 
static G4ViewParameters fExistingVP
 

Detailed Description

Definition at line 187 of file G4VisCommandsGeometrySet.hh.

Member Function Documentation

◆ Set()

void G4VVisCommandGeometrySet::Set ( G4String  logVolName,
const G4VVisCommandGeometrySetFunction setFunction,
G4int  requestedDepth 
)
protected

Definition at line 41 of file G4VisCommandsGeometrySet.cc.

45{
48 G4bool found = false;
49 for (std::size_t iLV = 0; iLV < pLVStore->size(); ++iLV ) {
50 G4LogicalVolume* pLV = (*pLVStore)[iLV];
51 const G4String& logVolName = pLV->GetName();
52 if (logVolName == requestedName) found = true;
53 if (requestedName == "all" || logVolName == requestedName) {
54 SetLVVisAtts(pLV, setFunction, 0, requestedDepth);
55 }
56 }
57 if (requestedName != "all" && !found) {
58 if (verbosity >= G4VisManager::errors) {
59 G4warn << "ERROR: Logical volume \"" << requestedName
60 << "\" not found in logical volume store." << G4endl;
61 }
62 return;
63 }
64 // Recalculate extent of any physical volume model in run duration lists
65 for (const auto& scene : fpVisManager->GetSceneList()) {
66 const auto& runDurationModelList = scene->GetRunDurationModelList();
67 for (const auto& sceneModel : runDurationModelList) {
68 auto model = sceneModel.fpModel;
69 auto pvModel = dynamic_cast<G4PhysicalVolumeModel*>(model);
70 if (pvModel) pvModel->CalculateExtent();
71 }
72 // And re-calculate the scene's extent
73 scene->CalculateExtent();
74 }
76 G4UImanager::GetUIpointer()->ApplyCommand("/vis/scene/notifyHandlers");
77 }
78}
#define G4warn
Definition: G4Scene.cc:41
bool G4bool
Definition: G4Types.hh:86
#define G4endl
Definition: G4ios.hh:57
static G4LogicalVolumeStore * GetInstance()
const G4String & GetName() const
G4int ApplyCommand(const char *aCommand)
Definition: G4UImanager.cc:495
static G4UImanager * GetUIpointer()
Definition: G4UImanager.cc:77
void SetLVVisAtts(G4LogicalVolume *, const G4VVisCommandGeometrySetFunction &, G4int depth, G4int requestedDepth)
static G4VisManager * fpVisManager
G4VViewer * GetCurrentViewer() const
const G4SceneList & GetSceneList() const
static Verbosity GetVerbosity()

Referenced by G4VisCommandGeometrySetColour::SetNewValue(), G4VisCommandGeometrySetDaughtersInvisible::SetNewValue(), G4VisCommandGeometrySetForceAuxEdgeVisible::SetNewValue(), G4VisCommandGeometrySetForceCloud::SetNewValue(), G4VisCommandGeometrySetForceSolid::SetNewValue(), G4VisCommandGeometrySetForceLineSegmentsPerCircle::SetNewValue(), G4VisCommandGeometrySetForceWireframe::SetNewValue(), G4VisCommandGeometrySetLineStyle::SetNewValue(), G4VisCommandGeometrySetLineWidth::SetNewValue(), and G4VisCommandGeometrySetVisibility::SetNewValue().

◆ SetLVVisAtts()

void G4VVisCommandGeometrySet::SetLVVisAtts ( G4LogicalVolume pLV,
const G4VVisCommandGeometrySetFunction setFunction,
G4int  depth,
G4int  requestedDepth 
)
protected

Definition at line 80 of file G4VisCommandsGeometrySet.cc.

84{
86 const G4VisAttributes* oldVisAtts = pLV->GetVisAttributes();
87 fVisAttsMap.insert(std::make_pair(pLV,oldVisAtts)); // Store old vis atts.
88 G4VisAttributes* newVisAtts = new G4VisAttributes; // Memory leak!
89 if (oldVisAtts) {
90 *newVisAtts = *oldVisAtts;
91 }
92 setFunction(newVisAtts); // Sets whatever attribute determined by
93 // function object.
94 pLV->SetVisAttributes(newVisAtts);
95 if (verbosity >= G4VisManager::confirmations) {
96 G4cout << "\nLogical Volume \"" << pLV->GetName()
97 << "\": setting vis attributes:";
98 if (oldVisAtts) {
99 G4cout << "\nwas: " << *oldVisAtts;
100 } else {
101 G4cout << "\n(no old attributes)";
102 }
103 G4cout << "\nnow: " << *newVisAtts
104 << G4endl;
105 }
106 if (requestedDepth < 0 || depth < requestedDepth) {
107 G4int nDaughters = (G4int)pLV->GetNoDaughters();
108 for (G4int i = 0; i < nDaughters; ++i) {
110 setFunction, ++depth, requestedDepth);
111 }
112 }
113}
int G4int
Definition: G4Types.hh:85
G4GLOB_DLL std::ostream G4cout
const G4VisAttributes * GetVisAttributes() const
std::size_t GetNoDaughters() const
G4VPhysicalVolume * GetDaughter(const std::size_t i) const
void SetVisAttributes(const G4VisAttributes *pVA)
G4LogicalVolume * GetLogicalVolume() const
static std::map< G4LogicalVolume *, const G4VisAttributes * > fVisAttsMap

Referenced by Set(), SetLVVisAtts(), and G4VisCommandGeometrySetVisibility::SetNewValueOnLV().


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