GoodOldDisplacementPolicy.hpp
1 #pragma once
2 
3 #include <Process/TimeValue.hpp>
4 
5 #include <Scenario/Process/Algorithms/StandardDisplacementPolicy.hpp>
6 
7 #include <score/model/Identifier.hpp>
8 
9 #include <QString>
10 #include <QVector>
11 
12 #include <vector>
13 
14 namespace Scenario
15 {
16 struct ElementsProperties;
17 class TimeSyncModel;
18 class ProcessModel;
20 {
21 public:
22  static void init(
23  Scenario::ProcessModel& scenario,
24  const QVector<Id<TimeSyncModel>>& draggedElements)
25  {
26  }
27 
28  static void computeDisplacement(
29  Scenario::ProcessModel& scenario,
30  const QVector<Id<TimeSyncModel>>& draggedElements, const TimeVal& deltaTime,
31  ElementsProperties& elementsProperties);
32 
33  static void getRelatedTimeSyncs(
34  Scenario::ProcessModel& scenario, const Id<TimeSyncModel>& firstTimeSyncMovedId,
35  std::vector<Id<TimeSyncModel>>& translatedTimeSyncs);
36 
37  static QString name() { return QString{"Old way"}; }
38 
39  template <typename... Args>
40  static void updatePositions(Args&&... args)
41  {
42  CommonDisplacementPolicy::updatePositions(std::forward<Args>(args)...);
43  }
44 
45  template <typename... Args>
46  static void revertPositions(Args&&... args)
47  {
48  CommonDisplacementPolicy::revertPositions(std::forward<Args>(args)...);
49  }
50 };
51 }
Definition: GoodOldDisplacementPolicy.hpp:20
The core hierarchical and temporal process of score.
Definition: ScenarioModel.hpp:37
The id_base_t class.
Definition: Identifier.hpp:57
Main plug-in of score.
Definition: score-plugin-dataflow/Dataflow/PortItem.hpp:14
Definition: dataStructures.hpp:65
Definition: TimeValue.hpp:21