Itasca C++ Interface
iglobals.h
Go to the documentation of this file.
1 #pragma once
7 #include "dim.h"
8 
9 #include "shared/interface/signal.h"
10 
11 namespace itascaxd {
12  class IContainerContact;
13  class IContact;
14 
16 
20  class IGlobals {
21  public:
22  shared::Signal<double> timestepChanged;
23  shared::Signal<uint64> totalCyclesChanged;
24  shared::Signal<uint64> superCyclesChanged;
25  shared::Signal<DVect> gravityChanged;
26  shared::Signal<uint32> threadsChanged;
27  shared::Signal<bool> orientTrackingChanged;
28  shared::Signal<bool> determinismChanged;
29  shared::Signal<bool> configuredForPluginsChanged;
30  shared::Signal<double> factorOfSafetyTolChanged;
31  shared::Signal<double> factorOfSafetyChanged;
32  shared::Signal<bool> deterministicDefaultChanged;
33  shared::Signal<bool> compressFilesChanged;
34  shared::Signal<bool> savePluginsChanged;
35  shared::Signal<bool> showInBrowserChanged;
36  shared::Signal<uint32> precisionChanged;
37  shared::Signal<uint32> precisionDefaultChanged;
38  shared::Signal<bool> detectionStateChanged;
39  shared::Signal<bool> largeStrainChanged;
40  shared::Signal<bool> useDeterminismChanged;
41  shared::Signal<bool> configuredForSecureInputChanged;
42  shared::Signal<bool> internalUseOnlyChanged;
43  shared::Signal<bool> clusterChanged;
44  shared::Signal<> updateIndicated; // Signal sent when some module thinks a "large strain update" or "geometry update" needs
45  // to happen. Receivers who use such a system should set a flag to indicate that
46  // these need to be recalculated at the start of the next cycle.
50  virtual double getTimestep() const=0;
52  virtual uint64 getTotalCycles() const=0;
54  virtual DVect getGravity() const=0;
56  virtual uint32 getThreads() const=0;
58  virtual bool getOrientTracking() const=0;
60  virtual bool getDeterministic() const=0;
61 
62  virtual double getFactorOfSafetyTol() const=0;
64  virtual double getFactorOfSafety() const=0;
66  virtual bool getDeterministicDefault() const=0;
68  virtual bool getCompressFiles() const=0;
70  virtual bool getSavePlugins() const=0;
72  virtual bool getShowInBrowser() const=0;
74  virtual uint32 getPrecisionDefault() const = 0;
76  virtual uint32 getPrecision() const = 0;
78  virtual uint32 getDimension() const = 0;
80  virtual bool getDetectionState() const = 0;
81  // Get the large strain state
82  virtual bool getLargeStrain() const=0;
83  virtual bool getUseDeterminism() const=0;
84  // Get simple saturation state
85  virtual bool getSimpleSaturation() const = 0;
86 
87  // SLOTS
89  virtual void setGravity(const DVect &v)=0;
91  virtual void setThreads(uint32 i)=0;
93  virtual void setOrientTracking(bool b)=0;
95  virtual void setDeterministic(bool b)=0;
97  virtual void setDeterministicDefault(bool b)=0;
99  virtual void setCompressFiles(bool b)=0;
101  virtual void setSavePlugins(bool b)=0;
103  virtual void setShowInBrowser(bool b)=0;
105  virtual void setPrecisionDefault(int i)=0;
107  virtual void setPrecision(int i)=0;
109  virtual void setDetectionState(bool)= 0;
110  // Set the large strain state
111  virtual void setLargeStrain(bool)=0;
112  // Set simple saturation
113  virtual void setSimpleSaturation(bool) = 0;
114 
115  };
116 } // namespace itascaxd
117 // EOF
Interface to modele global settings.
Definition: iglobals.h:20
virtual uint32 getThreads() const =0
Returns the target number of threads to be used by default in multithreaded computations.
virtual bool getDeterministic() const =0
Returns the boolean indicating whether or not deterministic mode is enabled.
virtual void setOrientTracking(bool b)=0
Sets the orientation tracking state.
virtual uint64 getTotalCycles() const =0
Returns the total number of cycles.
virtual uint32 getPrecisionDefault() const =0
Get the precision for printing.
virtual bool getCompressFiles() const =0
Whether new save files should be compressed.
virtual void setCompressFiles(bool b)=0
Sets whether new save files get compressed.
virtual void setDetectionState(bool)=0
Set the contact detection state.
virtual double getTimestep() const =0
Returns the timestep.
virtual bool getDetectionState() const =0
Get the contact detection state.
virtual bool getShowInBrowser() const =0
Whether help is shown in defaul browser.
virtual bool getOrientTracking() const =0
Returns the boolean indicating whether or not orientation tracking is enabled.
virtual void setGravity(const DVect &v)=0
Sets the gravitational-acceleration vector.
virtual void setThreads(uint32 i)=0
Sets the target number of processors to be used by default in multithreaded computations.
virtual DVect getGravity() const =0
Returns the gravitational-acceleration vector.
virtual void setShowInBrowser(bool b)=0
Sets whether help is shown in browser.
virtual bool getSavePlugins() const =0
Whether plugins are saved with the project.
virtual bool getDeterministicDefault() const =0
Whether determinism defaults to on or off on model reset.
virtual void setSavePlugins(bool b)=0
Sets whether saving plugins with the project is on or off.
virtual double getFactorOfSafety() const =0
Last calculated mechanical factor-of-safety.
virtual void setDeterministic(bool b)=0
Sets the deterministic mode state.
virtual uint32 getPrecision() const =0
Get the precision for printing.
virtual uint32 getDimension() const =0
Get the dimensionality of the code.
virtual void setPrecision(int i)=0
Set the precision for printing.
virtual void setPrecisionDefault(int i)=0
Set the default precision for printing.
virtual void setDeterministicDefault(bool b)=0
Sets whether determinism os on or off on model reset.
DIM - Provides code portability between 2D and 3D codes.
DVect3 DVect
Vector of doubles, either 2D or 3D.
Definition: dim.h:150
Itasca Library standard namespace, specific to 2D or 3D.
Definition: icontactmodule.h:4