ebi_objects/conversions/
to_process_tree.rs1use crate::{ActivityKey, ebi_objects::{
2 process_tree::{Node, ProcessTree}, process_tree_markup_language::ProcessTreeMarkupLanguage,
3 stochastic_process_tree::StochasticProcessTree,
4}};
5
6impl From<ProcessTreeMarkupLanguage> for ProcessTree {
7 fn from(value: ProcessTreeMarkupLanguage) -> Self {
8 value.tree
9 }
10}
11
12impl From<StochasticProcessTree> for ProcessTree {
13 fn from(value: StochasticProcessTree) -> Self {
14 Self {
15 activity_key: value.activity_key,
16 tree: value.tree,
17 transition2node: value.transition2node,
18 }
19 }
20}
21
22impl From<(ActivityKey, Vec<Node>)> for ProcessTree {
23 fn from(value: (ActivityKey, Vec<Node>)) -> Self {
24 let mut transition2node = vec![];
25 for (node_index, node) in value.1.iter().enumerate() {
26 match node {
27 Node::Tau | Node::Activity(_) => {
28 transition2node.push(node_index);
29 }
30 Node::Operator(_, _) => {}
31 }
32 }
33
34 Self {
35 activity_key: value.0,
36 tree: value.1,
37 transition2node: transition2node,
38 }
39 }
40}