2 #include <score/tools/std/HashMap.hpp>
4 #include <boost/graph/adjacency_list.hpp>
5 #include <boost/graph/directed_graph.hpp>
9 #include <nano_observer.hpp>
10 #include <score_plugin_scenario_export.h>
18 class ScenarioInterface;
24 using Graph = boost::directed_graph<GraphVertex, GraphEdge>;
43 std::vector<const Scenario::TimeSyncModel*> syncs;
44 std::vector<const Scenario::IntervalModel*> intervals;
51 std::vector<TimenodeGraphConnectedComponent> comps;
62 ,
public Nano::Observer
66 const Graph& graph()
const {
return m_graph; }
67 const auto& edges()
const {
return m_edges; }
68 const auto& vertices()
const {
return m_vertices; }
73 bool hasCycles()
const noexcept;
88 score::hash_map<const Scenario::TimeSyncModel*, Graph::vertex_descriptor> m_vertices;
89 score::hash_map<const Scenario::IntervalModel*, Graph::edge_descriptor> m_edges;
Definition: EventModel.hpp:36
Definition: IntervalModel.hpp:50
The core hierarchical and temporal process of score.
Definition: ScenarioModel.hpp:37
Definition: StateModel.hpp:63
Definition: TimeSyncModel.hpp:34
Main plug-in of score.
Definition: score-plugin-dataflow/Dataflow/PortItem.hpp:14
Definition: score-plugin-scenario/Scenario/Document/Graph.hpp:49
A directed graph of all the TimeSyncs in a ScenarioInterface.
Definition: score-plugin-scenario/Scenario/Document/Graph.hpp:42
Definition: score-plugin-scenario/Scenario/Document/Graph.hpp:63