Releases: cmlibs/zinc
v3.5.1
This is an official release of OpenCMISS-Zinc v3.5.1
v3.5.0
This is an official release of OpenCMISS-Zinc v3.5.0.
CHANGE LOG: OpenCMISS-Zinc Library
v3.5.0
Add support for relative paths in region find/create subregion; add get path, relative path, root.
Add Apply and Argument fields which apply real-valued field expressions with argument binding, including from another region.
Add Field dependsOnField API.
Deprecate Alias field. Now creates an equivalent Apply field.
Behaviour change: Automatically-named fields are automatically renamed to make way for different fields needing their names.
Behaviour change: Model read fails if any field is incompatible with existing field of same name. Previously renamed finite element fields.
v3.4.0
Fix crash in manager cleanup when change caching left active.
Fix defining fields from model files and respecting unmanaged status while change caching active.
Fix reading empty strings from EX files.
Evaluate gradient in lower dimensional elements.
Add exception-safe ChangeManager change caching template to C++ API.
Add Materialmodule description json serialisation API.
Add Materialmodule, Fieldmodule getContext API.
Add Context getName API.
Add Graphics BoundaryMode which generalises exterior flag.
Add enum to/from string name APIs. Fix some names to match unique part of enumeration constant.
v3.3.0
Add field parameters interface.
Add evaluation of field derivatives with respect to field parameters, fallback to finite difference.
Add NEWTON method to optimisation using field parameter derivatives and matrix assembly.
Add optimisation dependent field API
Deprecate optimisation independent field API (should have been called dependent).
Maintain map from element to nodes for stored mesh location fields at nodes.
Add optional map from nodes to elements in nodeset operators, to evaluate per-element.
Evaluate mesh integral field at elements to give element integral.
Evaluate exact higher field derivatives for many field operators, some to just second order.
(Break) Element field templates with unused scale factors now fail in validate check.
v3.2.0
Add support for cubic Hermite serendipity basis.
Add support for higher derivative evaluation w.r.t. element chart coordinates.
v3.1.2
API changes:
(Break) Split element API header into: element, elementbasis, elementfieldtemplate, elementtemplate, mesh
(Break) Split node API header into: node, nodeset, nodetemplate
Deprecated several element template methods.
Behaviour changes:
Now writes models in new EX and FieldML formats which cannot be read into older versions of Zinc.
v3.1.1
Deprecated API status headers and enums for result/error codes. Use result headers and enums instead.
Default behaviour changes:
Default ratio of diffuse to ambient light changed from 0.9:0.1 to 0.8:0.2.
Default tessellation refinement factors increased from 4 to 6.
2753 Incremental graphics build. Graphics build for approximately 1 second before display in scene viewer and triggering another build/redraw. Currently limited to whole elements or nodesets.
v3.0.1
API Changes:
(Break) 3490 Changed enumerator values in enum cmzn_node_value_label to permute in lowest s number fastest, matching cm/Iron. This is a binary break, not a source break.
(Break) 3490 New format for element fields written to EX file, mapping by derivatives and versions instead of node indices. Old files can still be read; new files can't be read by older versions.
(Break) 3288 Changed element face type enumeration: ALL replaces INVALID in matching any element, ANY_FACE replaces ALL in matching any element that is a face, NO_FACE option added. Binary enumeration values changed.
v3.0.0
API Changes:
3079 As part of branding as OpenCMISS-Zinc Library and eliminate name clashes, change C++ API namespace from zinc:: to OpenCMISS::Zinc::, and C API prefix from Cmiss_ to cmzn_.
3260 Move all enums into types/*id files. Removed interactive tool from external APIs. Removed all legacy Cmgui 'execute command' APIs. Replaced with direct APIs.
3360 Added isValid APIs for all C++ classes.
3361 Renamed iso_surfaces to contours.
3406 Change component field to use first component index = 1 (was 0).
3554 Removed rendition and merged its functions into scene, scene now is the
graphical presentation of a region.
3574 Fix inconsistent API header names between C and C++.
3580 Dedicated APIs for get/set is_managed status replaced general attribute APIs.
3627 Replaced generic get/set_attribute functions with direct APIs.
3661 Removed graphics module APIs and moved the graphics related modules getter APIs to
context and scene.
3662 Standardise API type names and enumerations in C and C++ APIs. Includes using full type names in create and other functions, and multi-word type names are compounded into a single word e.g.
field_cache -> fieldcache (FieldCache -> Fieldcache in C++).
3668 Changed default projection mode to be perspective. Fly zoom mode is now the default right button drag behaviour.
Added Features:
455 Added stream APIs to support compressed files.
2107 Added glyph APIs, custom glyphs can now be created from glyph module and set on point graphics.
3185 Improved region import/export APIs to support datapoints import and domain specific exports.
3260 Added setTextureField and setTextureCoordinateField APIs to materials.
3359 Implemented UI-independent OpenType fonts.
3360 Added field, scene filter and glyph cast-to-derived-type methods to C++ API.
3361 Completed graphics APIs, added graphics point attributes APIs for editing point graphics, added graphic line attributes APIs for editing line attributes. Points graphics type with separate field domain type (supersedes use_element_type) to replace point, node_points, data_points, element_points. Improved efficiency of changing spectrum.
3362 Added timekeeper module to support adding multiple timekeepers in future.
3425 Added field module notifier and field module event query for individual field changes. Added nodeset/mesh changes objects and API for enquiring about changes to nodes/elements from a field module event.
3454 Sceneviewerinput which handle inputs into libZinc scene viewer which is useful for transformation and zooming.
3492 Improved image field APIs.
3498 Adding analyze image format handling.
3528 Reintroduced timekeepers and timenotifier (previously known as time object).
3530 Adding API for creating derivative fields (derivative, curl, divergence, gradient).
3532 Adding new API to be able to compute nodeset minimum and maximum.
3550 Added scene picker which can be used for picking objects from scene with provided information.
3550 Added scene filter by graphics type.
3581 Added tessellation module for managing tessellation objects.
3583 Added font module for managing font objects.
3586 Added spectrum module for managing spectrum objects.
3589 Added material module for managing material objects.
3597 Added scenefilter module for managing scenefilter objects.
3609 Added scene API to render graphics to a point cloud.
3611 Added more image processing APIs to C++ interface.
3630 Added scene API to get spectrum data range.
3636 Greatly improved spectrum APIs.
3639 Added APIs to get and set wrap mode of image field.
3640 Improved Sceneviewer APIs.
3646 Added set identifier methods to node and element.
3647 Added new yellow, magenta, cyan, orange, brown, grey25, grey50 and grey75 default materials.
3678 Added functions in image resample field to specify input coordinates bounds and texture lookup coordinates, allowing image processing on images with texture coordinates outside of the 0 to 1 range.
3687 Added three new context APIs - get version, get_revision and get_version_string.
Bugs fixed:
Fixed several bugs causing occasional crashes and memory leaks.
3347 Fixed incorrect error message when creating a material.
3677 Fixed a bug causing libzinc unable to render selected elements/nodes
with selected material when display_lists is off.
3694 Fixed evaluation of derivatives for dot_product field.
Miscellaneous:
3079 Brand as OpenCMISS-Zinc Library.
3359 Separate Zinc Library from Cmgui source.
3439 Build Zinc using cmake, build and test with buildbot.
3558 Updated source code license to MPL2.0.
v2.9.0
API Changes:
(New) Add CMISS_SCENE_VIEWER_INPUT_MODIFIER_NONE mode
(New) Enable more field types for create/define fields APIs
Added Features (some incomplete):
3133 FieldML 0.5 import, replaces FieldML 0.4 import.
3184 Allowed reading data into a specific region.
Bugs fixed:
Fixed several bugs causing occasional crashes.
3115 Key presses now get sent to scene viewer callbacks
3160 Fixed crashes caused when passing a null field to cmzn_field_module_create_abs
3167 Fixed setting linear filter for image field has no effect
3181 Fixed crashes when passing null context to cmzn_context_get_default_region
3207 Fixed streamlines not showing on 2D models
Improvements:
2512 Remove group regions, replaced by group fields
3213 Improved field evaluation/assignment caching
Miscellaneous:
Removed cmgui-motif from current build
v2.8.0
API Changes:
(New) Optimisation API
(New) Graphics material API
(New) Field evaluation and assignment API
(New) Scene graphics filtering API
(New) Cmgui Input/Output (Stream) APIs for regions and image field
(New) Graphics tessellation API
(New)API to support external wx main loop
(New) Image field API
(Break) Remove cmiss_timer API
(Break) Remove texture API
Added Features (some incomplete):
1047 Merge scene and region hierarchies.
1699 Print out antialiasing images using cmgui-wx
1776 Region-capable selection and groups.
1844 Implement fitting and optimisation.
2549 FieldML 0.2 import.
2624 Scene graphics filtering
2680 Added graphics coordinate system
2683 Export points with wavefront format
2684 Improve spectrum rainbow
2749 Graphics tessellation objects and editor
2775 Add xi dis...
v3.4.0.dev1
This is a development release of OpenCMISS-Zinc v3.4.0.dev1
v3.4.0.dev0
This is a development release of v3.4.0.dev0