Model Builder Application Release Notes

Version 1.7.1

Model Builder

Added Features

Fixed Bugs

Simulation Builder

Added Features

Fixed Bugs

Version 1.6.4

Model Builder

Added Features

Fixed Bugs

Simulation Builder

Added Features

Fixed Bugs

Version 1.6.3

Simulation Builder

Fixed Bugs

Version 1.6.2

Model Builder

Added Features

Fixed Bugs

Simulation Builder

Added Features

Version 1.6.1

Simulation Builder

Fixed Bugs

Version 1.6.0

Model Builder

Added Features

Fixed Bugs

Simulation Builder:

Added Features

Fixed Bugs

Version 1.5.0

Model Builder

Added Features

Fixed Bugs

Simulation Builder:

Added Features

Fixed Bugs

Version 1.3.5

Model Builder:

Added Features

Fixed Bugs

Simulation Builder:

Added Features

Fixed Bugs

Version 1.3.4

Simulation Builder:

Added Features

Fixed Bugs

Version 1.3.3

Model Builder

Added Features

Simulation Builder:

Added Features

Fixed Bugs

Version 1.3.2

Added Features

Version 1.3.1

Added Features

Fixed Bugs:

Version 1.3.0

Added Features

Version 1.2.2

Fixed Bugs

Version 1.2.1

Added Features

Fixed Bugs

Version 1.0.0

Added Features

Fixed Bugs

Version 0.3.3

* Fixed Bugs:
BUG: Unique persistent ids weren't unique, thus was some issue moving shells from
one material to another (probably were other symptoms)
* Two-sided coloring for "multi-material" when coloring by shell or material
* CMB file version increased to 3 (but still read version 2)

Version 0.3.2

* Fixed Bugs:
BUG: coloring of individual objects and also by all faces / regions / materials
BUG: Node selection bug when creating a new node group node
BUG: "Zoom to Selection" not working for nodal group selection
BUG: Previous release broke ability to read poly files into CMB
BUG: Insufficient point precision when writing BCS file
BUG: If meshing failed, meshing option wasn't reenabled
* Filter added to make sure all normals are pointing out (on per region basis)
when importing data
* Shell/region completion added (right now only used when building the model from
mesh output in SceneGen)
* "Point Inside" computed during building of the model, whether in SceneGen after
computing the mesh or after importing a 3dm or sol file

Version 0.3.1

* Duplicate faces of solid (*.sol) files are merged (and degenerate polygons are converted to lines)
* Concave polygons in *.poly files are triangulated for correct rendering
* Support for nodal groups
* Multi-material support for 3dm files

Version 0.3.0

* New "model-centric" version of CMB

Version 0.2.8

* Added the ability to read solid files

Version 0.2.7

* Background color can be changed

Version 0.2.6

* Fixed the material hardcode problem in Omicron mesher

Version 0.2.5

* Added continued Grow-Merge and Grow-Remove functionality.
* Added a new filter to extract interior boundaries.
* Fixed Bugs:
BUG: Fixed issues with modifying transformation properties from display editor for multiple selection.
BUG: Fixed problem with VTK filters not properly cleaning up after each excecute.

Version 0.2.4

* Added an checkBox to allow user enable/disable sorting by column in CMB trees.
* Converted preview dialog to be non-modal.
* Allow the user to specify a Omicron "model" file to add PointInside info to the current CMB data,
if the CMB data doesn't contain the PointInside info required to run the volume mesher.
* Fixed Bugs:
BUG: [6446] Adjust real estate on Face Inspector.
BUG: [6454] problems with coloring objects.
BUG: [6445] Highlight BC set when added in CMB;
Same behavior is also added when adding new Material node.
BUG: [6444] CMB ability to rearrange BC Groups
BUG: [6443] Move "Spawn Volume Mesher" from File menu to Tool menu in CMB
BUG: [6447] Change icons for "do not accept" button and "accept" button of "Grow" toolbar in CMB.
BUG: [6448] Move "Zoom on Selection" button in CMB to bottom of the panel.

Version 0.2.3

* Added "Zoom on Selection" button in CMB.
* Changed the Selection of a model face to use "InsideOut" property of SelectionSource
to select all the facets on the face, which improves selection performance.
* Fixed problem with incorrect number of regions in Omicron Volume mesher input file
* Fixed issues with incorrect Material IDs in Omicron Volume mesher input file
* Added logic to automatically write out a bcs file when generating Omicron input file,
and use this bcs file name in the Omicron input file, instead of the closed shell file name.
* Added the functionality to have shells include a translation point in CMB file.
* Added PointInside info to CMB file written from SceneGen such that executing
Omicron "mesh" in CMB doesn't require the omicron "model" input file.
* Added a (volume) meshing dialog in CMB similar to SceneGen's surface meshing dialog.
* Added logic to see if the CMB data has the PointsInside info,
which is required to generate input for Omicron ("mesh")...
if not, disable both "Generate Omicron Input" and "Spawn Volume Mesher".
NOTE: In the future, We should/will load PointsInside info from "model" input file
if they are not present.

