35 #ifndef STATE_ENGINE_SIMBODY_H 36 #define STATE_ENGINE_SIMBODY_H 39 #define _SILENCE_EXPERIMENTAL_FILESYSTEM_DEPRECATION_WARNING 41 #include "base_data_package.h" 52 #include "SimTKmath.h" 53 #include "SimTKcommon.h" 54 #include "simbody/internal/MultibodySystem.h" 68 void resizeXmlDocForSimbody(
size_t input_size);
82 subsysindex_(
SimTK::InvalidIndex),
83 varindex_(
SimTK::InvalidIndex),
84 sysyindex_(
SimTK::InvalidIndex) {}
87 SimTK::SubsystemIndex subsys,
89 : name_(name), owner_(&owner), subsysindex_(subsys),
90 varindex_(varindex), sysyindex_(
SimTK::InvalidIndex) {}
93 std::string& getName() {
return name_; }
106 subsysindex_ = subsysindx;
110 virtual void setValue(Real value) = 0;
111 virtual Real getDerivative() = 0;
116 SimTK::ReferencePtr<StateEngine> owner_;
121 SimTK::SubsystemIndex subsysindex_;
131 SimTK::SystemYIndex sysyindex_;
148 SimTK::Stage invalidatestage) :
151 SimTK::InvalidIndex),
152 invalidatestage_(
SimTK::Stage::Empty) {}
156 void setValue(Real value)
override;
157 Real getDerivative()
override;
165 SimTK::Stage invalidatestage_;
176 statevariable_(sv), order(order) {}
188 statevariable_.swap(mutableSvi->statevariable_);
195 std::unique_ptr<StateEngine::StateVariable> statevariable_;
227 SimTK::Stage invalidatestage);
243 SimTK::DefaultSystemSubsystem& getDefaultSubsystem()
245 return const_cast<SimTK::DefaultSystemSubsystem&
> 248 SimTK::DefaultSystemSubsystem& updDefaultSubsystem()
267 mutable SimTK::Array_<SimTK::ReferencePtr<StateVariable> >
327 void reporter(SimTK::State& state_);
335 void writeStateInfoToXml(
int ite_rst_,
const SimTK::State& state_);
382 #endif //STATE_ENGINE_SIMBODY_H bool isAllStatesVariablesListValid()
Definition: state_engine.cpp:127
void setVarIndex(int index)
Definition: state_engine.h:102
int & getVarIndex()
Definition: state_engine.h:96
void realizePosition()
Definition: state_engine.cpp:339
StateVariable * traverseToStateVariable(std::string &pathname)
Definition: state_engine.cpp:95
AddedStateVariable()
Definition: state_engine.h:143
SimTK::SubsystemIndex & getSubsysIndex()
Definition: state_engine.h:98
SimTK::ReferencePtr< SimTK::MultibodySystem > mbsystem_
Definition: state_engine.h:276
StateEngine(SimTK::MultibodySystem &system)
Definition: state_engine.cpp:12
StateVariableInfo(const StateVariableInfo &)
Definition: state_engine.h:180
void realizeVelocity()
Definition: state_engine.cpp:344
void realizeTime()
Definition: state_engine.cpp:334
void realizeAcceleration()
Definition: state_engine.cpp:354
void setSubsystemIndex(SimTK::SubsystemIndex &subsysindx)
Definition: state_engine.h:104
StateVariable()
Definition: state_engine.h:81
virtual Real getValue()=0
SimTK::SystemYIndex & getSystemYIndex()
Definition: state_engine.h:100
SimTK::MultibodySystem & updMultibodySystem()
virtual void setDerivative(Real deriv)=0
To hold related info about discrete variables.
Definition: state_engine.h:173
void reporter(SimTK::State &state_)
Definition: state_engine.cpp:211
virtual ~StateEngine()
Definition: state_engine.h:284
void addStateVariable(std::string statevariablename, SimTK::Stage invalidatestage)
Definition: state_engine.cpp:53
Real getValue() override
Definition: state_engine.cpp:168
Array< std::string > getStateVariableNames()
Definition: state_engine.cpp:107
Class for handling state variable added (allocated) by this StateEngine.
Definition: state_engine.h:140
void setDerivative(Real deriv) override
Definition: state_engine.cpp:206
AddedStateVariable(std::string &name, StateEngine &owner, SimTK::Stage invalidatestage)
Definition: state_engine.h:146
void realizeReport()
Definition: state_engine.cpp:359
Definition: state_engine.h:77
A wrapper to provide an ownership for a vector of base class pointers which point to derived objects...
Definition: ownership.h:127
void InitializeState()
Definition: state_engine.cpp:23
SimTK::Array_< SimTK::ReferencePtr< StateVariable > > allstatevariables_
Definition: state_engine.h:268
std::map< std::string, StateVariableInfo > namedstatevariableinfo_
Definition: state_engine.h:262
SimTK::ReferencePtr< SimTK::System > statesassociatedsystem_
Definition: state_engine.h:270
void realizeDynamics()
Definition: state_engine.cpp:349
std::string restart_folder_
Definition: state_engine.h:334
StateVariable(std::string &name, StateEngine &owner, SimTK::SubsystemIndex subsys, int varindex)
Definition: state_engine.h:85
SimTK::State working_state_
Definition: state_engine.h:281
SimTK::Vector getStateVariableValues()
Definition: state_engine.cpp:143
int getNumStateVariablesAddedByEngine()
Definition: state_engine.h:306
SimTK::MultibodySystem & getMultibodySystem()
Definition: state_engine.cpp:48
Definition: xml_engine.h:56
int getNumOfStateVariables()
Definition: state_engine.cpp:122
StateVariableInfo & operator=(const StateVariableInfo &svi)
Definition: state_engine.h:182
SimTK::State readAndSetStateInfoFromXml(int ite_rst_, SimTK::MultibodySystem &system_)
Definition: state_engine.cpp:281
Definition: solid_body_supplementary.cpp:9
Definition: state_engine.h:60