*****************************************************************

              FEBIO STUDIO - RELEASE NOTES

*****************************************************************

===========================================================================

 R E L E A S E   3.1   2/25/2026

===========================================================================

New Features:
* Added option to save an FEBio configuration file file from plugin repo dialog box.
* A new context help menu was implemented that allows users to quickly find the online documentation of any feature in the model. (#259)
* Added support for exporting plot object data from Python.
* Added option to ignore hidden parts of mesh when calculating range of colormap. (#221)
* Added export button to FEBio info dialog to export json file of all FEBio modules and features.

Improvements:
* The minor cosmetic changes were applied to the plugin repo dialog.
* Ensured that unavailable plugins are still listed in the plugin repo if there is a local copy.
* Unavailable plugins will no longer be displayed in the repo
* Ambient and diffuse lighting settings are now stored in the settings file.
* Disabled menus for viewing fibers and mat axes on post side.
* Added IntegrateElements and IntegrateFaces to Python post module.
* Added option to MMG remesher to preserve selected surface.
* Added error check to prevent crash when a material property is not defined.
* When a job file cannot be found, the user is prompted to try to locate it. (#249)
* Added safety checks when creating equation fields on Post side to avoid crashes.
* Deprecated features are not exported from FEBio info dialog.
* Updated plugin template and building system to use new FEBioConfig.cmake
* Modified how point-distance tool tracks selected nodes. Had to make change in GLView to give the active tool a chance to process pickEvent.

Bug Fixes:
* Fixed potential crash when exporting geometry to PVO file.
* Restored feature that prevented selection of mesh items that are in front of the planecut.
* Fixed issue with volume renderer not updating images.
* Multiple 3D textures can now be displayed again.
* Fixed issue with graphics context menu being responsive on post side (where it's not visible).
* Beam and discrete elements now show correct coloring when colormap is active.
* Fixed issue that all files were added to recent file list.
* Streamlines plot now uses smooth legendbar again. (#258)
* Implemented rendering for vertical discrete legend bars (#258)
* Streamlines are automatically updated when parameters change.
* Fixed issue with face activation when evaluating face and element fields. (This was causing problems when using external Python interface.)
* Fixed some issues with constructing and meshing compound OCC objects.
* Fixed problem where recording with opengl backend did not stop.
* Fixed couple issues with hiding elements.
* Made sure that mesh colors are updated after changing colormap settings.
* Fixed function definition for ExportFEB and ExportVTK so they can be used by the Python interpreter.
* Fixed issue with transparent material when colormap is enabled. (#250)
* Added additional support for reading surfaces via element face indices.
* Fixed bug where current jobpath is empty.
* Added some checks to ensure the febio command line and working directory are valid for existing jobs.
* Modified point distance tool so that users can enter node numbers manually.
* Fixed issue with identifying backfacing faces.
* Made sure that the ambient and diffuse strength of light are passed to render engine. (#238)
* Made sure that generating mesh can be undone (#243)
* Fixed screenshot feature on high DPI displays.

Documentation:
* Updated help feature to point to the new FEBio feature manual (https://febiosoftware.github.io/febio-feature-manual/)


===========================================================================

 R E L E A S E   3.0   1/5/2026

===========================================================================

FEBio Studio version 3.0 is a major update and contains a lot of new features and changes. The two main design goals were to make working with FBS more programmable and to provide more tools for debugging FEBio runs. 
The following is a short summary of the most noteworthy changes in FBS3. Please see the FEBio Studio User Manual for more details. 
* The FEBio Monitor allows users to run FEBio models interactively from the graphical user interface. The model's state can be inspected visually at any time during the solution process. 
* FEBio Reports provide a comprehensive analysis of the FEBio job. FEBio Reports can also be generated from FEBio log files, though they may be less detailed than reports generated from FEBio jobs that are run inside FEBio Studio. 
* FEBio Studio now supports Python. A simple Python editor is available within FBS and the built-in Pyhton interpreter (using Pyhton 3.13.1) can run custom Python scripts. (An external Pyhon module is in development and will be available in the next release.)
* Users can now generate FEBio plugins entirely from the FEBio Studio interface. The plugin files are generated via a wizard. They can then be edited within FBS3 and build into a plugin. 
* The new Plugin Repository provides access to FEBio plugins developed by others. Using the Plugin Repo, users can quickly find plugins and install them in their local installation. 
* FEBio Studio's render engine has been completely overhauled and now uses a hardware abstraction layer. This means that the user can now choose what render backend to use on their system. For instance, mac users can now use Metal. Other supported backends are OpenGL (all OS), Direct3D 11/12 (Windows), and Vulkan (Windows and Linux).

In addition, FBS3 now uses the .fsm extension again as the default extension for FEBio Studio models. (It can still read .fs2 files and some other older formats.)
The FBS3 settings are now stored in a different location than FBS2 so FBS3 will not import the FBS2 settings. The settings are now stored in an INI file and, in principle, can be hand-edited although this is not recommended.

The following lists changes in addition to the new features listed above.

New Features:
* A ray-tracer was implemented that allows users to generate high-quality, arbitrary resolution images of their models and results. The ray-tracer will also produce better results when shadows or transparency is required. 
* Instead of simply using colors for materials and objects, users can now customize all the visual material properties that are used to rendered the model (on build and post side). 
* Environment maps can be configured to enable special reflection effects. 
* Added tools to measure the average surface normal and the dihedral angle between two selected faces.
* Added support for angle criterion to MMGRemesh modifier.
* Added support for global definitions and made a few other tweaks to the Abaqus reader.
* Added support for triangular elements in Extrude-to-surface tool.
* Added support for curves in ICP Registration tool.
* Implemented Extrude-to-surface tool.
* Added color picking button on 3D Image Settings panel.
* Added Math Function data filter to post data panel. (#196)
* Added option to "Project Nodes" modifier to project nodes onto a user-specified plane.
* Added arithmetic filter for scalar face data.


Improvements:
* Added templates for reporting issues through GitHub Issues.
* Modified moment of inertia tool to return eigenvectors and eigenvalues of the the MOI tensor. Modified calculation of element volume to work with shell elements and to return area when shell thickness is zero.
* Removed unused toolbar button in New dialog.
* FEBio Studio now uses the C locale for its default when formatting numbers
* Surface metrics tool now reports in global coordinates.
* Renamed AverageNormalTool to FaceMetricsTool and added centroid calculation.
* Modified Purge Selections option so that log items are removed if they have selections assigned.
* Fixed some problems with import of springs in Abaqus file reader.
* Now storing nodesize to settings.
* Added checks for shared nodes and degenerate hexes in extrude to surface tool.
* Now using faster nearest-node query in ICP registration to speed things up a bit.
* Modified ICP Registration tool so it works with different type of selections.
* Modified how signed distance is calculated in distance map. Users can now choose the convention for calculating signed distances. 
* Added support for exporting higher order elements to stl and surf. (Higher-order elements are triangulated before export.)
* Renamed "invert" math function filter to "negate" (#196)
* Added filename to RAW image import dialog. (#184)


Bug Fixes: 
* Fixed issue with reading shell thickness for element sets from feb file.
* Fixed bug in reading SCALARS section from vtk legacy files.
* Fixed issue with exporting VTK data.
* Fixed issue with unhiding faces of an editable surface.
* Updating material assignments when objects are deleted.
* Fixed bug in processing nodesets in Abaqus import.
* Fixed several issues with import of STEP and BREP files.

Documentation:
* New FBS3 features are added to the documentation.
* Some images were updated to reflect the new FBS3 interface. 


===========================================================================

 R E L E A S E   2.10   7/23/2025

===========================================================================

New Features:
* Added new modifier that projects nodes onto either one of the global coordinate planes, or onto a selected surface.
* Added tool to convert between rotation representations (see menu Tools/Convert Rotations).
* Added "helical axis" plot feature and added visualization for helical axes.
* Added support for different plot file formats. (Currently, only FEBio and VTK are supported.)
* Added export option for element data with DATA_NODE format.
* Added support for array data stored on faces.
* Added recent image file menu.
* Added MeshToImage tool. Moved image export functions to C3DImage.

Improvements:
* Improved fitting to exponential function in Graph window. Also added ability to fit to power function.
* Added support for exporting MAT3 element data.
* Added checks to make sure that data is available for export.
* Fixed minor logic issue in post material panel.
* Added check to see if local IDs of node data section are valid.
* Some minor tweaks to visualization of point objects.
* auto-penalty is now activated by default for sliding-biphasic.
* Now using ModernStyle for the upload wizard on Windows, since the default style doesn't look right in dark mode.
* Added widgets for entering element data and node data in the FEBio optimization wizard.
* Now ommitting Step section in febio4 export if no analysis steps are defined.
* Added check for "SFE" keywords in Ansys reader, since this was causing issues with reading the EBLOCK.
* Added check to IGES import to make sure shape is not null.
* All image views will now automatically update when filters are applied
* ImageSettingsPanel now has more significant digits available on some settings.
* Udpated image filter UI to make it more clear when there are unapplied filters.
* Images will now automatically revert to the original image when the last filter is removed from the pipeline.
* Warped image tool now outputs image metadata for all image types.
* Warp image tool now prints out image size information when writing raw images.
* Warp image dialog now defaults to the current state.
* Scaled bounding box a bit in warp image filter to avoid roundoff near image boundaries.
* MeshToImage tool now writes in-mesh values as 255 instead of 1.
* Fixed some logo issues in the documentation
* Updated FiberODF normalization to match normalization done in constitutive model
* Now ignoring obsolete FEBio parameters.
* Made sure selection mode is reset when no transform mode is active.

Bug Fixes:
* Fixed minor bug for those who compile FEBioStudio without SITK.
* Fixed issue with distance map calculation.
* Fixed issue with writing nodal connectivity when exporting element or face datafields.
* Fixed issue with IDs that are written when exporting data from post panel.
* Ensured that nodal IDs display in graphs are correct.
* Fixed bug in updater when updating to febiostudio3 branch.
* Fixed issue with processing top-level-only parameters when reading feb files.
* Fixed bug in TruncatedEllipsoid which caused a crash.
* Fixed crash in Graph window when displaying object data on limited time intervals.
* Added check to avoid crash in case GMeshObject was not constructed when reading feb file.
* Fixed sampling coordinates for MeshToImage tool
* Node selection now respects the "respect partition" selection option. (#142)


===========================================================================

 R E L E A S E   2.9   3/24/2025

===========================================================================


New Features:
* A new tool, the Fiber ODF (Orientation Distribution Function) analysis tool, was added to FEBio Studio. This tool calculates ODFs directly from 3D image data.
* Added support for edge data field variables.
* Added PadImageFilter
* Added Butterworth image filter.
* Added button to scroll to end on log panel.
* Added options to set font sizes for title, legend, and axes on graphs.
* Implemented the NetGenSTLMesher, which is now used as an option to mesh editable surfaces.
* TetGen mesher can now be used directly on primitives.
* Implemented exploded view feature.
* Added tool to extract curve and turn it into a beam mesh.
* Committed new surface meshsize tool.
* Added Set Axes option to clear the local material axes.
* Added option to add local weights to Laplace solver. Now using this in MeshMorphTool.
* Added option to convert "region" element data to "mixed".
* Added support for "region" format to arithmetic filter for scalar element data.
* Added filter option to add two element DATA_MULT fields.

Improvements:
* Some minor refactoring of the math datafields in order to make them work a bit faster.
* Point probe now always added, even when nothing selected.
* Discard mesh tool now removes the current mesh of a primitive (#131).
* Ensured that edges of higher-order elements interpolate the nodes (#132).
* Multiple images can now be imported at once.
* Warping images is now done in batches.
* Made sure that nodes of muscle paths can be moved.
* Added option to muscle path to select start time of mesh projection.
* The mesh morph tool no longer creates a copy of the mesh, but applies the changes directly to the active mesh.
* Implemented pie-filling algorithm for filling holes.
* Implemented Find Image feature for missing images of all types. Models now save relative paths to images.
* Updated mesh metrics so that transformed nodal positions are used.
* Model tree now uses shared property lists instead of unique lists. This speeds up building the model tree considerably for large models. 
* Modified update of parts to make it more efficient.
* Added support for integrating over shells.
* Added support for saving and loading graphs from session file (#125)
* Now, when model components fail to allocate, an error is shown instead of aborting the import.
* Loading or deleting images now clears the command stack.
* 3D Image controls are hidden when no image model selected. Image controls remain active when image analysis is selected. Name of current model shown on panel.
* Added active flag for image analyses.
* Image view settings are now saved on the image model
* Image sources now save a filepath relative to the fs2 file
* Tiff file reader now has save and load logic
* Added time info to DlgStartThread.
* Added conversion to sitk image in tiffreader.
* Added mechanism for custom threads to output to the log panel.
* Now converting raw images to ITK images when ITK is supported.
* Implemented different algorithm for updating element partitioning in tetgen mesher.
* Removing a selectable property no longer asks for confirmation on macOS due to a still unsolved crash
* Implemented algorithm in tetgen mesher that reconstructs element partitioning.
* Ensured that parts are always visible when loaded.
* Named selections are now preserved by the "set axes from curvature" tool.
* Added error checking in equation editor.
* Modified extrude faces modified so that it retains partitioning and named selections.
* Modified tri-to-quad convertor to work with quad-dominant meshes.
* Checked whether the OCC object is shell or solid.
* Some tweaks to the netgen parameters that affect granularity.
* Moved mesh sizing for OCC objects to NetGenMesher. SurfaceMeshSize tool now lists surface names and responds to updates.

Bug Fixes:
* Fixed issue with processing part lists for body loads.
* Fixed problem when image reload fails. (#140)
* Fixed problem with the volume renderer's shader initialization. (#139)
* Fixed bug with Volume datafield that produces constant values in graphs. (#137)
* Replaced cast to int with floor to avoid numerical overflow issues.
* Fixed problem with building material selections when importing feb files.
* Fixed issue with keeping materials' selections and parts' material IDs consistent. (#129)
* Fixed bug in integration of nodal values.
* Fixed issue with reading VTK files that contain string field data.
* Now clearing selection before remeshing in order to avoid crash. (#116)
* Fixed issue with mesh panel update when no document is open (#117)
* Fixed issue with default color map being changed inadvertently (#122).
* Fixed build error when not using HAS_SSH (#123)
* Fixed some layout issues with the plot widget.
* Fixed issue caused by numerical round-off when calculating the legend bar labels.
* Fixed issue when rendering quads in GLMeshRender.
* Fixed issue with clear recent files list.
* default plot variables are reset when changing the physics module.
* Fixed issue with puring selections.
* Fixed problem with creating FETetGenMesher from fs2 files.
* Fixed issues with reading older fsm files.
* When copying mesh, made sure that node and element lookup tables are copied as well.
* Fixed bug in area calculator tool.
* Fixed issue with updating plot field dropdown when plot field name is changed. (#127)
* Fixed bug in calculation of volume ratio and volume strain standard data fields (#126)
* Fixed issue where Repo project description would sometimes erroneously have a scroll bar
* Fixed issue with setting face descriptors of netgen mesh generation.
* Fixed issue with populating property list for CSurfaceMesherProps.
* Fixed potential crash when parsing model component with unrecognized type string.
* Fixed bug with face colors in RenderGLMesh.
* Fixed bug in Log function of FSThreadedTask
* Fixed issue with cancelling of threaded task.
* Fixed deallocation bug in FEBioFileImport::AddLogEntry
* Resetting GL_UNPACK_ALIGNMENT after updating 3d texture, to avoid issues with qt rendering.
* Fixed issue with initialization of volume renderer.
* Fixed issue with the extract component filter for element data using NODE format.
* Fixed crash caused by sampling outside image domain during image map
* Fixed issue with febio export allowing degenerate elements.
* Fixed bug in copying rigid BC.
* Fixed issue that name of rigid connectors was not assigned when reading feb file.
* Fixed issue in counting of step components that was causing a problem when exporting single-step analyses with mesh adaptors.
* Disabled local mesh modifier parameter since it's seem to crash netgen when turned off.
* Changing granularity now updates netgen mesher parameter values.
* Fixed some crashes.
* Fixed problem with incorrect property flags when loading material components from fs2 file.
* Fixed issue with invert tool for quadratic triangular shells.


===========================================================================

 R E L E A S E   2.8   11/7/2024

===========================================================================

New Features:
* Added modifier to delete elements.
* Added density option for fiber visualization.
* Implemented filter for converting element data to face data (for DATA_ITEM format).
* Implemented "delete all" context menu for mesh data.
* Implemented "delete all" context menu for the mesh adaptors.
* Added option to export hybrid meshes (i.e. mesh of elements with different element types). Mesh of hybrid part is not split. Instead, degenerate elements are written.
* Added support for taking time derivative and exporting element region data.
* Added set of units for mm-mg-s
* Added tool for AddNode modifier.
* Added obj file reader.
* Added some basic support for reading ArtiSynth files.
* Implemented path selection for edges.
* Added custom ui tool for Add Triangle modifier.
* Added ability to perform adaptive curve extrusion.
* Added ability to fix jagged edges of surface meshes
* Added active status flag to discrete objects.
* Added context menu to hide inactive parts of an object.
* Added option to set parts as inactive. Inactive parts are not exported to the feb file.
* Implemented data filter that projects data onto the surface normal.
* Object manipulators are implemented The object manipulator allows users to change the object's shape through the UI. Cleaned up selection classes for geometry items.
* Implemented color picker tool for quickly assigning colors to objects or to a part's material.

Improvements:
* Delete elements modifier now updates named selections and part data.
* Now partitioning Ansys-imported mesh based on Field1 (material number).
* Part sets and part data is now copied when converting to editable mesh.
* Added support for interpolating face data with region format.
* Job report dialog is now displayed even when job is cancelled.
* Added check to export of surface pairs to see if the primary and secondary surfaces are found.
* Named selections are now automatically removed if they become unused when a model component is removed.
* Implemented different algorithm for evaluating a material's center of mass.
* Modified "volume ratio" and "volume strain" datafields to work better with multi-mesh models.
* Added shortcut ('a') and corresponding command to toggle the selected parts' active state.
* Distance parameter now also scales scalar map for extrude faces tool.
* Implemented extrude tool that can use a map, read from a file, to adjust the local extrusion direction and distance.
* Made sure correct units are set after reading a file.
* Added support for vec2d properties and fixed some issues with vector_double properties. Added options to slice plot to set the slice range and add user slices.
* Integrate Window now uses the source field instead of the Y field to select the source. Selections are now determined prior to integration in order to speed up calculations. Now using omp to speed up integration over a planecut.
* Removed SITKImage class. SITK is only used to read files and fitler images. Image data is now copied from SITK images into 3DImage
* Added report when meshing finishes.
* Added better check to see if an xml tag's value is empty.
* Made sure correct units are used after loading febio files.
* Set symmetric_stiffness flag for sliding-elastic to false using create handler.
* Added create handler for setting matrix format for FESolver to preferred.
* Added some interaction to the plane cut tool.
* Implemented new algorithm for finding nodes along shortest path.
* Added support for .key extension for reading LS-dyna file. Fixed some isses with the LS dyna reader.
* Added seperators between mesh selection tools and options. Select path tool no longer requires select connected to be on.
* Added error message if only one edge is selected in Fix Jagged Edges
* Regenerate node and element IDs after split modifier.
* Minor changes to FEInflateMesh and FENetgenMesher
* Removed occ object merge from STEP import and moved it to the merge tool.
* Status flags are now serialized for GParts and discrete element sets.
* Added part validator to check for zero shell thickness.
* Added ability to extrude edges in surface meshes
* Inactive discrete sets are now shown with italic font in model tree.
* Inactive parts and discrete objects are rendered dark-gray.
* Added export status flag to mesh items. Now using this to selectively export items from active parts only.
* Inactive parts are now shown as italic in model tree.
* Added warning messages to Edit\Find menu.
* Replaced Part Selector with Part Viewer tool.
* Color is now assigned based on the object color mode in color-picker tool.
* Added check for degenerate elements in revolve mesh tool.
* Added option to manipulate surfaces of objects.
* Adjusted data field ID so that field codes can be 16 bit instead of 8. (This allows more than 256 fields to be indexed.)
* Added support for domain data to febio logfile.
* FEMesh now stores its FENodeElement list so it does not need to be recalculated.
* Added options to Mirror tool to mirror about face selection or custom plane.
* Saved line size to settings. Added option to set font size used for rendering tag labels.
* Started work on expanding support for generating optimization input files.
* Implemented different algorithm for estimating surface normal in triangulate.
* FE nodes are now mapped to the geometry nodes in the NetGenMesher.
* Added variable argument Write function to FSLogger. Now using that in NetGenMesher, instead of CLogger.
* Some minor refactoring of FSLogger so it can be used safely in threaded tasks.
* Model check now reports when there are no issues found.

Bug Fixes:
* Fixed issue in delete-elements modifier that aims to preserve node partitions.
* Fixed issue with revolve faces tool that was not creating correct denegerate hexes.
* Fixed issue with preserving part data in the delete-elements modifier.
* Fixed issue with transparency of planecuts.
* Fixed some issues with visualization of planecuts on post side.
* Fixed bug in Netgen mesher which set granularity to 0.001 when user sepcifies 0. Added minimum element size in Netgen mesher.
* Mesh state is now updated for all meshes when enabling/disabling materials, not just the active one.
* Fixed crash in CFEBioJob's destructor.
* Fixed issue with importing must point curves from old fsm file.
* Fixed crashed when changing enum properties.
* Fixed bug in Archive::read when reading std::vector<vec2d>.
* Fixed issue with importing mat3s data from file.
* Fixed issue where material properties were not getting updated.
* Fixed potential crash when exporting mesh data.
* Made it so that object IDs and names are sequential when they are added to the model.
* Fixed bug in processing element sets from feb input file.
* Fixed issues with displaying mesh data when mesh inspector is active.
* Fixed issue with importing part lists for mesh adaptors.
* Fixed bug in extrude map tool.
* Fixed bug in camera animation.
* Fixed some issues with legacy VTK file reader.
* Fixed issue with initialization of colormap widget.
* Fixed potential crash due to double deletion of thread.
* Fixed some issues with reading feb 1.2 files.
* Fixed issue with selecting nodesets of multi-mesh models.
* Implemented better support for reading springs from Abaqus input file. Fixed some issues related to repeated solid sections and element sets in Abaqus input file.
* Fixed issue where colormap changes in settings were not immediately visible.
* Fixed crashes due to heap corruption of FSElement's m_h array.
* Fixed some issues in Abaqus reader.
* Fixed bug in new path selection for nodes. Added support for path selection of surface edges and faces.
* Fixed region selection for discrete springs.
* Fixed issue with selecting surfaces in a model that has multiple meshes.
* Fixed bug in hiding items.
* Fixed some issues with inflate tool.
* Fixed some issues with reading nodesets from feb2 files.
* Fixed compiler issue with older versions of Qt.
* Fixed bug in LSDyna file reader related to curves.
* Fixed bug that prevented extrusion of a single edge.
* Made sure error from surface modifier is propagated to running thread.
* Fixed minor bug in FEFixJaggedEdges
* Fixed crash triggered by image filter deletion
* Fixed crashes caused by bug in image filter pipeline.
* Fixed crash in newly created surface normal projection filter.
* Fixed some issues with reading solid elements and solid sections in LS-Dyna file reader.
* Fixed backward compatibility issue with feb3 files.
* Fixed potential crash in reading LS-dyna files.
* Fixed issues with creating named selections when importing older febio 2.5 files.
* Fixed problem with exporting initial conditions on parts that were split on export.
* Fixed buffer overrun problem when extracting enum values.
* Fixed problem with feb input that caused GObject::Update to be called too many times.
* Fixed problem with internal surfaces not being updated when hiding elements in post doc.
* Fixed issues with reading PLC objects.
* Fixed bug in PostDocument::UpdateSelection.
* Fixed bug in CPaletteWidget's constructor.
* Fixed qt style issue with newer version of qt on windows.
* Fixed issue with reading surfaces from feb 2.5 format.
* Fixed some compilation issues on Windows after updating Qt.
* Fixed some issues with the correct placement of the pivot for object selections on the post side.

Documentation:
* Updated FEBioStudio Manual to improve Netgen meshing features.
* Modified hyperlinks to appear colored in PDF output.
* Added documentation for Image Map tool.
* Fixed size of PostToolbar icons in manual
* Fixed error in lyx manual that was causing problems when processing to html.



===========================================================================

 R E L E A S E   2.7   6/6/2024

===========================================================================

New Features:
* Rendering of meshes has been significantly improved on the build side. Noticeable improvements are smoohter rendering of mesh lines, and significant speedup of render speed. (Use ctrl+F12 to show approximate FPS)
* Implemented geometry highlighting for surfaces and parts. 
* Pressing Enter (Return) now converts the highlights to a selection.
* Added button to model viewer to toggle selection highlighting. Picked items can now be given a custom color. Fixed some issues with drawing the picked items.
* Outlines of selections and highlights are now also rendered.
* Added settings option to enable/disable geometry highlighting.
* Added recursive parameter to mirror planes, which can be used to create 3/4 symmetry.
* Added context menu option to export named surface selections to stl file.
* Added FEBio menu option to run model check.
* Added dropdown option to copy material properties from other materials.
* Added option to plot derivative on point curve plots.
* Added C2-smooth to dropdown menu for load curves
* Added context menu option to (re)load transform for Axes plot object (used by kinemat tool.)
* Kinemat tool now also adds triads that show the position and orientation of the kinemat transforms.
* Added support for surface log data.
* Added support for VTK's vtm files.
* VTU files can now also be read on the post side.
* Added support for some arithmetic filtering of vec3f element data.
* Added option to flip the plane cut's normal.
* Added option to paste plots in data graph windows.
* Added key shortcuts for rotation 90 degrees about major axes. (e.g. Alt+X rotates 90 deg around X. Alt+Shift+X rotatest the other way. Similar shortcuts for Y and Z)
* Added option to copy selections between open documents.

Improvements:
* Added validator for discrete element sets.
* Hex split modifier (for selected elements) used by the Refine Mesh tool now retains mesh topology.
* Modified hex split modifier so only selection needs to be hex.
* Fixed plot variable specific gauge enthalpy (gage to gauge)
* Pressing Esc also resets the transform mode.
* Handled case in muscle path plot were the first point is the departure point. LSDyna .k model are now partitioned by material.
* Now using VTK legacy reader in import springs tool. Also fixed bug in VTK legacy file reader related to LINES.
* Added support for float64 data arrays and fixed some other issues with VTU import.
* Fixed some problems with reading VTP files and added support for VTK_POLYGON (which is converted to triangles).
* Added check to make sure that all parts have elements when exporting to FEBio4 file.
* Implemented more efficient mechanism for rendering fibers.
* Plane cut now shows outline of cutting plane.
* Added select-and-hide option. Works with objects, parts, and element selections.
* Part selector dialog is now modeless. (so users can still interact with graphics view when this dialog box is visible)
* Y-field of graphs now default to active datafield in colormap.
* Fixed numerous typos in user manual.
* Added support for reading Abaqus CONTACT_PAIR keyword.
* Added support for reading name attribute of Elements tag for older feb files.
* Step notes are now written as model notes for single-step analyses.
* Step title of older feb files is now retained as a note.
* Changed "pct." to "%" sign in job monitor.

Bug fixes:
* Changed selection boxes so that they display the element or node IDs instead of the internal indices.
* Fixed crash when trying to add a selection for non-model documents.
* All mesh data is now removed when purging model.
* Fixed volume strain calculation for higher-order elements. (fixes #92)
* Fixed bug that prevented deletion of items from named selections.
* Fixed potential crash when discrete elements get scrambled as a result from a change to the mesh.
* Fixed problem with reading empty DiscreteSet section from feb4 file.
* Fixed issue with import of TetGen files.
* Fixed Recent files list Clear command
* Fixed issue with setting X-field of plot objects in graph window.
* Fixed some issues with reading LSdyna keywords.
* Fixed bug reading LSdyna file with ten nodes format for solid elements.
* Fixed problem with assigning element material IDs when reading dyn files.
* Fixed issue that put the legend bar on the wrong plot window, when two plot files were being read in simultaneously.
* Fixed bug where element material IDs were reset on post side.
* Fixed crash when toggling face visibility of editable surface.
* Fixed possible crash in evaluation of Shell jacobian. Addressed performance issue when evaluating tet quality.
* Fixed problem importing surfaces from 2.0 format.
* Fixed some issues with export and import of part lists from feb4 files.
* Fixed crash in Merge objects tool.
* Fixed issue with part materials after detaching elements.
* Fixed crash caused by incorrect node indices in nodesets while reading v3 febs
* Fixed issue with propagation of keypress events.
* Vector plot is now updated after any parameter change.
* Fixed issue with reading mat_axis using the compact format.
* Fixed crash on febio export when no analysis steps are defined.
* Fixed problem with selecting parameters for optimization.
* Fixed issue when reading SolidDomain tag.
* Fixed bug with finding facets when reconstructing surfaces from feb input file.
* Fixed crash in sync feature when the current document is not a model document.
* Fixed issue with rendering tensors using arrow glyphs.
* Fixed bug in calculation of histogram.
* Fixed some issues importing febio 2.0 files.



===========================================================================

 R E L E A S E   2.6   3/29/2024

===========================================================================

New Features:
* Added new job monitor dialog box. This dialog box replaces the message box when an FEBio run terminates. It shows a list of the warning and error messages that were generated during the run.
* The material and model tabs on the Post panel were modified so that they show the visible and enable buttons next to the items.
* Implemented different way to indicate whether a parameter is load controlled or not. A curve icon will now display next to a parameter that is load controller. When hovering over the icon a tooltip appears with the name of the load controller. 
* Added context menu option to copy rigid load.
* Named selections can now be created on the post side. They are also saved in the post sessions file. 
* Expanded merge tool so that it can be used with curve objects.
* Added Create tool for bending geometry.
* Added support for cloning curve objects.

Improvements:
* The Properties panel in the Model panel now has a reasonable minimum size.
* Added "float" to array datafield type string in Data tab of Post panel.
* The import curve dialog now remembers last used settings.
* Moved FEBio export Post option to Export Geometry menu (instead of Save As).
* Pressing Escape keyboard button will now also deactivate selection brush.
* Added check for unsupported element types when exporting to lsdyna file.
* Added support for CPS3 and CPS4 element in Abaqus reader.
* Added shortcut Ctrl+A to assign current selection to active item in model tree (if applicable).
* Now processing (but ignoring) PhysicalNames and Parametrization keywords for GMesh import.
* The Discard mesh modifier can now be applied to all objects. For editable meshes it works as before, but for other objects, it simply clears the FE mesh.
* Added option to turn off the selected item tags. (Use "i" shortcut, or menu View\Toggle Tag Info.)
* Modified Discrete Element Network (DEN) tool to convert a mesh into a DEN.
* Set shortcut for screenshot to Alt+F2.
* Added support for reading from and writing to febio4 format for const (surface) mesh data. Now also serializing mesh item lists for mesh data generators.
* Added more specific type info for mesh date generators.
* Added category column to Add Physics dialog.
* Added support for reading surface data generators from febio4 input file.

Bug Fixes:
* The curve object mesher now also generates the edges.
* Now using document title in the Import Material list (right-click option on Materials item in model tree).
* Fixed issue with muscle path where tangent was not calculated when departure point was the endpoint. Added rendering of tangent vector.
* Fixed crash when qnSolver fails to allocate.
* Fixed bug in Average Intensity over Element option in image map tool
* Fixed issue with reading names of user mesh selections in post-session file.
* Fixed bug in building post model tree.
* Fixed issue with reading SET_NODE_LIST_TITLE keyword from LSDYNA reader.
* Fixed problem with selecting curve objects.
* Caught issue that causes crash when exporting surface data without selection assigned.
* Fixed some problems with crashes when reading older plot files.
* Fixed issue with evaluating element values when some materials are disabled.
* Fixed issue with importing initial conditions applied to parts from febio4 format.
* Fixed problems with region selection for editable surfaces.
* Fixed issue that model tree did not update when changing physics module.
* Fixed issues with importing object that has no parts.
* Fixed issue with reading gmesh legacy files.
* Fixed issue with model update when toggling displacement map.
* Fixed issue with adding step when pressing cancel in the Add Step dialog box.
* Fixed issue with reading discrete sections of older febio3 and febio2.5 formats.

===========================================================================

 R E L E A S E   2.5   1/16/2024

===========================================================================

New Features:
* Added "physics" color mode option, which colors each surface depending on how it is used in the model's loads and boundary conditions.
* Added support for file extension dyn (will read lsdyna input file).
* Added support for exporting 3D image data to several formats.
* Added support for reading and writing quadratic beam elements to febio4 format.

Improvements:
* Inverted faces but not elements in NetGen mesher, to produce correct mesh output upon conversion to editable mesh.
* Added ability to merge multiple STEP objects into single STEP object upon import, allowing conforming meshing with Netgen
* Added Fluent mesh exporting capability
* Added a log message when attempting to export wrong Mesh type to Fluent. Made export distinguish mixed face types versus uniform face types
* Updated copyright statement on splash and about box.
* Added febio format 4.0 export for post docs.
* Added nodal fluid flux plot variable to FSI analyses
* Deletion of multiple parts will now process much faster.
* All new documents are now added to the recent files list.
* Added icons to model search panel, and a column for the type. Filter now also searches type strings.
* Implemented more efficient way of tracking output when running febio in a thread.
* Modified mesh building algorithm in post lsdyna importer to speed it up.
* In the Project panel, added support to load fs2 files via folder import, and fixed bug when moving files to a folder.
* Added options to set caps when rendering smooth paths and cylinders. Beam ends are now rendered as flat. Fixed issue with rendering colormaps on solid beams.

Bug Fixes:
* Fixed issue with FSModel::GetEnumValues for getting dof_list.
* Fixed some issues with reading feb3 files.
* Added checks when rendering objects to make sure a valid render mesh exists.
* Timeline panel is now updated when states are deleted.
* Fixed issue with saving the correct model file name when saving fsps files.
* Fixed issue with reading surfaces of febio files that uses node numbering that does not start at one.
* Fixed issue with rendering images with correct orientation in slice view. Also fixed bug in rendering z-slice.
* Updated ImageMap tool and WarpImageFilter to work with rotated images. Fixed bug caused by missing cases in 3DImage::Value
* Fixed bug in loading models with DICOM images
* Fixed issue with volume rendering images with orientation.
* Image models are now rendered with correct orientation.
* Fixed issue in kinemat build tool.
* Fixed problem with input of numbers in a property form.
* Fixed issue where shell IDs were not copied from lsdyna file.
* Fixed issue with rare case where elements have duplicate IDs.
* Fixed string overflow in FEBio import.
* Fixed issue with importing nodesets from old feb files.
* Fixed issue with volume rendering of signed int image data.
* Made some fixes to old febio and nike3d file readers.
* Fixed bug in rendering of general springs.
* Fixed problem with reading discrete element sets from LSDYNA file.
* Fixed bug in curve-projection tool that did not take transform of curves into account.
* Fixed issue with rendering half-spheres in special case.


===========================================================================

 R E L E A S E   2.4   11/15/2023

===========================================================================

New Features:
* Added option to the import-spring tool to generate linear truss elements instead of springs.
* Added support to the import-springs tool to read springs from a vtk file.
* Implemented GMesh (version 4) file export.
* Added option to fiber generator tool to create a map, instead of assigning to element fiber vectors.
* Added additional plane rotation parameters to fiber generator tool.
* Added new geodesic-curve create tool, which can be used to generate geodics, or shortest-path-curves on existing geometry.
* Added filter to convert element data to node data for types vec3f, mat3fs, and mat3f to the Data tab on the Post panel.
* Implemented Kinemat tool on the build side, which allows users to use kinematic data to setup a forward FE model.
* Added panel to Statistics window that shows min, max, mean, std. dev, and std. error.
* Added option to VTK-export to write the element part IDs as cell data.
* Added "Magnitude" component to mat3d and mat3f data types when visualizing FEBio plot data.
* The muscle-paths plots now support a "guided-mesh" feature, which allows the muscle path to move with the deformation of another mesh.
* Added a legend bar for visualizing data using the mesh inspector. 
* Added ability to use the plotted data in a math expression in the Math plot tool of the graph window. (use _data as function name.)
* Added support for 32-bit signed and unsigned pixel types for reading 3D image data.
* A new tool was added for editing mesh data on the Tools panel of the Build panel. This tool allows you to overwrite values assigned to elements.
* Added option to write face and element connectivity when exporting data fields from the Post-Data panel.

Improvements:
* Made the Revolve Faces tool more robust.
* Expanded support for reading GMsh 4 files.
* Modified shell thickness modifier so that when no elements are selected, the thickness of all elements is set.
* Added smoothing option to loft tool.
* Nodal and element IDs are now serialized and preserved when writing feb files.
* Node, element, and part IDs are now read from LSDYNA model.
* Added support for reading node IDs from xplt file version 3.3.
* Current folder is now set to the path of the last file that was loaded successfully.
* Added additional support for interpolating state data.
* About box shows normal size FEBio Studio icon again.
* Added scale factor to curve probe. Fixed issue with evaluation of time-averaged data.
* The data import dialog is now used to import the points of the curve probe.
* Ensured that the default directoy for opening and saving is consistent (and equal to the current working directory).
* Added context menu for deleting named selections.
* Added the divisions and smooth options to the legendbar options dialog.
* Use ctrl or ctrl+shift to zoom a plot in x or y only.
* The "Source" label in the Graph window is now hidden when the data source widget is not used.
* Load controllers can no longer be deleted if they are being used in the model.
* Changed the element selection logic so that it is easier to select discrete elements.
* Added support for editing scalar part data stored as DATA_MULT.
* Updated selection report to include nodes of currently selected discrete element.
* Increased the max number of geometry items that can be displayed in model tree to 10,000.
* Ensured that node partitioning remains preserved when partitioning elements.
* Turned off specular lighting when rendering planecut.
* Elements that are visible because neighbors are hidden can also be region-selected with "ignore interior" option on.
* Modified help section on Inflate tool in FEBio Studio User manual.
* Modified Inflate tool for creating boundary layer meshes on existing tetrahedral meshes. The new formulation performs a series of operations that extrude the selected surface inward with a biased mesh, then fills the resulting inner surface with a tetrahedral mesh (TetGen), finally welding the two parts together and returning a rebuilt mesh with no seams.

Bug fixes:
* Fixed crash in mesh inspector when no object is selected.
* Fixed issue with verifying nodal IDs when export to febio file.
* Fixed bug in code that maps parameters between containers.
* Fixed empty error message.
* Fixed shell-to-solid rendering option.
* Fixed bug in option to replace contact interface.
* Fixed crash in Abaqus reader.
* Fixed potential crash in GModel::ValidateNames.
* Fixed some issues where node and element indices were used instead of IDs.
* Fixed issue in reading session files with plot groups.
* Fixed parameter name for muscle path.
* Fixed issues with adding new states. Added support for interpolating data for new states.
* Fixed issue with curve probe parameters not updating. Arc lenghts are now used as the ordinate axis in the curve probe plots.
* Fixed typo in job run message box.
* Fixed bug with Average Intensity Over Elements option in ImageMapTool
* Fixed logic bug in processing error string from lsdyna import.
* Fixed bug in scalar field tool when generating constant element data.
* Fixed issue with importing gmsh file where wrong tag was used to partition the mesh (issue #71)
* Fixed issue with update of the isosurface plot when users change parameters.
* Fixed issue with exporting node sets based on part lists.
* Removed duplicate manual figures
* Fixed issue with volume rendering 32 bit integer images.
* Fixed issue with reading very large Tiff files.
* Fixed crash when exporting a model that has no materials to feb4 file.
* Fixed GUI slowdown caused by working with medium to large images.
* Fixed issue with syncing discrete selection to model tree.
* Fixed issue with updating discrete element selection.
* Fixed issue with importing partlists from feb4 file.
* Fixed bug in pixel inspector caused by incorrect scaling. Pixel inspector rectangle is now drawn correctly.
* Fixed issue where error string of mesh modifier did not propagate to the user.
* Fixed issue with updating part sections when the mesh is changed.
* Fixed issue where random faces get selected after deleting a face selection.
* Fixed crash when purging selections from model components.
* Fixed bug in render vector plots for element data.
* Replaced allocation of "old" spring materials with the "new" discrete materials from FEBio.


===========================================================================

 R E L E A S E   2.3   8/30/2023

===========================================================================

New Features:
* Added the "Surface normal" post datafield to the Standard datafields availabe on the Post\Data panel.
* Added tool for removing isolated vertices. The tool can be accessed using the Fix Mesh tool on the Mesh panel. 
* Added options to toggle rigid settings from the graphics view popup menu.
* Added context menu option to model tree to remove all unused load controllers in the model.
* Added context menu option to model tree to remove all unused named selections.
* Implemented quad fill-hole algorithm for editable surfaces. This tool is available via the Fix Mesh tool on the Build\Edit panel. 
* Added fsps files to recent file list on the Welcome page.
* Added plot groups, which can be used to group plots together. A new plot group can be created from the menu Post\Add Group.
* Added new Pixel Inspector tool, which allows users to see the actual image values when hovering over an image.
* Added "triangle max dihedral angle" datafield to the Mesh Inspector for both editable surfaces and editable meshes.
* Added highlighting for geometry nodes. Hovering over a node will make the node render in a different color. 
* Added interactivity to planecut and point probe plots.
* Added converter from penta6 to penta15. Use the convert tool on the Mesh panel to convert a mesh to a different element type. 
* Implemented a brush selection tool (for selecting faces). Use Alt+scroll-wheel for adjusting the selection radius. 


Improvements:
* Added a less-detailed rendering mode and made some minor changes to the rendering of muscle paths.
* Finished updating filters to work with all supported pixel types.
* Modified vector plot so that face data is rendered at the face centers.
* Changed some of the criteria for checking if a mesh can be deleted. A warning is shown when modifying a mesh could potentially invalidate named selections. 
* Added warning message when re-running a job might overwrite existing results.
* Tiff files can now be stored and read from the fs2 file. 
* Added coloring mode based on element type. Right-click in the Graphics View, and select "Element Type" from the "Object color" option.
* Added fs2 extension to list of recognized extensions in project file list.
* Purging now also deletes all named selections.
* Image model properties box now shows more information.
* Added more options to project surface nodes in the ImageMap tool.
* DICOM headers are now read for origin and spacing information.
* Mesh data values will now ouput to the log when elements are selected.
* Warning icons now appear as emblems on the base icon, instead of replace the base icon.
* Updated all image and image visualization features to support 8 and 16 bit, signed and unsigned, single channel and RGB (3-channel) pixel types, and real 32 and 64 bit pixel types.
* Node IDs are now stored when reading feb file.
* Changed rendering of springs in the Post view so it behaves more like an actual spring.
* Added support for reading global data from the xplt plot file. Global data can be visualized in a graph window.
* Mesh inspector select option now also works for editable surfaces.
* Editable surfaces now also show color maps when the mesh inspector is active.
* Surfaces for surface properties are now selected using a dropdown, instead of a selection box.
* Added option to specify the initial path of a musclepath in the post session file.
* Added support to VTK export to output data for element selections.
* ImageMap tool now works with parts as well as objects.
* Added "Curve Probe" plot, which can track model data along a user-defined curve. Can calculate both instanteneous, as well as time-averaged data. 
* Added support for reading discrete elements from lsdyna file.
* Added support for writing and reading part lists from feb4 file.
* Added support lsdyna keywors DEFINE_CURVE and SET_NODE_LIST_TITLE. Some minor changes to how keywords are processed.
* Removed the "My Projects" category of the repository panel.
* Added mm-g-s units to the list of supported unit systems.
* Removed load controllers and named selections when purging a model. 


Bug Fixes:
* Fixed issue in lsdyna reader so that warnings from included files are also captured.
* Fixed bug in rendering the plane of a planecut.
* Fixed some issues with export and import of part lists to and from febio files.
* Fixed potential crash in several plots related to z-sorting the faces before rendering.
* Fixed potential division by zero issue when drawing legend bars.
* Fixed bug in the internal algorithm RemoveIsolatedEdges() that is used by several other tools.
* Fixed issue with export of nodal_loads where type attribute was not written.
* Fixed crash caused by unintialized 3DImage when loading an FS2 without the image file.
* Fixed issue with rendering selected faces when showing colormap data on surface meshes.
* Fixed some issues that caused unnecessary updates of the mesh inspector.
* Fixed incorrect gauss point coordinates for penta6 and penta15, which was the cause for incorrect element volume calculations for these elements.
* Fixed crash when saving image data when original image was not available.
* Fixed sporadic crash in creating springs.
* Fixed issue with setting the active febio module when switching tabs.
* Fixed issue with loading plugins without an active module.
* Fixed some issues related to import of surface-to-surface map data generator from the feb4 input file.
* Fixed issue with export of element data for parts that were split on export to the feb4 file.
* Fixed issue with evaluating material axes for visualization.
* Fixed some issues with the chemical reaction editor.
* Fixed bug in STL ascii importer.
* Fixed export of initial conditions for analysis steps.
* Fixed issue with import of nike3d files.
* Fixed crash caused by loading an fs2 with a loaded DICOM image that could not be found.
* Fixed bug that prevented the My Projects category in the repository panel from appearing in the repo.
* Repo panel now shows proper icon for fs2 files.
* Fixed issues with importing older feb2 files.


===========================================================================

 R E L E A S E   2.2   6/20/2023

===========================================================================

New Features:
* The febio config file is now read (optionally) when febio studio starts. As a consequene, standard plugins distributed by febio studio will be loaded automatically (FEBioHeat, FEBioChem).
* Added a ply export to the post side.
* Added some initial support for reading GMesh4 files.
* Added dialog box that shows all the warnings in the model tree.

Improvements:
* Separated edit menu for build and post side so that only meaningfull menu options are shown (fixes issue #68)
* Changed 2022 to 2023 in splash and about message.
* Added context menu option to swap end-points of muscle path.
* In muscle path plot, added color parameters for customizing colors of end points.
* Added icon for muscle path plot.
* Added export data context menu to muscle path plot.
* Added support for processing additional ls-dyna keywords PARAMETER, DEFINE_CURVE_TITLE, and INCLUDE.
* Modified LSDyna importer so that unrecognized keywords now produce warning.
* Added warning when material properties read from the fs2 file cannot be found.
* Added toolbar button to Graphics View toolbar for toggling light.
* For RAW image geometry import, internal surfaces are not partitioned anymore.
* Added some parallelization of some costly mesh processing functions.
* Added checks that valid 3D image exists in image model.
* ImageMap normalization now normalizes over max and min values in the map. Ensures that every map goes from 0 to 1
* ImageMap tool now has option to average intensity over element.
* ImageMapTool now uses a curve edit widget to define filter. Also now normalizes based on image min and max intensity values
* Added support for float and double 3D images. Some UI improvements to RAW image import dialog.
* Made all new data fields generated via the Filter tool exportable.
* Added option to write vtk series file when saving to vtk files.
* Added support to convert filter to change the data class. (Only support for CLASS_ELEM to CLASS_NODE implemented.)
* Added filter to state panel that allows users to change the time values of all states.
* Added additional support for converting formats in Filter tool on Post/Data panel.
* Added support for extracting components from DATA_COMP element variables.
* Parallelized the Warp Image filter.
* Added support for serializing mesh data generators and surface selections.
* Merge pull request #67 from modenaxe/master: fix misspell "contoller"
* Rigid labels are now also shown on post side.
* Show rigid body and show rigid joint settings now also work on post side.
* Added splitter to options dialog box, which allows resizing of panels.
* Added option to export only selected elements to VTK.
* Added icons to named selections in model tree.

Bug Fixes:
* Fixed crash when opening file with FBS from Finder on macOS.
* Fixed issues with rendering of mesh and edge lines of eroded elements. 
* Lsdyna reader reports progress again.
* Fixed issue with importing edges from feb4 files.
* Fixed ply import for ply files that define additional vertex properties.
* Fixed issue with unicode symbol in unit definition.
* Fixed issue with pick dialog box not displaying for certain mesh selections.
* Fixed issue with reading \r characters in abaqus file.
* Fixed crash in CGLModelScene::RenderDiscrete when nodes don't have a id.
* Fixed issue with picking selection of mesh data.
* Fixed bug in adding log data in Edit Output dialog box.
* Fixed bug in check whether an object's mesh can be deleted.
* Fixed issue with loading linear solvers from feb files.
* Fixed issue with re-evaluating the colormap after a reload.
* Fixed issues with evaluating data on hex20 and hex27 elements.
* Import Image\Tiff menu works again. 


===========================================================================

 R E L E A S E   2.1.2   4/20/2023

===========================================================================

* Fixed issues with saving meshing data to fs2 file.
* Temporarily removed ability to assign parts to surface selections.
* An issue was fixed issue with updating parts.
* Tiff files are now read in by DICOM again. Fixed issues relating to file extentions in SaveAs dialog.
* Fixed graphical bug in image slice view. Slices now render before volume.
* Fixed bug in XMLDocument that caused crash while reading some feb files
* Fixed issue with loading load curves from files.
* Added support for ImageJ tiff images. Added support for xresolution and yresolution tags.
* Fixed bug in rendering contours for Mesh Inspector.
* Fixed minor issues with incorrect warnings in model tree.
* Fixed bug in bounding box calculation for sitk images
* Added support for exporting arrays to vtk as field data.
* Added check for "time" header in vtk. (This is used by febio vtk output for communicating time step.)
* Fixed issue with rendering colormap on beams.
* Fixed issue with rendering fibers.
* Added some checks before deleting objects.
* Setting correct unit system when activating model.
* Fixed issue with exporting part data.

===========================================================================

 R E L E A S E   2.1.1   3/30/2023

===========================================================================

* Fixed naming issue when assigning selections to contact.
* Fixed bug in assigning selections to contact interfaces.
* Fixed bug in void change material feature.
* Added SelectNearPlane tool
* Improved support for reading Abaqus assembly, part instances, node sets, element sets, and surfaces.

===========================================================================

 R E L E A S E   2.1   3/27/2023

===========================================================================

BUILD:
* A big change in this version is that all model components that use selections (e.g. boundary conditions, loads, contacts, etc.) now use "named selections". When creating a boundary condition (or load, etc.) the current selection is converted to a named selection and added to the "Named selections" list in the model tree. In addition, users can now assign the same named selection to several model components. This can avoid duplicated named selections in the feb file format. 
* The fs2 file structure has been modified in order to generate smaller file sizes and load models quicker. 
* Mesh data maps can now be created and edited from within the UI. To add a new mesh data map, right-click on the MeshData item in the model tree and click Add. After adding a map, right-click on the map in the model tree and click Edit to edit the map. The map values can be edited directly or copy/pasted via the clipboard. 
* The 3D image readers have been fixed. Some limited support for (embedded) ome tiffs is available via the File\Import image\Tiff menu. 
* Fixed issue with assigning step components to the correct step when reading feb4 files.
* Added support for new plot file features of febio 4.1.
* Some improvements were made to rendering of lines and discrete elements.
* Fixed issues with reading and rendering fibers defined via a map.
* Fixed issues with import of element data assigned to domains, instead of user element sets.
* Fixed bug in reading shell sections of fs2 files.
* Fixed bugs with copying materials from other open models.
* Fixed import materials from feb files.
* Volume renderer now reports shader compilation errors to log.
* Objects are now checked for dependencies before meshing. A warning message will appear if a meshed object has dependencies. 
* Named selections show number of model components that use it. Added refresh button to model tree. Warning label only shown when there are warnings.
* Added warning messages when users modified shared selections.
* Fixed issue with loading (older) contact interface definitions.
* Fixed crash when element data set has no name attribute.
* Added some more coloring options for marching cubes (i.e. image isosurface). Implemented algorithm for picking an initial reference value.
* Improved z-sorting for rendering transparent materials on post side.
* Implemented change of units for global constants of reference temperature and pressure.
* Added units to graph windows.
* Added option to export marching cubes mesh to stl. Fixed winding issue of mesh generated by MC.
* Fixed issues with reading and rendering multi-channel tiffs.
* Fixed issue with showing math and plot edit when the property type has changed.
* Wireframe rendering now shows object outline.
* Fixed serialization of 1D-function properties.
* Added check for ordinate name in math expression.
* Implemented improved outline rendering in perspective projection.
* Fixed some compatibility issues with volume renderer.
* Added support for reading 16bit-3channel tiff files. Added some initial support for the ome DimensionOrder property.
* Added some simple controls on the View settings panel for multichannel images.
* Added better support for reading and visualizing 16bit tif.
* Added mesh conversion from penta6 to tet4 elements.
* Fixed bug in parsing name attribute of Solutes and SolidBoundMolecules in feb reader.
* Fixed bug with reading name attribute of initial conditions in feb3 format.
* Added error message when parameter cannot be found during copying.
* Added check for invalid module when parsing Module section in feb files.
* Some support for extracting ome-tiff meta-data, in particular the number of channels.
* Fixed issue with reading fsm file that requires febioheat plugin.
* Now extracting descriptions from tiff files. (Is added as a note to the image model.)
* Image model is now named after image source.
* Added clipping planes to volume renderer.
* Now including image models in evaluating global bounding box.
* Added option to replace a contact interface (will preserve selections and parameter values if possible.)
* Added tet4 and tet10 option to Tube primitive.
* Fixed issue with curve disappearing when point is deleted on curve editor.
* Fixed issue with selections not automatically assigned to initial conditions.
* Parallellized histogram update.
* Added gamma correction parameter to view settings.
* Added option to either create element continuous or element constant scalar data field.
* Added support for exporting surface_data log variable to feb4 file.
* Fixed bug and naming conventions when reading contact interfaces.
* Rigid body glyphs are now rendered on part centers.
* Fixed issue with region FE face selection.
* Added direct links in help menu to febio user and theory manuals and febio studio manual.
* Removed quotes around $(Filename) on default command line, which causes issues when running from local configurations.
* Fixed bug with setting reactants in chemical reaction editor.
* Fixed issue with initializing launch configurations.
* Added support for reading FEBio discrete material.
* Save now triggers Save As for feb and xplt files.
* Changed welcome page background for default theme.
* Implemented scale factors for units and a method to convert values between unit systems.
* Now serializing properties for FEBio boundary conditions.
* Fixed bug in edge flip. Handling special case of one selected edge separately in edge flipping.
* Fixed crash when name attribute is missing from Elements section. Added warning when element set of log variable cannot be found.
* Fixed some issues with creating chemical reactions.
* Turned off beautification of parameter names.
* Fixed issue that was clearing the DOFs when document becomes active.
* Added error message when trying to import geometry without an active model.
* Added support for reading load controllers from feb3 format.
* Fixed crash when reading fl08 repo model, which still uses the old "const" body force.
* Fixed buffer overrun in FSModel::GetVariableNames
* Minor extension of AbaqusImport to allow space after last comma on a line.
* Model variables are now recognized in math expressions of 1D functions.
* Fixed issue with importing feb3 nonlinear springs defined via math expression.
* Added support for import and export of user model variables.
* Fixed import of "optimize_bw" flag.

POST:
* Added filter to post material panel.
* Probes are now initially positioned at the center of the current selection.
* Fixed issue with 2e order tets in volume flow plots. Added opacity strength parameter.
* Fixed issue when user cannot select elements on post side if Edit panel is active on build side.
* Fixed issue with "Show Legend" property of slice plot not working.
* Reorganized postsession file writer and added support for custom viewpoints.
* Added option to set time increments for graph window (only works for time-scatter plots).


===========================================================================

 R E L E A S E   2.0   1/5/2023

===========================================================================

* This release is a major overhaul of the code. One of the main goals was a better integration with FEBio. The results of this integration are: 
 - New features in FEBio will be automatically available in FEBio Studio and FEBio Studio now supports FEBio features that previously were not available (e.g. advanced load controllers, mesh adaptors, mesh data, linear constraints, and more). 
 - FEBio Studio can read FEBio plugins, so plugin developers can now setup their models directly within the UI. 
 - Improved consistency between febio input file structure and febio studio model tree. 

* Note that FEBio Studio 2 uses a different extension (*.fs2). Since FEBio Studio 2 can be installed alongside FEBio Studio 1, we opted to change the extension so that it is easier to distinguish new files from older files. FEBio Studio 2 continues to read the older fsm files. 

* This version also has several new 3D image processing capabilities.
 - Support for reading 3d images in several formats, including DICOM, TIFF, OME TIFF, RAW. 
 - A basic image filtering pipeline was implemented. 
 - A tool was added that can interpolate an image onto a mesh and generate mesh data. The mesh data can then be assigned to material parameters. 
 - Improved volume rendering capabilities. 

* Added new dialog for reporting bugs. (menu Help\Submit a bug report)


BUILD: 
* FEBio plugins can now be loaded using the menu FEBio\Manage FEBio plugins. 
* Load controllers are now available and editable directly from the model tree. (Curve Editor window is still available)
* Support was added for truss elements. 
* Parameters in Properties pane on Model panel indicate whether they have load controller assigned. 
* Added support for reading and writing edges to feb4 format.
* Improved Abaqus file reader (Support was added or improved for keywords SURFACE, DSLOAD, AMPLITUDE, BOUNDARY, MATERIAL). 
* A warning indicator was added to the model tree to indicate whether there are issues with the model. 
* Added support for "smooth step" interpolation for point curves. 
* Added button to logfile properties to edit the log variables.
* Edge flipping can now also be applied to selection.
* Added a Material Test tool, which allows users to generate stress-strain curves for the materials in their model. 
* Mesh inspector was improved. 
* Element formulations can now be chosen on the part properties. 
* A tool was added that converts a sketch into a discrete element network. 
* Files from repository panel can now be dragged and dropped on the main window to open them.
* Added support for importing mesh selections from feb file.
* When visualizing fibers, a new toolbox appears that allows users to customize the fiber rendering options. 
* Added option to take cross product of generated vector field in fiber generator tool.
* When running an FEBio model with the default configuration, the progress will be indicated in the main window title bar. 

POST:
* Line (beam, truss) elements can now be rendered as solid. 
* Fixed issue with selecting plot type in graph window.
* Added option to xplt reader to read only converged states.
* Added state's status flag to Post State panel.
* Implemented warp image filter that can apply an FE deformation to a 3D image. 
* 3D images can now be saved to RAW format (right-click on image model and select save from context menu)
* Fixed the Post\Add Displacement map menu. 
* Improvements were made to post session file. 
* Fixed issue with rendering data for penta elements.
* Fixed issue where capture frame was only shown on first plot file loaded.
* When units were used to build the model, the units will be displayed on the post side as well (Requires using feb4 format for the febio input file).


===========================================================================

 R E L E A S E   1.9   12/12/2022

===========================================================================

* Fixed zoning in hollow sphere.
* Added support for editable surfaces in mesh inspector.
* Added support for new gap_offset flag in FEF2FTiedInterface class.
* Fixed issue with scatter plots for object sources.
* Fixed bug causing graph window and curve editor size to not save properly. Graph editor save dialog now remembers previous location
* The "angles" fiber material now supports maps.
* Fixed issue with rendering data for penta elements.
* Fixed issued with exporting element data maps when the corresponding part was split on export.
* Added support for inverting selections in post document.
* Added support for new prescribed fiber active contraction material.
* Added support for importing mesh selections from feb file.
* Set home location in StartSSHSession.
* Added missing parameter in FERigidForce.
* Fixed Fluid RCR load in Fluid and Fluid-FSI module to properly output in febio3 format.  
* Changed Fluid Flow Resistance load to match Fluid RCR and only display/save loadcurves for the pressure offset. Added units to the parameters associated with these surface loads.
* Added "facet area" standard data field.


===========================================================================

 R E L E A S E   1.8   6/15/2022

===========================================================================

* Inactive rigid connectors are now rendered gray.
* Fixed bug in post context menu for surfaces. Improved consistency between post groups (stored on mesh) and user groups (stored on post object).
* Added options to export only current selection and user-defined time step range from PostData panel.
* Post Model panel now shows nodesets, surfaces, and element sets of the mesh.
* Updated plot variables list. Added option to set plot variable category when adding new plot variable.
* Now taking local CS into account when drawing fibers.
* Implemented value-weighted transparency mode.
* Added support for FEHGOCoronary material.
* Added support for reading a series of vtk files.
* Removed min size constraint in screen capture dialog.
* Fixed dpr issue with screen recording.
* Added check for empty data selection in fiber generator tool.
* Added option to size points based on point data in CGLPointPlot.
* Added option to set default font for GL widgets.
* Added support for TET10 elements in FEElementEdgeList.
* Fixed issue with color map range for face data.
* Fixed couple bugs in curve-projection algorithm.
* Fixed bug in FEShellPatch.
* Added plot variable "RVE strain"
* Implemented 'solute natural flux' surface load.
* Implemented ICP Registration tool.
* Non-visible materials show up in italic in the Post material panel.
* Fixed bug with updating plane cut in build mode.
* Added new import data dialog. Optimization wizard now uses this new dialog for pasting data.
* Fixed bug when applying TetGen modifier.
* Added new dialog for capturing screenshot. You can now either save the image or copy it to clipboard.
* Fixed issue with applying modifiers in object selection mode.
* Added option to set text alignment for box widget.
* Moved outline rendering further down the pipeline to address rendering artifact.
* Added option for setting default foreground color of GL widgets.
* Local repo database is no longer deleted on each refresh, it is just completely emptied.
* Added context menu option for changing render order for plots.
* Added icon for point plots.
* Moved point data to PointDataModel class. Implemented mechanism for reloading point data.
* Implemented mechanism for reloading line data.
* Added functionality to specify bearing load. Updated QuadricFitTool functionality.  Updated Quadric functions to be more tolerant to numerical round-offs.
* Added functionality to prescribe a force on a surface.
* Added functionality for prescribing a fixed normal displacement constraint.
* Added fiber-exp-pow-linear as a fiber model.
* Made the "T0" parameter of "uncoupled prescribed uniaxial active contraction" variable.
* Added support for selection only flag when exporting element data.
* Added material active fiber contraction material "force-velocity-Estrada"
* Added "fatigue bond fraction" plot variable.
* Added ability to read/write "reactive viscoelastic damage", "reactive fatigue" and "uncoupled reactive fatigue" materials.
* Fixed typo in Figure 10.2 description in manual
* Added ability to import plot_stride variable from FEBioFormat3 model files.
* Set correct modules when reading feb file.
* Updated GOOCObject to stop using deprecated functions from OpenCascade.
* Added support for new "infinitesimal strain" plot variable.
* Added check for tet slivers in Mesh Diagnostics tool.
* Fixed crash when drawing mesh on planecut.
* Added support new "polynomial" hyperelastic material.
* Added documentation on the auto update settings in options.
* Fixed typo in specification of relaxation-Malkin-distortion material.
* Fixed logic in rendering active-only faces.
* Active faces are now also rendered in wire render mode.
* Fixed bug to properly save plot_level to feb file for modules other than structural mechanics.
* Fixed crash when closing a model document with an active selection.
* Fixed bug with setting active FEPostModel.
* Added materials for CDF power, relaxation-Malkin-dist, and trace-free neo-Hookean.  Added recruitment component to reactive viscoelastic materials.
* Fixed bug when adding new plot that passed incorrect time index.
* Legend bar is now hidden when GLLegendPlot is deactivated.
* Clear projects lists button now clears recent files and recent projects.
* Removed "general spring" and added measure parameter to "nonlinear spring"
* Add units of velocity and angular velocity to FEFluidNormalVelocity and FEFluidRotationalVelocity
* Implemented support for the new general spring material.
* Added support for "scale" parameter of nonlinear springs.


===========================================================================

 R E L E A S E   1.7.1   2/25/2022

===========================================================================

* A bug was fixed that showed duplicate entries of rigid constraints in curve editor
* A bug was fixed that showed incorrect scaling of material icons on post material panel. 
* All graph windows (New Graphs, Summary, Stats, Integrate, and Integrate Surface) now show the name of the corresponding plot file. 
* Fixed bug where element table in mesh inspector was not updated.
* Fixed import of xyzuvw fixed bc of febio 2.0 format.

===========================================================================

 R E L E A S E   1.7   2/18/2022

===========================================================================

* A new post feature was implemented called muscle-path that can be used to simulate muscle wrapping: it finds the shortest, feasible path between two points, avoiding intersecting the geometry. 
* Support for a new post-session file (extension .fsps) was added that allows users to store their current post session, including all plots that were created. Session files are generated by saving a model that was opened on the Post side (e.g. the xplt file). 
* Added support for creating named selections on post side. Named selections are also stored to the session file.
* Support for the kinemat tool was added to the post session file.
* A progress dialog is now shown when loading kinemat data.
* A new time derivative data filter was added, which evaluates the (approximate) time derivative of a data field using finite differences.  
* Implemented transparency for isosurface plots.
* Fixed issues with region selecting on graphs.
* A new ruler post object was added that allows users to measure and visualize the distance between two points.
* Added options to set line mode, width, and color for box and legend widgets.
* Added option to zoom to a user rect to the Graph window.
* Modified integration tool so that it grabs the element data instead of projected nodal data for evaluating element integrals.
* Graphs are now updated automatically when data field selection changes.
* The export FEBio file from Post side now exports the current, deformed mesh.
* Now exporting all data to VTK (not just data tagged with DATA_EXPORT).
* Added track model data parameter to probe. If set to no, the probe's position can be evaluated in a graph window.
* Probes will now follow rigid shell elements. Added feature to show path of probe.
* Added mechanism to show/hide individual plot objects.
* Now using value range as opacity thresholds in volume flow plot.
* Added additional default fields for point plots. Fixed some issues with visualization of point plots.
* Made titles visible on point and line plot legend bars.
* Added additional parameters to volume plot, point plot, and line plot.
* Added support for assigning multiple data fields to point data.
* Added context menu to delete named selections. Fixed issue where name field of named selection shows up twice.
* Fixed the insert curve modifier when using curves from P2P curve objects.
* Fixed radial bias for sphere mesher.
* Added methods for convering surface selection to face selection.
* Fixed some issues with tri10 facets.
* Repo project file names will now wrap to new lines when needed.
* Implemented support for atan2 in math parser (issue #42)
* Fixed crash when curve editor is opened on post side.
* Fixed crash when merge objects is applied without a valid object selection.
* The mesh curvature data field was added to the mesh inspector.
* Fixed some issues with planecut tool.
* Fixed issue with extruding quad faces.
* Fixed meshing issues with torus solid.
* Added option to select hex8, hex20, hex27 element type in most primitives that use the multi-block mesher.
* Implemented support for quadratic hex meshing in multi-block mesher.
* Fixed issue in multi-quad mesher.
* Multiquad mesher can now generate geometry conforming QUAD8 and QUAD9 elements.
* Fixed issue with shell jacobian for quad9.
* Fixed issues with rendering of hidden parts and selection of hidden discrete elements.
* Measure tool is updated when time step changes.
* Added new box-in-box primitive.
* Fixed some issues with plane cut and mesh line visibility.
* Added new volume renderer that significantly improves performance of old volume renderer.
* Added ability to convert 14-node pyramid in Gmsh file to pyra13 element.
* Implemented VTU file reader.
* Added batch file converter for feb to fsm files
* Gmsh import feature for pyra13 elements.
* Added support for exporting to STL from post side.
* Fixed bug in reading material section from Abaqus file.
* Fixed issue with exporting part numbers in LSDYNA export.
* Add plot variable for RVE reforming bonds.
* Add plot variable for effective friction coefficient.
* Added uncoupled Holmes-Mow material.
* Help dialogs now open help links in an external browser.
* Added plot variables for "fluid load support" and "local fluid load support" for sliding biphasic contact interfaces.
* Added "PK1 stress" and "PK2 stress" plot variables.
* Added "activation" parameter to muscle material.
* Added relaxation functions CSExp, Malkin and Prony to list of materials. Changed display of material parameters to use Greek alphabet font in most material descriptions. Added plot variables for strong bond and weak bond SED and deviatoric SED.
* Fixed bug reading in Prescribed Fluid velocity dof tag (changed from vx to wx)
* Import and export nodal loads for shell degrees of freedom. Fix name of "orthotropic elastic" material (previously listed as "linear orthotropic").
* Fixed issue with reading nodedata from febio3 file.
* Fixed issue with crash upon import of model with nodal data.
* Added missing parameters for damage fiber exp-linear.
* Added "rate of deformation" as plot variable.  Added scalar invariants to components of mat3fs plot variables.
* Added support for generator mesh data in febio format 3.
* Added feature to generate FEBio tangent diagnostic input file.
* Fixed bug in material props view when a user just tabs through properties.
* Implemented a dialog for curve import options.
* Fixed issue with reading in mat_axis data.
* Improved support for surface-to-surface map generator.
* Added support for reading mat_axis element data for element sets.
* Added missing "tau" parameter to biphasic material.
* Added plot variable "RVE generations".
* Added parameters wmin and emin to reactive viscoelastic and uncoupled reactive viscoelastic materials.
* Added chapter to user manual describing how to set log and plot file output.

===========================================================================

 R E L E A S E   1.6.1   9/28/2021

===========================================================================

* Re-implemented default mesher for sphere-in-box primitive. This mesher can now create a mesh that conforms to the outer mesh of a sphere.
* Added Out of Date tooltip for files in the repository.
* Repo now asks to redownload out of date files. Repo asks to overwrite modified files. Various other changes and fixes to the tree.
* Repository now records download and upload times for files.
* Fixed bug with integrating element data. (reference and current configurations were switched).
* Fixed some issues with creating 3D image visualizations on post side.
* Shrink/grow selection methods are now available on both build and post sides.
* Added little hack to convert lambda parameter to lam_max for coupled trans-iso MR.
* Made sure that user selections are exported when running model from FEBio Studio.
* Fixed bug in Boundary Layer meshing tool pertaining to setting element IDs when splitting box into wedges or splitting wedge into tets
* Added improved support for point data and point visualization on post side, including ability to render points as spheres.
* Added support for fiber-NH and fiber-natural-NH to library of materials. Updated fiber-exp-pow to accept new parameter lam0.
* Fixed issue with closing model when plane cut tool is active.
* Forced redraw when converting face to element selection.
* Modified "Face to element selection" so it works with model and post documents.
* Fixed issue with exporting rigid section in multi-step analyses.
* Fixed method of specifying plastic flow curve parameters (PFC paper) and math formula (PFC math).
* Updated definition of reactive plasticity and reactive damage plasticity to reflect latest changes in definitions of plastic flow curves. Removed rtol from list of material parameters.
* Added F3 back as shortcut for opening new graph. (And assigned ctrl+shift+F to "Find again").
* Face normals are now re-evaluated after partitioning.
* Updated natural neo-Hookean material to use Young's modulus and Poisson's ratio, instead of shear and bulk moduli.
* Added left stretch tensor as plot variable.
* Added left Hencky plot variable.
* Implemented shell volume calculation for tri3 and quad4.
* Added option to volume average back to summary window.
* Fixed issue with meshing of solid arc.
* Added "right stretch" and "right Hencky" plot variables.
* Fixed issue with importing max_ups from older FEBio formats.
* Fixed crash due to deleting active item in model tree.
* Added some error checking to LSDYNA export.
* Added ability to import/export laugon and atol parameters in SolidDomain and ShellDomain sections of MeshDomain.

===========================================================================

 R E L E A S E   1.6   8/30/2021

===========================================================================

* The help feature on the physics dialog boxes has been restored. 
* Added support for new "Kamensky" material, an isotropic Fung-type material from Kamensky, CMAME 2018.
* An issue was fixed that could cause a crash when starting a recording fails.
* Legend bars of plots are now hidden when the plot is disabled.
* Title is now shown for vertical legend bars.
* Added feature to show location of min/max. (github issue #9)
* A model with active jobs cannot be closed. Tab title now also indicates whether the model is running.
* Fixed issue with processing line data when there are duplicate edges or circular segments.
* Added feature to import materials from other open models.
* Added option to choose current or reference configuration on Integrate window.
* Materials can be exported and imported again.
* Entering notes immediately updates the corresponding item in the model tree.
* Added Newtonian viscous solid material.
* Jobs are deleted when saving a model with Saving As.
* Fixed issue with z-clipping range when objects are scaled. (github issue #28)
* Object info now shows global box dimensions, instead of local.
* Collapse transform can now be applied to a selection of objects.
* Made T0 of prescribed uniaxial active contraction a variable parameter. (github issue #39)
* Added shell_bottom flag for pressure surface load.
* Added "contact potential" contact interface and "mass damping" body load features.
* Modified tet4 split modifier so that it works without an element selection.
* MMG remesh now also works with face selections.
* Repository Upload wizard now asks if you want to save when you cancel with information in the wizard.
* Upload wizard now allows projects to be saved and loaded via json. If an upload fails for any reason, the upload dialog should reopen with the same data.
* Added ability to load info into the upload wizard from a json file.
* Point Distance tool now also works with editable surfaces.
* Added "pressure" field to old xplt file reader when "stress" field is present.
* Fixed issue with import max_ups parameter of FEBio input file.
* Added option to import Abaqus S6 element type.
* Improved clarity of error messages in VTK import
* Fixed issue with grabbing resize area on capture frame.
* Clarified error message on video write fail.
* Fixed issue with changing name of a plot item in the Post model tree.
* Added option to set line thickness of legend bar. 
* Added range division option for tensor plot.
* Updated sliding-biphasic contact interface to include friction coefficient, solid-solid contact area fraction, smooth fluid load support, flip primary or secondary surface, use shell bottom on primary or secondary surface.
* Updated VTK import to handle files with VTU-like format (including OFFSETS and CONNECTIVITY in the CELL_DATA field).  Added QUAD and TRIANGLE elements as import option.
* The time parameter of line data is now mapped to line user data. Added "range mode" parameter to line plot.
* Line plots can now be rendered with a "smooth lines 3D" option, which creates more smoothed renderings of the line data compared to the "lines 3D" option.
* Fixed minor issue with default name of lines in line import tool.
* Fixed bug in line plot with 3D lines not having the right color.
* Added mesh color parameter to plane cut plot.
* Exporting FEBio plot_stride parameter for other modules as well. (Previously this parameter was only exported for solid mechanics problems.)
* Added option to replace existing file when modifying a project on the repository.
* Added code to allow MacOS to handle custom URL scheme.
* Fixed issue with hyperlinks in Repo Project descriptions.
* Added support for handling a custom URL scheme.
* Fixed bug with processing probe data in graphs.
* Added option to calculate signed distance in distance map.
* Added Drucker shear stress criterion to list of damage criterion materials. In reactive plastic damage materials, renamed tags yield_damage, yield_damage_criterion, intact_damage and intact_damage_criterion to plastic_damage, plastic_damage_criterion, elastic_damage and elastic_damage_criterion, respectively.
* Fixed issue with reading data from a VTK file.
* Fixed typo in "extend" load curve parameter value.
* An issue with fixed with input of vec2i (i.e. a vector with two integer) parameters.
* WebHelp feature now relies on local HTML files.
* Added Bingham viscous fluid.
* Added material axes as plot variable.
* Plot and log properties are now updated without rebuilding entire model tree.
* Added support for dropping images onto curve editor to set the background image.
* Added "Open File Location" option for folders in repo panel.
* Set default settings for Show Mesh Lines and Show Edge Lines.
* Added "permeability" plot variable to Biphasic and Fluid-FSI modules, renamed BFSI plot variable "fluid volume fraction" to "porosity".
* Fixed bug in displacement map update that caused crash when reloading plot file.
* Added zooming and scrolling functionality to time line widget.
* The curve fitting tool in the graph window can now fit to a user-defined selection of points.
* Updated ability to import and export linear constraints involving DOFs other than x y z, using FEBio format 3.
* Implemented auto-partition for face selection.
* Element partitions are now preserved with Boundary Layer modifier tool.
* Sorted modifiers on create panel alphabetically.
* Added model tree context menu items to show/hide discrete objects.
* Fixed lighting issue when using mirror planes.
* Added option to set the line color for the undeformed outline.
* Fixed bug that caused crash in Preferences->Display when there is no default multiview projection setting.
* Fixed some issues with export/import of nodal loads.
* Added support for binary PLY format and quad elements.

===========================================================================

 R E L E A S E   1.5   5/17/2021

===========================================================================

* This version addresses several issues with the auto-updater. As a result, this version cannot be installed through the auto-updater, but requires a fresh installation of FEBio Studio. After installing this new version, users will be able to continue using the auto-updater to update FEBio Studio to the latest version. 
* This new version also comes with an updated EULA (EULA version 4) that includes a new PRIVACY clause. This was added because FEBio Studio communicates with an external server in order to provide services such as the model repo and the auto-updater. As of this version, a universally unique identifier is also assigned to each installation of FEBio Studio and send to the external server. This UUID is used to accumulate basic statistics on FEBio Studio usage. No personal data is send, recorded, or shared by FEBio Studio or FEBio.
* This version uses a new version of Qt (version 6). CMakeLists have been updated to work more smoothly with both Qt5 and Qt6.
* Fixed several issues that affected HDPI monitors. 
* Several issues were fixed with the geometry point-to-point, extrude, and revolve tools and the meshing of geometry created using these tools. 
* The TetGen based mesher now preserves element partitioning.
* A bug, which could cause an infinite loop, was fixed in the triangulation algorithm that generates the render meshes for some of the primitives.
* A mesh inflation modifier was implemented that adds a layer of structured elements, while preserving the underlying mesh topology.
* The underlying multi-block mesh generator that many of the primitives use has been significantly improved. For most of the primitives the resulting mesh is not altered, however, the cylinder now produces a slightly different mesh, compared to the previous version. 
* The dogbone primitive uses a different meshing algorithm that does not have the mesh singularity in the curved section. It was noticed that the singularity could create artifacts in the results. In addition, mesh-zoning parameters were added for this primitive. 
* A cylindrical matertial axes generation option was added to the "Set Axes" tool. 
* The fiber generator tool can now also be used to generate material axes. This works by assigning the generated fiber to the local "x" axis, and then generating an orthogonal coordinate system. For shells, the local "z" axis will be aligned with the shell normal. 
* A bug that could crash FEBio Studio was fixed in the "Axes from Curvature" tool.
* The Convert tool on the Mesh panel will now only show available options for the active mesh.
* Support was added for exporting DataArray variables (with DATA_ITEM format).
* Some minor issues were fixed with importing VTK file to post side.
* Fixed issue with scrolling using the mouse wheel in the graph window. 
* Support was added for reading LSDYNA database files. (Go to File\Open, select the LSDYNA database filter, and then select the plot file).


===========================================================================

 R E L E A S E   1.4.2   4/20/2021

===========================================================================

* IMPORTANT: This is the final patch release that can be acquired via the auto-update feature in FEBio Studio 1.4. The next release (FEBio Studio 1.5) will need to be downloaded from the web. After that, you will be able to continue updating via the auto-update feature.
* Added a material property for Parts in the model tree.
* Added Alt+F shortcut for syncing selection from Graphics View to model tree.
* Added "fluid pressure" load list of surface loads available for fluid analyses.
* Fixed issue with importing fluid rotational velocity boundary condition from febio3 file.
* Fixed bugs in Q4-to-Q8 and Q8-to-Q4 convertors.
* Fixed bug in rendering of edges of higher order elements.
* Added support for reading file attribute of log data sections in febio input file.
* The status of the running job is now reflected correctly in the model tree.
* A default volume renderer is attached to a 3D image when importing on the pre-processor side.
* Added check for unique object and part names before adding objects to model.
* Fixed bug in reading xml comments with '-' characters in FEBio input files.
* Fixed issues with edge generation for surface meshes.
* Suppport was added for new interpolation options of load curves, namely cubic spline, control points, and approximation.
* Fixed bug with reading surface names from xplt that were longer than 64. Fixed bug when face data cannot be mapped to an actual facet.
* Reimplemented hole-filling algorithm. 
* Minor fix in STL import. 
* Added "MMG Remesh" tool for remeshing editable surface objects.
* Edit and Mesh panel now only show available convert options in object pane.
* Fixed bug in grow/shrink selection tool for surface mesh objects.
* Fixed performance issue when converting editable mesh to editable surface.
* Added threading support for applying mesh modifiers.
* Elements can now be selected on the plane cut.

===========================================================================

 R E L E A S E   1.4.1   4/2/2021

===========================================================================

* Fixed bug in evaluation of data range for element data using format other than ITEM. 
* Modified parameter names for rigid wall to be more descriptive and consistent between model tree and curve editor.

===========================================================================

 R E L E A S E   1.4   3/29/2021

===========================================================================

* Added concentration tolerance parameter to tied-multiphasic contact interface.
* Fixed issues with export and import of Hill discrete material.
* Fixed some issues related to post models that have multiple meshes.
* Fixed bugs in the model check that could cause crash when no material was assigned to shell part.
* An error message is now shown when exporting a model to febio format fails.
* Fixed bug that was selecting nodes and edges using the region selection tools.
* Eroded (inactive) springs are not rendered.
* A reset button was added to the Settings dialog that will reset all settings to their default values.
* The text of the title and subtitle GL widgets can be edited again. Minor cosmetic changes to GL widgets.
* Added ability to save load curves to file from curve editor.
* LSDYNA export now saves mesh from current time of a post model (instead of initial mesh).
* Fixed issues with rendering internal facets and lines of eroded elements.
* Added prescribe_rim_pressure option to fluid normal velocity.
* The mesh' domain list was added to the Post\Model panel's model tree and options to select or hide the corresponding elements were added to the context menu. (github issue #34)
* Fixed issue with Ansys importer.
* Fixed issue in listing material parameters of materials with multiple nested materials in the FEBio optimization wizard.
* Added support for applying scalar field tool and fiber generator tool to shells.
* Added the name of a selection's parent object to the selection box.
* Fixed some issues with reading math parameters and node sets defined through element sets.
* Fixed crash when document is closed while graph windows are open.
* Added check for empty part list in Abaqus reader.
* Added an "MMG remesh" modifier for triangular surfaces (using mmgs). The new tool is available on the Mesh panel for editable meshes.  
* Fixed minor issue with region selection logic.
* A new mesh diagnostic tool was added that tests various heuristics and attempts to identify issues with an FE mesh. The tool is available from the menu Tools\ Mesh Diagnostics.
* Several issues were fixed with deleting parts of objects. Now, deleting parts will not delete any springs that are applied to the mesh. 
* A bug was fixed in the auto-partitioning algorithm, used by editable meshes, that was creating duplicate edges.
* Fixed bug in VTK export when multiple objects are exported.
* Fixed bug in importing springs from FEBio file.
* Added VTK option to File\Open dialog. This will open the VTK model in post mode.
* An issue was fixed in Revolve tool that detect points on axis more accurately.
* A "Fix mesh" tool was added to the Mesh panel for editable meshes. It currently only removes duplicate edges.
* Fixed minor issue with rendering normals.
* An arbitrary number of solutes can now be exported in the initial concentration feature (not just 6).
* Fixed incorrect syntax of analysis tag for heat-transfer problems in febio3 format.
* Cosmetic changes to Run dialog.
* The opengl version is now printed to the About box. (after opening a model file)
* Fixed issue with showing floating point parameters in model props panel.
* FEBioStudio now saves background color and some lighting settings between sessions.
* Added "relative" flag for rigid body displacements. (only exported for febio3 format).
* Added option to select spring type in import spring tool. Added option to change spring type from model tree.
* Fixed issue with reading shell_normal_nodal flag.
* The time panel now uses a color coding for the model's states. The color depends on the state's status flag as written from the xplt file. 
* Added support for assigning parts to contact interfaces. Parts are converted to surfaces on export to febio file.
* Added menu option to select isolated vertices (Edit\More selection options\select isolated vertices).
* Fixed bug in repo panel that caused issues if the repository folder did not exist.
* Several issues were fixed in the "Refine Mesh" tool for triangular and quad meshes.
* Fixed bug where FEBio could not import prescribed shell displacements for 2.5 and 3.0 format.  Added parameters to sliding-elastic to allow specifying which side of a shell layer should be in contact.
* Fixed several issues with shells that are attached to solids. 
* Added support for "shell_normal_nodal" flag. This flag can now be set in the Model panel (in the Properties pane when selecting a part).
* Added (optional) pitch to Revolve Faces tool to generate helical geometry.
* Load curves can now be assigned to all parameters, not just floating point parameters.
* Fixed issue were fixed with dark theme on mac.
* A warning icon is now added to jobs if the corresponding files cannot be located.
* A "Delete All" context-menu option was added to the Jobs item in the model tree.
* Implemented 13-node pyramid element (PYRA13). Updated implementation for 5-node pyramid element (PYRA5).  Updated face revolve tool to create PYRA13 and TET10 elements for TRI6 faces with a node or edge on the axis of rotation.


===========================================================================

 R E L E A S E   1.3   2/5/2021
 
===========================================================================

* A new auto-update feature was added that will inform users when a new version of FEBio/FEBioStudio is available. This feature can also be used to update the software automatically. 
* FEB files can now be opened as text files in FEBio Studio. When opening the feb file, the user can now choose to import the file as model, or as a text file. 
* FEB files opened as text files can be run directly in FEBio. 
* An improved transparency algorithm was implemented. This algorithm can be computationally more expensive, and if necessary, can be turned off in the Options dialog (Display, Improved transparency).
* The Welcome screen now separates recent model files and recent project (*.fsp) files. 
* Dolly (shift+right mouse button) and pan (ctrl + right mouse button) camera movements are fixed. 
* A bug was fixed with selecting the graphics widgets when multiple plot files are open. 
* Loadcurve can now be assigned to the rigid wall's offset parameter. 
* An issue was fixed that was causing a crash when reading body loads from febio3 format.
* Rigid body names can now be shown as labels in the Graphics View (to turn on, go to Options, Physics, show rigid labels). 
* A bug was fixed with selecting backfacing shell elements. 
* Added option to toggle rendering rigid body glyphs in Graphics View when viewing plot file. 
* Added a "probe" feature for inspecting values of points inside the mesh of a plot file. The value of the probes can be shown in a Graph Window. 
* Added support for plot_level feature in reading/writing feb files. 
* A bug was fixed that was preventing prescribed shell displacements being read in correctly from feb files. 
* A color map option was added to the Mesh Inspector. 
* A bug was fixed that was exporting incorrect values for mat3d variables from the Post\Data panel. 
* A check was added when reading feb files that identifies incorrectly wound facets in surface definitions. 
* The plane cut tool now offers a "hide element" option, that hides elements instead of cutting the mesh. 
* The plane cut will now also show the mesh data when the Mesh Inspector is active. 
* Normals of the surface can now be shown in post view (i.e. when viewing plot files).
* An option was added to the Project panel that allows users to import all the models and feb files from a folder. (Right click on Project item in project panel, and select Import Folder).
* Added improved support for reading feb files that use the FEBioChem features. 
* Added support for density parameter for prestrain elastic material. 
* The Scalar Field tool and Fiber Generator tool were expanded to include an option to select the material. The UI now also includes control parameters for adjusting the underlying iterative method. 
* Improvements to the area coverage tool was added so that coverage can be calculated even of the opposing surfaces intersect. 
* Rigid body material parameters (Young's modulus and Poisson ratio) are now exported to feb file when not zero. 
* The fiber-pow-linear material model was added to the list of supported fiber materials for CFD materials. 
* Imroved support for reading math parameters in feb file. 
* A tool was added for fitting quadrics to selected faces. 
* A bug was fixed that was not taking the light position into account in the Graphics View. 
* Added HGO unconstrained material to list of compressible materials. 
* A new plot data component was added that shows the magnitude of symmetric 3x3 matrices. 
* Improved export of element data to VTK file. 
* An isometric view option was implemented in the Graphics View. (shortcut: Numpad-5).
* Notes can now be added to items in the project panel.
* A few issues were fixed with setting an object's transform via the "Edit\Transform" feature. 
* Some support for reading CELL_DATA from VTK files was added. 
* A new eigen vector data filter was added for mat3ds data fields. 
* Support was added for the Holzapfel-Gasser-Ogden material. 
* Added support for defining a separate output file for logfile output data. 
* The value parameters of prescribed displacement and initial pressure can now be defined as mapped parameters. 
* Fixed a bug with showing the rubber band box in ortho mode.
* Shortcuts were added for the standard views (Numpad 1 - 9). 
* A bug was fixed that caused project files downloaded from the model repository to be stored in the wrong location. 
* Set default locale on Linux to fix issues with feb files not reading and writing properly with system languages other than English. 
* Fixed support for the "from" attribute when reading feb files. 


===========================================================================

 R E L E A S E   1.2   11/23/2020
 
===========================================================================

* Warnings are now reported when invalid surface facets are detected while reading FEBio input file.
* Fixed crash when multiphasic material with solute/sbm is created before solutes/sbm are defined. 
* Modified STL reader so format is detected automatically. Users no longer need to specify whether the file is in ascii or binary format. 
* A bug was fixed in the Decimation tool.
* Objects can now be copied between models (via Edit\Copy object abd Edit\Paste object). 
* The Welcome page is now a separate tab. It can be closed and reopened via Help\Show Welcome Page. 
* Document tabs now show icons. 
* Fixed bug that was adding the "preview" palette each time a new model was created. 
* Fixed the Kinemat tool. 
* Several issues were fixed related to working on multiple models simultaneously. 
* An issue was fixed with rendering edges that have no nodes. 
* When reading feb files, the names of loads are retained. 
* Added density and k (bulk modulus) parameter to uncoupled prestrain material. This was preventing this material from being read in properly. 
* A bug was fixed with processing fiber property in feb files. 
* Fixed issues with rendering shells as hexes. 
* A bug was fixed that was not initializing edges correctly when reading the fsm files. 
* An issue was fixed with region-selecting nodes and faces when "select backfacing" and "ignore interior" options were set. 
* The algorithm parameters behind the "Scalar field" and "Fiber generator" tools can now be set. 
* In the Fiber generator tool, you can now specify for which material you want to apply the tool to.
* An issue was fixed with fsm files not closing properly after they are loaded. 
* A few issues were fixed with the Transform tool, when all transorm properties were set simultaneously. 
* A minor bug was fixed in the project upload wizard on the repo panel. 
* The prestrain constraint class is now available from the Constraints menu. 

===========================================================================

 R E L E A S E   1.1   11/2/2020
 
===========================================================================

* The FEBio 3.0 format is now the default format used when running FEBio models from within FEBio Studio. (Users can still select other formats.)
* Support was added for reading tied-facet-to-facet contact in febio2 files. 
* Abaqus export feature was added. This feature currently only supports writing the model as a single part, and only outputs nodes and elements. It only exports linear and quadratic solid elements. 
* A bug was fixed in febio3 file reader when MeshDomains section is empty. 
* Fixed an issue when using FEBioStudio on multiple monitors that have different dpi settings.
* A bug was fixed when a user tries to assign a mesh selection from another mesh that the model component was already assigned to. 
* A bug was fixed when rendering color gradients on discrete elements. 
* An issue was fixed when reloading plot files while graphs were open. This led sometimes to FEBio Studio crashing. 
* Several issues with visualizing 3D image data in post mode were fixed. 
* A context menu option was added to the model tree to allow the user to delete all discrete elements. 
* For colormaps and tensor plots the min/max range options can be set independently. 
* A couple bugs were fixed related to importing and exporting rigid constraints to febio3 format. 
* Support for xplt format 3 was added, which writes rigid bodies and rigid constraints to plot file. 
* An option was added to set a limit to the path length of a particle flow plot. 
* The PRLig material was moved to the "elastic" category (it was incorrectly listed under the "uncoupled elastic" category). 
* The Scalar Field tool can now be used to generate element data, which can then be assigned to a material parameter. 
* The selection box now supports collapsed view, which is the default for mesh item lists.
* A feature was added to grow and shrink selections. Use menu "Edit\More Selection Options\Grow (Shrink) Selection", or the corresponding shortcut keys. 
* An issue with the layout spacing of the description on the repo panel was fixed. 
* An option was added to the Abaqus importer to ignore the solid sections. 
* A few feature was added that allows a part selection to be converted to the corresponding element selection. 
* The febio3 exporter now writes named element selections. 
* Local repo file structure will now mimic file structure on repo panel. 
* A bug was fixed that was causing a segmentation fault when users tried to edit vec2i parameters. 
* Some issues were fixed reading MeshData section from febio 2.5 and 3.0 files.
* Added support for the "smooth_aug" parameter to the sliding-biphasic contact.
* Some issues were fixed with "target" rigid forces. 
* The "show material fiber" options is now stored in settings file. 
* The option to show fibers on hidden parts was expanded to include hidden elements. 
* Default material fiber orientation was changed to be consistent with FEBio. 
* The model tree now shows the type string next to each item. 
* An issue was fixed with processing mesh edges that was causing slow performance for models with a large number of edges. 
* The timeline panel was added which shows a time line of the states in the post model. 
* Support was added fir defining load curves for contact parameters (fixes issue #14). 
* A fix was added when reading febio2 files that converts the old "theta" and "phi" parameters of some fiber materials to the new format. 
* New materials were added: reactive plasticity, reactive plastic damage, DC octahedral shear streain. 
* Ported the old PostView save options to FEBio Studio. 
* Users can now set displacement scale factor for x,y,z independently. 
* The scale filter applied to vector fields now allows users to set the scale factor for x,y,z independently. 

===========================================================================

 R E L E A S E   1.0.3   10/7/2020
 
===========================================================================

* A bug was fixed that was causing some material parameters in a solid mixture (and other nested materials) to be reset when making edits in the material properties list.

===========================================================================

 R E L E A S E   1.0.2   10/2/2020
 
===========================================================================

* A bug was fixed that was preventing febio 2.5 files that contained mesh data "generators" from being read in. These sections are still ignored, but will not prevent the rest of the file from being read in. 
* A bug was fixed in reading prescribed bcs of the febio 3.0 file format. 
* A bug was fixed in the project tree of the repo panel and upload wizard related to how the folders are organized.


===========================================================================

 R E L E A S E   1.0.1   9/1/2020
 
===========================================================================

* This patch release fixes an issue with the default FEBio launch configuration on Windows. 

===========================================================================

 R E L E A S E   1.0.0   8/24/2020
 
===========================================================================

* This is the first official release of FEBio Studio. FEBio Studio integrates PreView, the FEBio pre-processor, and PostView, the FEBio post-processor, in a single unified software package.
* FEBio Studio can also run FEBio models directly from the UI and will always ship with the most recent
 R E L E A S E   of FEBio. This first release uses FEBio 3.0. 
