Sequence Chart Studio  svn HEAD revision
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Public Member Functions | Static Public Member Functions | Private Attributes | List of all members
BMscGraphDuplicator Class Reference

Duplicates HMsc like it would be BMsc graph. More...

#include <msc_duplicators.h>

Inheritance diagram for BMscGraphDuplicator:
Inheritance graph
Collaboration diagram for BMscGraphDuplicator:
Collaboration graph

Public Member Functions

HMscPtr duplicate_hmsc (HMscPtr &hmsc)
 
 ~BMscGraphDuplicator ()
 
bool get_found_nontransformable_constraint ()
 
- Public Member Functions inherited from Duplicator
virtual ~Duplicator ()
 
MscElement *& get_copy (MscElement *e)
 
SuccessorNodeget_copy (SuccessorNode *s)
 
PredecessorNodeget_copy (PredecessorNode *p)
 
ReferenceNodeget_copy (ReferenceNode *p)
 
HMscget_copy (HMsc *p)
 
BMscget_copy (BMsc *p)
 
Mscget_copy (Msc *p)
 
MscElementPList get_m_modified_elements ()
 
void set_m_modified_elements (MscElementPList elements)
 
void set_copy (MscElement *original, MscElement *copy)
 
void cleanup_attributes ()
 

Static Public Member Functions

static HMscPtr duplicate (HMscPtr &hmsc)
 

Private Attributes

bool found_nontransformable_constraint
 

Additional Inherited Members

- Protected Member Functions inherited from Duplicator
 Duplicator ()
 
- Protected Attributes inherited from Duplicator
MscElementPList m_modified_elements
 

Detailed Description

Duplicates HMsc like it would be BMsc graph.

Result of this duplicator is flattened version of HMsc (BMsc graph) without unreachable HMscNodes and nodes which man isn't able to get to EndNode from.

All ReferenceNodes reference only BMsc, moreover each BMsc is referenced only one time – each BMsc is duplicated too. Kept elements references to its original element via attribute m_original.

Original ReferenceNodes which references HMsc are transformed into ConnectionNodes referencing the ReferenceNode by m_original. StartNodes which don't occur in HMsc to be duplicated are removed. EndNodes of the same kind are transformed into ConnectionNodes referencing original EndNodes.

Definition at line 380 of file msc_duplicators.h.

Constructor & Destructor Documentation

BMscGraphDuplicator::~BMscGraphDuplicator ( )

Definition at line 924 of file msc_duplicators.cpp.

Member Function Documentation

HMscPtr BMscGraphDuplicator::duplicate ( HMscPtr hmsc)
static

Definition at line 918 of file msc_duplicators.cpp.

References duplicate_hmsc().

Referenced by Divine::save_msc().

HMscPtr BMscGraphDuplicator::duplicate_hmsc ( HMscPtr hmsc)
bool BMscGraphDuplicator::get_found_nontransformable_constraint ( )
inline

Member Data Documentation

bool BMscGraphDuplicator::found_nontransformable_constraint
private

Definition at line 383 of file msc_duplicators.h.

Referenced by duplicate_hmsc().


The documentation for this class was generated from the following files:

SourceForge.net Logo
Generated on Fri Jan 15 2016 16:26:57 for Sequence Chart Studio by  doxygen