DynamicLayout

MacroModule
author Christian Schumann
package FMEstable/ReleaseMeVis
definition DynamicLayout.def
see also View2D, View3D, OrthoView2D
keywords view, visualization, hangig

Purpose

Macro that creates a layout using an mdl file and embeds viewers found in the connected inventor graph.

Usage

  • Specify mdl file containing the layout
  • Connect a graph that conatins SoRenderAreas that are named like the viewers in the MDL file

Details

A SoRenderArea with the name “view1” is referenced by the MDL as follows:

Viewer view1.self {
  name = view1
  type = SoRenderArea
}

The macro uses a DynamicFrame control to realize the MDL described layout. Then it searches for the render area and instanciates an internal macro of the same name which is then found by the layout.

Input Fields

inScene

name: inScene, type: SoNode

Input inventor scene. This should contain the SoRenderAreas that are referenced by the used layout.

Output Fields

outKeyEvent

name: outKeyEvent, type: MLBase

Dictionary conatining the event dictionary (key event), the MLABEventFilterControl (key control) and the QT event (key qevent).

Parameter Fields

Field Index

Layout MDLFile: String
updateLayout: Trigger
updateViews: Trigger
views: String
viewUnderMouse: String
viewUnderMouseOnMouseButtonPressed: String

Visible Fields

Layout MDLFile

name: layoutMDLFile, type: String

Path to a MDL file describing the layout.

Hidden Fields

updateLayout

name: updateLayout, type: Trigger

Update the layout based on layoutMDLFile

updateViews

name: updateViews, type: Trigger

Update the views without refreshing the layout. Use this after external RenderAreas have been renamed, for example.

views

name: views, type: String, persistent: no

Outputs the viewers that wre found in the loadad layout

viewUnderMouse

name: viewUnderMouse, type: String, persistent: no

Outputs the viewer that is under the mouse

viewUnderMouseOnMouseButtonPressed

name: viewUnderMouseOnMouseButtonPressed, type: String, persistent: no

Outputs the viewer that is under the mouse while a mouse button is pressed