Version 0.2.2

* Modified drag-drop behavior on the Trees in CMB so that they behave more consistently.
* Fixed some issues with *Grow* operation related Toolbar button update.
* Fixed the "Color" problem when reorganizing the tree. [Mantis Bug 0006403]
* Changed the display NOT to reset the camera when visibility of model faces are changed.
* Added new 32x32 icons for toolbars and updated the GUI to use these new icons.
* Removed some resetCamera calls, so that the display does not look very "jumpy",
especially for mesh-facet-picking and grow.

* Fixed problem with using the internal meshers.

Version 0.2.1

* Fixed "flickering" in the display panel when the selection is changed.
* Fixed issues with the display panel when a file is closed and another is loaded.
* Fixed some cmb file-reading backward compatibility issues.
* Fixed the model face selection process - it was always missing cell 0.
* Fixed issue with clearing the selection based on growing.

Version 0.2.0

1. There is now the ability to export the Boundary Condition information. The file is in XML format with
descriptions included. The data that is stored is:
* node locations
* mesh facets with the number of nodes, the mesh facet's model face, and the node Ids
* model faces with the model face's shell Id and user specified name
* boundary conditions with a user specified name and Id, type (currently only face but point type in the future) and the model face Ids that the BC is applied over
* materials with specified user name and Id
* shells with User specified name and material of the shell
Note that all objects are ordered implicitly starting from zero.

2. Grow

2.1 There is a toolbar with three buttons (Grow, Clear-Grow, Accept-Grow) and a spinbox for changing Angles.
* Grow-button is used to start a grow-selection from a mesh facet based on the angle in the spinbox.
After click the grow button in the toolbar, the Mouse cursor will become a "Pointing Hand" to indicate that
we are in "Grow" mode. When we are in this mode, the regular selection toolbar is disabled,
and the selection from the trees is also disabled. To get back to the regular selection mode, we need to either
Clear-Grow or Accept-Grow, or uncheck the Grow-button.
* Accept-Grow will create a new BC with the grow-selection, which includes subdividing model faces if necessary, and
create a new BC with the selected model faces.
* Clear-Grow will clear the current grow selection without generateing new BCS.
2.2 If Ctrl-Key is down, we can select/deselect individual mesh facets, to edit a current grow-selection,
or to create a brand new selection from scratch by picking or rubber-banding mesh facets.

***!!! Note: For each picking/grow operation, a click on Grow-button is required. !!!***

3. Merge

* Model faces belong to the same shell can be merged together.

Version 0.1.7

(A major upgrade from previous versions)

1. Input

1.1 Supported formats: "CMB files (*.cmb);;VTK data files (*.vtk *.vtu);;Solids (*.2dm)"

2. Object Viewing and Properties Modification

2.1 There are two tree widgets in the "Property" tab of the left GUI panel. The top tree is set up by hierarchy
Material->Shell->Model Face (MF), in which the MF is the basic *object* that all CMB operations
will operate on. The tree hierarchy can be reorganized by dragging and dropping with certain contraints.
The bottom tree is for creating/viewing/modifying boundary conditions (BC). Again drag-n-drop can be used here too
to reorganize or create new BCs. You can even drag items from the top tree into the bottom tree to create BCs.
2.2 There is a visibility column in both trees, which can be used to control visibility of different objects.
2.3 Material and Shell names can be modified by editing directly in the top tree, and BC names can be modified
directly by editing text in the bottom tree.
2.4 MFs can be split by changing the feature angles of selected MFs.
2.5 A one-step "Reset State" can reverse the modifications of Material/Shell/BC names, BCs and MFs to
the last saved state created by "Save State"

3. Display

3.1 There are many display related properties that can be modified from the "Display" tab of the left GUI panel,
such as changing the representation style, doing transformation, modifying lighting, edge style and annotation etc.
If there is no MF selected in the scene, the changes of display properties will be applied to all
MFs; if there are selected MFs, the changes will be applied only to those selected faces.
3.2 There are also toolbar buttons to modify camera view direction, colorby classification (Matererial,
Shell, MF, BC). The "Set color button" in the toolbar can change the solid color for those selected MFs.
3.3 Known issue. We need to work out how to preserve/modify/display colors that are saved in the CMB file.

4. Selection

4.1 A rubber band style selection (mousedown-n-drag or just click) is offered with a toolbar button. All the
visible MFs within the rubber band boundary will be selected. If the Shift-Key is down while doing the
rubber-band-selection, the previous selections will NOT be cleared, and the new selections are appended to
current selections, otherwise, the previous selection will be cleared, and the new selections will become the
current selection. Note, this selection mechanism is based on surface selection, so if the opacity of an MF is
less than 1, it will NOT be selected with Rubber-band-selection(it can still be selected from the trees).
This *feature* can be used to skip certain MF (such as the ground) while doing rubber-band-selection.
4.2 A "Select mode" toolbar dropdown controls what will be selected after rubber-band-selection. If Material or
Shell is the *selection mode*, the whole material or shell who contains the selected MFs will be selected.
4.3 The selection is also linked with the two tree widgets on the "Properties" tab in the left GUI panel.
4.4 The selection representation style can be changed from a toolbar drop down list.
4.5 "Clear Selection" button on the bottom of the "Properties" tab of the left GUI panel can be used to
clear selections.
4.6. Known issue: There is a *refresh* flicking on the display tab GUI when selections are changed.

5. Output

5.1 CMB can save out CMB Files(*.cmb).
5.2 An Omicron input file (.dat), for "mesh", can be generated. It requires specification of the "model" input.

6. Spawn Mesher
6.1 "Spawn Surface Mesher" option and "Spawn Volume Mesher" option
- user can select alternate executable (e.g. - if not built with the app)
- abort button to kill the process
- "Process Output" button to display the output from the Process
- The progress bar for monitoring spawned processes will display messages extracted from the
process output (indicated by "Progress: " at the start of the line of output)
- NOTE: if click in "Process Output" window, new text added at the cursor location, even though the
code seems to be coorect to place it at the end
- Upon successful completion, user asked if they want to load the output
6.2 The default surface and volume meshers are remembered during a session. In other words, if you change
which surface mesher to use (or specify which one to use becuase there is no default), the next time you
start up the surface mesher DURING THAT SESION, the previously indicated mesher will be used.

7. Testing
7.1 There are utilities to record and replay a test under the "Tools" menu.

Version 0.1.6

- The default surface and volume meshers are remembered during a session. In other words, if you change
which surface mesher to use (or specify which one to use becuase there is no default), the next time you
start up the surface mesher DURING THAT SESION, the previously indicated mesher will be used.
- The progress bar for monitoring spawned processes has been replaced by messages extracted from the
process output (indicated by "Progress: " at the start of the line of output)

Version 0.1.5

- Issue with "Selection" noted in 0-1-4 has been fixed. Can also now "clear" selection using button in
Save State/Restore State area
- Can now load from "Recent Files"
- "Spawn Surface Mesher" option and "Spawn Volume Mesher" option
- user can select alternate executable (e.g. - if not built with the app)
- progress bar indicates process is running (but not actually linked to progress)
- abort button to kill the process
- "Process Output" button to display the output from the Process
- NOTE: if click in "Process Output" window, new text added at the cursor location, even though the
code seems to be coorect to place it at the end
- Upon successful completion, user asked if they want to load the output
- A lot of source re-organization and cleaning-up under the hood for future development.
- Help now displays README.txt file

Version 0.1.4

1. Input

1.1 Supported formats: "ParaView files (*.vtk *.vtu *.vtm);;Solids (*.2dm)"
1.2 After loading the geometry file, a MF (boundary condition) file, which is
associated with the geometry file, can also be loaded.
1.3 Known issue: if the MFs file does not match the geoemtry file that was loaded
(different number of "faces"/primitives) or does not have the expected information, an
"Output Messages" dialog will indicate an error, but the CMB will not crash.
1.4 Known issue: Reading .sol file is disabled because the new source class, vtkHydroModelSource,
does not handle multi-block dataset yet.


2. Display

2.1 There are many display related properties that can be modified from the "Display" tab of the left GUI panel,
such as selecting different cell arrays of the cell data to color,
changing the representation style, doing transformation, modifying lighting, edge style and annotation etc.
2.2 There are also toolbar buttons to modify camera view direction, colorby different cell arrays and
change view representation.


3. Selection

3.1 A rubber band style selection (mousedown-n-drag or just click) is offered with a toolbar button.
3.2 The selection can also be changed from the "Properties" tab in the left GUI panel by selecting rows
in the MFs table or Material/Region table.
3.3 Known Issues: There are some issues currently with refreshing the selections in the Material/Region table
and the MFs table of the left GUI panel when a selection is cleared on the display.


4. Properties Modification

4.1 Material IDs can be modified by selecting the regions in the Material table of the Properties tab.
4.2 MFs can be regenerated(splitted) by changing the feature angles of selected MFs.
Different faces from the same region can also be merged into one MF.
4.3 A one-step "Reset State" can reverse the modifications of Material IDs and MFs to
the last saved state created by "Save State"


5. Output

5.1 CMB can save out a .vtk and .2dm file. If the vtk format is selected, a MFs file will also
be saved (see 5.2). If "Save Data" as output.vtk, MFs will be save to outputBC.vtk.
5.2 A new MFs (Boundary Conditions) file can also be saved out from CMB (will indicate the
geometry file that was read in as the geometry for the faces)
5.3 An Omicron input file (.dat), for "mesh", can be generated. It requires specification of the "model" input.