Geant4 11.4.0
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 (const 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, const 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 LtoS (G4long l)
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 (const 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 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
static G4SceneTreeItem fExistingSceneTree

Detailed Description

Definition at line 187 of file G4VisCommandsGeometrySet.hh.

Member Function Documentation

◆ Set()

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

Definition at line 41 of file G4VisCommandsGeometrySet.cc.

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

Referenced by G4VisCommandGeometrySetColour::SetNewValue(), G4VisCommandGeometrySetDaughtersInvisible::SetNewValue(), G4VisCommandGeometrySetForceAuxEdgeVisible::SetNewValue(), G4VisCommandGeometrySetForceCloud::SetNewValue(), G4VisCommandGeometrySetForceLineSegmentsPerCircle::SetNewValue(), G4VisCommandGeometrySetForceSolid::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 79 of file G4VisCommandsGeometrySet.cc.

83{
84 G4VisManager::Verbosity verbosity = fpVisManager->GetVerbosity();
85 const G4VisAttributes* oldVisAtts = pLV->GetVisAttributes();
86 fVisAttsMap.insert(std::make_pair(pLV,oldVisAtts)); // Store old vis atts.
87 G4VisAttributes* newVisAtts = new G4VisAttributes; // Memory leak!
88 if (oldVisAtts) {
89 *newVisAtts = *oldVisAtts;
90 }
91 setFunction(newVisAtts); // Sets whatever attribute determined by
92 // function object.
93 pLV->SetVisAttributes(newVisAtts);
94 if (verbosity >= G4VisManager::confirmations) {
95 G4cout << "\nLogical Volume \"" << pLV->GetName()
96 << "\": setting vis attributes:";
97 if (oldVisAtts) {
98 G4cout << "\nwas: " << *oldVisAtts;
99 } else {
100 G4cout << "\n(no old attributes)";
101 }
102 G4cout << "\nnow: " << *newVisAtts
103 << G4endl;
104 }
105 if (requestedDepth < 0 || depth < requestedDepth) {
106 G4int nDaughters = (G4int)pLV->GetNoDaughters();
107 for (G4int i = 0; i < nDaughters; ++i) {
109 setFunction, ++depth, requestedDepth);
110 }
111 }
112}
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)
const G4String & GetName() const
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: