GUI Design & Operation
coordinates the processing of all operations through a sophisticated Graphical
User Interface (GUI) which is based on the MOTIF widget set. The
1) a Menu
Bar which provides push button access to the I/O and the graphical
display/selection options within the software,
2) a 3D Working
Display in which all graphical rendering is performed,
3) a Structure
tree which provides a hierarchical description/grouping of geometric entities,
4) and a Task
Selection pane through which the user may exercise the modeling
and meshing options offered by the software.
Additionally, a status
bar which contains a progress meter and associated text field is appended to the
bottom of the application window.
and the facilities contained therein are described in greater detail in
later sections of this document.
Bar provides push-button access via a collection of pull-down menus
to the data management functions and graphical controls within the software.
The controls provided within each of the pull-down menus are described
menu activates facilities responsible for data I/O. File types and
their supported formats are selectable from option menus activated within
a displayed dialog window, and point-and-click access to the file system
permits rapid selection of the desired model files.
of any model data, volumes belonging to a valid solid model, and all associated
faces of the solid are identified and introduced into the Structure
tree and are also rendered in the Working
The progress bar and associated status indicator provide
a dynamic indication of the I/O process. Note also that the remaining
menu bar items become sensitized after a successful import.
Data files of
the type specified below may be imported by making the appropriate selection
from the Type options menu displayed within the Open dialog
window. Each supported file type, its description, and a default
file extension are summarized in the table below:
Supported File Types
|| Session restart file containing all application information at the
time of save.
||CAPrI geometry data. Contains ancillary data used by CAPrI (i.e. the assignment of boundaries, etc).
Frequently used to read the geometry kernel data file as well (see software execution.
may assume the extension required by the geometry kernel if model has not been
previously saved (see software execution.)
||Background source specifications for FELISA meshing option
||FELISA surface front. This is typically the contiguous volume shell
used to initiate volume grid generation.Input of this
file is for inspection only and it cannot currently be modified within GridEx.
||FELISA volume grid.Input of this file is for
inspection only and it cannot currently be modified within GridEx.
||FELISA boundary condition assignment file
||A single block unstructured FAST file representing an existing
unstructured surface or volume grid.Input of this file
is for inspection only and the data cannot currently be modified within
|VGRID Sources (v3.3)
||Background source specifications for VGRID meshing option. This
information is scanned from the end of an existing VGRID *.d3m file.
||This option activates a field where the user can enter the name of a
GEOLAB SDK compliant file translator.
provided within the File pull-down menu permit file exporting as
well as program termination.
menu provides facilities to simplify the selection of graphical entities
or objects which are available for display within the Working
Display. Though individual objects may be selected with the mouse,
the selection of a large number of objects may be simplified by using the
facilities present within this pull-down menu. These facilities are
Faces option allows selected faces to be reassigned to other
CAPrI Boundaries. By definition, all faces of an imported solid are
initially tagged as "UnAssigned."
GridEx users can create additional Boundaries and
use this option to populate them with appropriate faces selected
from the same solid. This information can then be preserved for
communication with other applications by writing a new CAPrI file.
CAPrI Boundary data is also saved by the GridEx session
Faces menu entry has an associated cascading menu which permits rapid
selection of all domain faces which are Displayed,
or All currently defined faces. All pertinent objects are
then highlighted in red when subsequently rendered within the Working
Sources menu entry has an associated cascading menu which permits rapid
selection of all sources which are Displayed,
or All currently defined sources. All pertinent sources are
then highlighted in yellow.
The edit menu contains other operations in addition to selection functions.
The Edit Transformation dialog provides the means to apply transformations
to existing volumes (see tutorial).
The Master Model heirarchical menu provides a limited ability to create
new part structures of modified size and feature sets.
If a model part was created as a feature based model, GridEx will expose
the features to allow feature suppression. This yields the creation of
new part structures with unwanted features. Likewise, if a model was
created parametrically, GridEx will expose the parameters to allow creation
of resized part structures.
menu provides facilities to customize both the appearance of the main interface
window in terms of the panes which are displayed as well as the manner
in which a portion of the rendering controls operate; these are essentially
convenience features which will prove useful at various stages of model
development and/or inspection. These controls consist of the following:
Tab, Structure Tree, and Status Bar toggle buttons located
at the top of the pull-down menu permit the activation and/or deactivation
of their associated panes in the main interface window. These controls
can be used to enlarge the Working Display as required. The
Tab toggle controls the display of the Task Selection
pane, the Structure Tree toggle controls the display of the Structure
pane, and the Status Bar toggle controls the display of the progress
bar and adjacent text field.
Dot toggle button in the menu toggles the rendering of a reference
point displayed in the center of the Working Display. This
point serves as a guide for the positioning of the model as all zooming
is centered about this point; any object centered at this point will remain
so during the zooming operation.
Mode toggle is used to provide reduced rendering of only the geometry
outline during dynamic viewing manipulations. When "Quick Mode"
is enabled, the geometry is rendered as an outline with panning,
zooming, or rotation of the view, and is drawn at full fidelity when the
dynamic manipulation is completed.
toggle button switches the viewing mode between the orthographic and perspective
options. Though the perspective transformation more closely mimics
the behavior of the human eye, there are instances in which the orthographic
transformation is useful.
menu entry has an associated cascading menu whose entries toggle the rendering
of the coordinate system axes centered about the Origin (rendered
in yellow), and the Rotation Axes (rendered in red) which the user
may place arbitrarily within the domain. All rotation transformations
on the viewing objects are performed about this latter axis system.
Note that these axis systems are always identically oriented though their
respective origins may differ by a simple translation.
menu entry also has an associated cascading menu whose entries enable the
placement of the Rotation Axes as well as user customization of
the mouse functionality insofar as rotations are concerned.
Selection of the Adjust
Center entry will activate the display of a dialog which will accept
inputs to position the Rotation Axes.
The coordinates of this point may be
specified via slider bars whose operational range is governed by the model
bounding box, or the Pick entry may be pressed to permit interactive
placement of the rotation point on a model surface. In this mode
the user simply positions the cross hair at the desired point and presses
mouse Button 3. Note that the dialog text fields are updated
with the coordinates of this new point. The ability to reposition
the rotation center is particular useful when the visual focus is centered
far from the system origin.
By default, all object
rotations are performed incrementally; that is for each mouse event
or movement, a single, incremental rotation of the rendered objects
will result. The relative magnitude of the mouse movement will be
reflected in the extent of the rotation. Activation of the Spin
Momentum toggle causes the rotation to persist at this initial
rate until a subsequent mouse event alters or cancels the previous
event. Note that such a rotation can be suspended by simply clicking
the stationary mouse within the Working Display.
cascading menu permits the user to toggle between
Flat and Smooth
shading options. This selection, of course, has relevance only when
one or more model surfaces are to be rendered as shaded or analysis
contours. The Flat shading mode is used to render the
associated triangulation as planar facets. The Smooth
shading mode yields a more aesthetically pleasing representation as individual
surface facets are smoothly blended to produce a more "realistic
" view of the model.
The Snap cascading menu permits control of the viewing rotation
increments. Increments of 45 and 90 degrees are available.
Whether or not a snap increment has been set, scene rotations about the rotation axes
are performed by simultaneously pressing the Ctrl+Button1, Ctrl+Button2, or Ctrl+Button3
keys to achieve a rotation about the X-, Y-, or
A selection of other than None "snaps" the view by the selected increment
for each positive/negative
movement of the mouse.
Clipping... entry permits the user to reposition the
clipping planes via slider controls which effectively limits the portion of the
model which is to be displayed.
The clipping planes are necessarily defined in screen space and remain parallel
to the screen regardless of the viewing transformation.
The upper and lower sliders within the dialog permit a translation of the far
and near planes, respectively, and the central slider permits specification of the relative "center."
The final menu
entry, Reset, reinitializes the viewing
transformation and resets the rendering of the objects in the Working
Display. This is useful when the rendered objects are inadvertently
"lost" beyond the confines of the clipping planes during graphical transformation.
that many of the menu entries also have accelerator mnemonics which
enable the user to access or activate particular functions without having
to access the menu via the mouse directly. This time saving device
will likely become attractive as the user gains experience with the software.
menu provides the controls which permit customization of the manner in
which surface objects are rendered. Note, however, that the
selection made here will apply only to those surfaces which have
been selected and thus currently active.
The options provided consist of off, boundary, wireframe,
line, shaded, and
analysis and, with the exception of the last, are self-explanatory.
The shaded option will employ the shading
model as selected from the View menu. The analysis
option is similar to the shaded option though the shading is based
on the variation of a particular scalar quantity defined on the surface
rather than it's orientation to the light source. This quantity
is selected from a series of options provided within the
pull-down menu described below. Lastly, the off option suppresses
the rendering of the selected surface(s).
menu provides a list of options which govern the manner in which the active
surfaces are to be shaded if the analysis mode has been activated within
the Style menu described above.. The options consist of x-normals,
area, and aspect ratio and are again largely self-explanatory.
The rendering of the surfaces in this manner enables a rapid assessment
of the variation of the selected quantity over the surface and may provide
insight as to where additional attention is required in terms of surface
meshing insofar as source distributions are
concerned. The last option, user function, permits the user
to render surfaces based upon a scalar function whose definition has been
hand-coded by the user. This function is not yet implemented.
Display encompasses the graphics window within which all graphical
rendering is performed. All rendering is dynamic in that the results
of certain operations invoked by the user are immediately displayed.
Furthermore, in addition to the basic transformation operations attached
to the mouse, the user may also interact with the collection of displayed
visualization objects to assign surface rendering attributes, select source
elements for parameter redefinition, and perform surface meshing on select
picking, or the selection of one or more displayed objects, can be performed
using the mouse. This is done by simply positioning the cursor over
the desired object, and then pressing mouse Button 3. The
object will become highlighted (red for surfaces, yellow for sources) to
indicate which objects have been selected and placed within the internal
working buffer. If multiple objects are to be selected for simultaneous
processing (as for shading or meshing), simply press and hold the Shift
key while selecting the objects in sequence. Any selected object
may be removed from the pick buffer by simply picking it a second time.
Note that if multiple objects are to be selected, the Shift key
must remain depressed until all objects have been selected otherwise the
paradigm reverts to the single object selection mode. Finally,
all selections may be cleared by selecting NULL space (i.e. no object)
in single selection mode.
transformations within the Working Display consist of panning, zooming,
and rotation operations. Using mouse Button 1, the user may
pan the scene in the direction in which the mouse is moved.
Note that Button 1 must remain depressed while the mouse is
moved. Scene zooming is performed using mouse Button 2
while moving the mouse up or down. Moving the mouse up will zoom
the view out (effectively making the scene smaller), likewise moving the
mouse down will zoom in (scene gets larger). Scene rotation
is performed by using a combination of keyboard modifier keys, mouse
buttons, and mouse movement. Standard rotation is performed by
pressing and holding the Shift key along with mouse Button 1
and moving the mouse. The rotation will be about an axis that is
perpendicular to the direction of mouse movement. This axis is
dynamically updated with changes in mouse movement direction.
The magnitude, direction, and speed of the rotation follow directly
with that of mouse movement. Alternatively, the geometry may be
rotated about its coordinate axes using the Ctrl key in place
of Shift. In this mode, the view will be rotated about a
single geometry axis based on the choice of mouse button. Button
1 is used to rotate about the geometry X-axis, Button 2 for the Y-axis,
and Button 3 for the Z-axis. Again, rotation is directly linked to
mouse movement. Here, the best results are obtained by moving the mouse
in the direction that is "most perpendicular" to the display
of the associated coordinate axis. Also in this mode, the user may
elect to apply a snap to add a defined increment
to each rotation.
under the Edit pull-down menu which have been
previously described permit selection of objects en masse and are often
convenient when groups of objects sharing a common disposition (displayed
or not displayed) are to be selected.
window provides a text-based hierarchical description of the individual
volumes, along with their formative faces, and any associated CAPrI
Boundaries present within the current solid model. Along with the
Volume nodes, the CAPrI Boundary nodes are container nodes that
form branches in the tree hierarchy. General folder
containers may also be created when organizing the Boundaries
and faces of a respective Volume. These three container types
have predefined rules governing their respective children and are summarized
Volume containers can have both Folder and Boundary
Folder containers may have Boundaries and other
Folders as children
Boundaries may only have faces of the parent
Volume as their children
Faces must be parented by a Boundary and may only
be moved to another Boundary container of the same parent
The restrictions listed above regarding the movement of faces are required in order to
maintain the integrity of the solid model.
Graphical objects are associated with each
face node in the tree, and as such may be selected directly from the tree
as well as the Working Display.
In either case, the respective entity in the alternate pane will also be
selected. For entities that have previously turned "Off"
in the Style menu, the Structure window can be
used to reselect the desired entity to again set its style attributes.
Within the tree, mouse Button 1 is used to select the elements.
Note that the Shift modifier can be used with mouse Button 1 to select a range of
"same-parented" entities, and the Ctrl modifier can be
used for individual selection of multiple nodes.
within the tree may also be manipulated using the "tear-off"
popup menu (shown below) activated by simultaneously pressing Ctrl + mouse Button3 within the
Structure Tree pane. This menu
permits the creation and
manipulation of tree container nodes, the movement of faces between
valid Boundaries, and provides quick access to the assignment of
display styles provided within the Style menu.
Master model operations are also accessible from the tear off menu allowing
suppression of features and modification of parameters to be easily accessed.
The sensitivity of the items in the popup will be governed by the type
of node(s) selected based on the rules listed above. Finally,
the "tear-off" nature of this popup allows the menu to be
instantiated as a separate, persistent window for ease of use.
This feature is activated by selecting the dashed line at the top of
the popup. The window can be closed later when no longer needed
and accessed again as a popup as required.
Task Selection Pane
Selection pane provides access to the specific functional modules
offered by the software. A series of "tabs" activate various forms
which are listed below along with a brief description.
tab contains a scrolled window used to relate detailed information to the user. Information written to this window is similar to that which would normally be written by a program to the invoking shell window.
Management tab includes a form used to annotate the current GridEx session. This form is not currently implemented.
tab activates a form which contains utilities focused on the creation
and manipulation of simple geometric primitives that can be used to define
the domain of interest around the model geometry.
Grid tab activates controls which permit the user to prescribe
the desired constraints (relating to element size and location) within the
background grid which are to control the
surface and volume meshing operations.
GridEx supports both
FELISA and VGRID source formulations, and information specific to a given
scheme (i.e. the source definition) is encapsulated on embedded tab-activated
forms. Specification of common information related to the
physical placement of either type of source is unified under a single means
tab activates a form which permits execution of the supported meshing
algorithms for both surface and volume entities. Simply select
the desired surfaces or volume entities, the appropriate meshing
algorithm, along with the desired "Mesh Spacing" algorithm,
and then activate the Face Mesher or Volume Mesher
as appropriate. Run time diagnostics are displayed in the
adjacent scrollable text field. During meshing operations, the
Working Display is available for use, and for surface meshing,
the results are dynamically updated. Sensitivity of the controls
on this form is dictated by the type of target entities selected.
If neither Face nor Volume entities are selected, the
meshing buttons are insensitive. Selection of these entities will
make available the associated controls. Likewise, the Mesh
Spacing options available are determined based on the availability
of respective user specified definitions (see Background Grid
above). Unselecting entities while meshing
multiple Faces will render the currently active Face bright
green, successfully completed Faces white, and failed Faces
tab activates a form used to control the display of "crinkle
cuts" which are useful for inspecting and evaluating the quality of a volume mesh.
These two-dimensional cuts are taken through the interior of the
volume mesh and depict the uncut faces of those volume elements cut by an
associated cutting plane.