windowSA.h 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. #include "SemanticAdaptation.h"
  2. #include <memory>
  3. #include "Fmu.h"
  4. using namespace std;
  5. using namespace fmi2;
  6. namespace adaptation
  7. {
  8. class WindowSA : public SemanticAdaptation<WindowSA>{
  9. public:
  10. WindowSA(shared_ptr<string> resourceLocation);
  11. virtual ~WindowSA();
  12. void setFmiValue(fmi2ValueReference id, int value);
  13. void setFmiValue(fmi2ValueReference id, bool value);
  14. void setFmiValue(fmi2ValueReference id, double value);
  15. int getFmiValueInteger(fmi2ValueReference id);
  16. bool getFmiValueBoolean(fmi2ValueReference id);
  17. double getFmiValueDouble(fmi2ValueReference id);
  18. private:
  19. WindowSA* getRuleThis();
  20. /*in rules*/
  21. bool in_rule_condition1();
  22. void in_rule_body1();
  23. void in_rule_flush1();
  24. bool in_rule_condition2();
  25. void in_rule_body2();
  26. void in_rule_flush2();
  27. bool in_rule_condition3();
  28. void in_rule_body3();
  29. void in_rule_flush3();
  30. shared_ptr<list<Rule<WindowSA>>> createInputRules();
  31. /*out rules*/
  32. bool out_rule_condition1();
  33. void out_rule_body1();
  34. void out_rule_flush1();
  35. bool out_rule_condition2();
  36. void out_rule_body2();
  37. void out_rule_flush2();
  38. shared_ptr<list<Rule<WindowSA>>> createOutputRules();
  39. void executeInternalControlFlow(double h, double dt);
  40. shared_ptr<FmuComponent> window;
  41. double disp;
  42. double displacement;
  43. bool isSetdisplacement;
  44. double friction;
  45. double reaction_force;
  46. bool isSetreaction_force;
  47. double speed;
  48. bool isSetspeed;
  49. double tau;
  50. double v;
  51. double b;
  52. double r;
  53. double stored_window_reaction_torque;
  54. double stored_window_height;
  55. double stored_windowsa_reaction_force;
  56. double stored_windowsa_displacement;
  57. double stored_windowsa_speed;
  58. }
  59. }