opynsim
Unofficial C++ Documentation
Loading...
Searching...
No Matches
basic_model_state_pair.h
Go to the documentation of this file.
1#pragma once
2
4
6
7#include <filesystem>
8
9namespace OpenSim { class Model; }
10namespace SimTK { class State; }
11
12namespace opyn
13{
14 // an `OpenSim::Model` + `SimTK::State` that is a value type, constructed with:
15 //
16 // - `opyn::Initialize`
17 // - (if creating a new state) `TryEquilibrateMusclesOrLogWarning(model, state)`
18 // - (if creating a new state) `model.realizeDynamics(State&)` / `model.realizeReport(State&)`
19 //
20 // this is a *basic* class that only guarantees the model is *initialized* this way. It
21 // does not guarantee that everything is up-to-date after a caller mutates the model.
23 public:
26 explicit BasicModelStatePair(const std::filesystem::path&);
27 explicit BasicModelStatePair(OpenSim::Model&&);
28 BasicModelStatePair(const OpenSim::Model&, const SimTK::State&);
33 ~BasicModelStatePair() noexcept override;
34
35 private:
36 const OpenSim::Model& implGetModel() const final;
37 const SimTK::State& implGetState() const final;
38
39 float implGetFixupScaleFactor() const final;
40 void implSetFixupScaleFactor(float) final;
41
42 class Impl;
43 osc::ClonePtr<Impl> m_Impl;
44 };
45}
Definition basic_model_state_pair.h:22
BasicModelStatePair(const ModelStatePair &)
const SimTK::State & implGetState() const final
const OpenSim::Model & implGetModel() const final
BasicModelStatePair(const OpenSim::Model &, const SimTK::State &)
void implSetFixupScaleFactor(float) final
BasicModelStatePair(const std::filesystem::path &)
float implGetFixupScaleFactor() const final
BasicModelStatePair(const BasicModelStatePair &)
BasicModelStatePair(OpenSim::Model &&)
BasicModelStatePair(BasicModelStatePair &&) noexcept
Definition model_state_pair.h:19
Definition model.h:26
Definition static_component_registries.h:3
Definition custom_decoration_generator.h:6
Definition component_registry.h:14
Definition custom_decoration_generator.h:5