13 , compensationEventSubProcess(nullptr)
20 if (
auto flowNode = childNode.get()->represents<
FlowNode>(); flowNode ) {
24 else if (
auto activity = flowNode->represents<
Activity>();
33 else if (
auto eventSubProcess = childNode.get()->represents<
EventSubProcess>(); eventSubProcess ) {
38 throw std::logic_error(
"Scope: illegal child node '" + childNode.get()->id +
"'");
42void Scope::add(std::unique_ptr<SequenceFlow> sequenceFlow) {
Base class for BPMN elements that may contain incoming and outgoing sequence flows.
Base class for all nodes in a BPMN model.
std::vector< Activity * > compensationActivities
Vector containing pointers to all compensation activities within the scope.
std::vector< EventSubProcess * > eventSubProcesses
Vector containing pointers to all event subprocesses within the scope of the nodes.
std::vector< FlowNode * > flowNodes
Vector containing pointers to all flow nodes within the scope of the nodes.
Scope(XML::bpmn::tBaseElement *element)
void add(std::unique_ptr< Node > node)
std::vector< std::unique_ptr< SequenceFlow > > sequenceFlows
Vector containing all sequence flows within the scope.
std::vector< std::unique_ptr< DataObject > > dataObjects
Vector containing all data objects within the scope.
std::vector< std::unique_ptr< Node > > childNodes
Vector containing all child nodes within the scope of the nodes.
The BPMN namespace contains linked classes representing a BPMN model.