|
|
Visualizing Structure |
The helper first obtains the scope element(s). If the selected model element is not a Visualization then the selected model element is the scope (otherwise the scope is obtained from the Visualization).
The graph is then built by processing the structure of the model browser.
Whitelists and blacklists may be defined to filter the generated content of the graph. If whitelists are used, then blacklists are not (that is you can choose to either ‘include only these elements’ or ‘include all elements except these’).
Lists are defined by the following package-level properties (both the plain list and query variant of each may be used together).
RhapsodyPowerPack.VisualizeStructure.BlackList
RhapsodyPowerPack.VisualizeStructure.BlackListQueries
RhapsodyPowerPack.VisualizeStructure.WhiteList
RhapsodyPowerPack.VisualizeStructure.WhiteListQueries
The BlackList & WhiteList properties may contain a list comma-separated types to include/exclude. These may be base terms such as Actor or new terms such as Block.
The Query properties may contain a comma-separated list of Queries. If these are used, then those queries are executed, and the resulting model elements are included/ excluded. Queries must be specified by their full path which may be easily obtained using the Get Full Path helper.
Visualizations may provide additional filtering (or leave the package level filtering empty and only use Visualization filtering).
When a dependency is encountered during structural processing, the following package level property controls how that dependency is visualized in the graph:
RhapsodyPowerPack.VisualizeStructure.DependencyStrategy
The possible values are:
· Ignore: The Dependency is skipped.
· Visualize Target (default): The Dependency is skipped and only its target appears in the graph.
· Visualize Relation: The Dependency is added to graph, but its target is not.
· Both: Both the Dependency and its target are added to the graph.
A similar property with the same options controls relations such as Compositions (the only difference is that the default for this one is ‘Both’):
RhapsodyPowerPack.VisualizeStructure.RelationStrategy
When diagrams are encountered, they are included in the graph as regular model elements along with their children. This behavior may be controlled using the following property:
RhapsodyPowerPack.VisualizeStructure.DiagramStrategy
The possible values are:
· Owned Elements (default): The child elements of the diagram in the model browser are included in the graph.
· Elements on Diagram: Only the elements on the diagram are added to the graph, child model elements are not.
· Both: Both child elements and diagram elements are added to the graph. Note that not all nodes may be expandable (see Reference Nodes on the main Model Visualizer help page).
If the following property is set to true AND the External Child References menu has been selected (and a second compatible model is available), then the helper will filter the graph to only include elements in scope (with references) that have been changed:
RhapsodyPowerPack.VisualizeReferences.CheckForChangedElements
To perform the check there must be a second Rhapsody instance open with the same model loaded (that is the GUIDs of both models must match). This will typically be a copy of the model or a version of the model in ELM. Not all changes may be detected; these are detailed here: Comparing Model Elements
If change detection is enabled, then the graph displays a banner to that effect:
