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

#include <G4VisCommandsSceneAdd.hh>

Inheritance diagram for G4VisCommandSceneAddExtent:

Public Member Functions

 G4VisCommandSceneAddExtent ()
virtual ~G4VisCommandSceneAddExtent ()
G4String GetCurrentValue (G4UIcommand *command)
void SetNewValue (G4UIcommand *command, G4String newValue)
Public Member Functions inherited from G4VVisCommandScene
 G4VVisCommandScene ()
virtual ~G4VVisCommandScene ()
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 ()
G4bool CommandsShouldBeInMaster () const

Additional Inherited Members

Static Public Member Functions inherited from G4VVisCommand
static G4VisManagerGetVisManager ()
static void SetVisManager (G4VisManager *pVisManager)
static const G4ColourGetCurrentTextColour ()
Protected Member Functions inherited from G4VVisCommandScene
G4String CurrentSceneName ()
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)
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 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 173 of file G4VisCommandsSceneAdd.hh.

Constructor & Destructor Documentation

◆ G4VisCommandSceneAddExtent()

G4VisCommandSceneAddExtent::G4VisCommandSceneAddExtent ( )

Definition at line 829 of file G4VisCommandsSceneAdd.cc.

829 {
830 fpCommand = new G4UIcommand("/vis/scene/add/extent", this);
831 fpCommand -> SetGuidance
832 ("Adds a dummy model with given extent to the current scene."
833 "\nRequires the limits: xmin, xmax, ymin, ymax, zmin, zmax unit."
834 "\nThis can be used to provide an extent to the scene even if"
835 "\nno other models with extent are available. For example,"
836 "\neven if there is no geometry. In that case, for example:"
837 "\n /vis/open OGL"
838 "\n /vis/scene/create"
839 "\n /vis/scene/add/extent -300 300 -300 300 -300 300 cm"
840 "\n /vis/sceneHandler/attach");
841 G4bool omitable;
842 G4UIparameter* parameter;
843 parameter = new G4UIparameter ("xmin", 'd', omitable = true);
844 parameter -> SetDefaultValue (0.);
845 fpCommand -> SetParameter (parameter);
846 parameter = new G4UIparameter ("xmax", 'd', omitable = true);
847 parameter -> SetDefaultValue (0.);
848 fpCommand -> SetParameter (parameter);
849 parameter = new G4UIparameter ("ymin", 'd', omitable = true);
850 parameter -> SetDefaultValue (0.);
851 fpCommand -> SetParameter (parameter);
852 parameter = new G4UIparameter ("ymax", 'd', omitable = true);
853 parameter -> SetDefaultValue (0.);
854 fpCommand -> SetParameter (parameter);
855 parameter = new G4UIparameter ("zmin", 'd', omitable = true);
856 parameter -> SetDefaultValue (0.);
857 fpCommand -> SetParameter (parameter);
858 parameter = new G4UIparameter ("zmax", 'd', omitable = true);
859 parameter -> SetDefaultValue (0.);
860 fpCommand -> SetParameter (parameter);
861 parameter = new G4UIparameter ("unit", 's', omitable = true);
862 parameter -> SetDefaultValue ("m");
863 fpCommand -> SetParameter (parameter);
864}
bool G4bool
Definition G4Types.hh:86

◆ ~G4VisCommandSceneAddExtent()

G4VisCommandSceneAddExtent::~G4VisCommandSceneAddExtent ( )
virtual

Definition at line 866 of file G4VisCommandsSceneAdd.cc.

866 {
867 delete fpCommand;
868}

Member Function Documentation

◆ GetCurrentValue()

G4String G4VisCommandSceneAddExtent::GetCurrentValue ( G4UIcommand * command)
virtual

Reimplemented from G4UImessenger.

Definition at line 870 of file G4VisCommandsSceneAdd.cc.

870 {
871 return "";
872}

◆ SetNewValue()

void G4VisCommandSceneAddExtent::SetNewValue ( G4UIcommand * command,
G4String newValue )
virtual

Reimplemented from G4UImessenger.

Definition at line 874 of file G4VisCommandsSceneAdd.cc.

875{
876 G4VisManager::Verbosity verbosity = fpVisManager->GetVerbosity();
877 G4bool warn(verbosity >= G4VisManager::warnings);
878
879 G4Scene* pScene = fpVisManager->GetCurrentScene();
880 if (!pScene) {
881 if (verbosity >= G4VisManager::errors) {
882 G4warn << "ERROR: No current scene. Please create one." << G4endl;
883 }
884 return;
885 }
886
887 G4double xmin, xmax, ymin, ymax, zmin, zmax;
888 G4String unitString;
889 std::istringstream is(newValue);
890 is >> xmin >> xmax >> ymin >> ymax >> zmin >> zmax >> unitString;
891 G4double unit = G4UIcommand::ValueOf(unitString);
892 xmin *= unit; xmax *= unit;
893 ymin *= unit; ymax *= unit;
894 zmin *= unit; zmax *= unit;
895
896 G4VisExtent visExtent(xmin, xmax, ymin, ymax, zmin, zmax);
897 Extent* extent = new Extent(xmin, xmax, ymin, ymax, zmin, zmax);
898 G4VModel* model =
899 new G4CallbackModel<G4VisCommandSceneAddExtent::Extent>(extent);
900 model->SetType("Extent");
901 model->SetGlobalTag("Extent");
902 model->SetGlobalDescription("Extent: " + newValue);
903 model->SetExtent(visExtent);
904 const G4String& currentSceneName = pScene -> GetName ();
905 G4bool successful = pScene -> AddRunDurationModel (model, warn);
906 if (successful) {
907 if (verbosity >= G4VisManager::confirmations) {
908 G4cout << "A benign model with extent "
909 << visExtent
910 << " has been added to scene \""
911 << currentSceneName << "\"."
912 << G4endl;
913 }
914 }
915 else G4VisCommandsSceneAddUnsuccessful(verbosity);
916
918}
#define G4warn
Definition G4Scene.cc:41
double G4double
Definition G4Types.hh:83
#define G4endl
Definition G4ios.hh:67
G4GLOB_DLL std::ostream G4cout
static G4double ValueOf(const char *unitName)
void SetType(const G4String &)
void SetGlobalDescription(const G4String &)
void SetGlobalTag(const G4String &)
void SetExtent(const G4VisExtent &)
void G4VisCommandsSceneAddUnsuccessful(G4VisManager::Verbosity verbosity)
void CheckSceneAndNotifyHandlers(G4Scene *=nullptr)
static G4VisManager * fpVisManager

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