forked from cmiss/cmgui
-
Notifications
You must be signed in to change notification settings - Fork 1
/
CHANGELOG.txt
404 lines (345 loc) · 19.5 KB
/
CHANGELOG.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
CHANGE LOG: OpenCMISS-Cmgui Application
v3.0.1
(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.
v3.0.0
Major change:
1848 From release 3.0, Cmgui is a client of OpenCMISS-Zinc Library. Thus it includes many new features such as new image and model file formats, graphics and rendering improvements that are listed under the Zinc CHANGELOG.txt file.
Added Features:
3424 Completely rework fonts, support 5 different font types - PIXMAP (default), bitmap, polygon, extrude and outline
3668 Added Fly zoom mode, it is now the default right button drag behaviour.
3682 Re-added visible rubber band for box selection.
Bugs fixed:
2852 (MacOS) Fixed a bug causing segfault when node viewer is brought up from Cmgui.
3213 Improved field evaluation/assignment caching. Fixes some cache bugs with time/nodal lookup fields.
3260 Fixed shininess of material not being set properly from command in the cmgui application.
3260 Fixed a bug causing free tumble while the sceneviewer is in select modes.
3260 Fixed a bug causing image field to take only positive double for minimum and maximum options,
they should take any non-negative value.
3260 Fixed gfx destroy nodes/elements commands to do logical AND of conditional and group fields,
not OR. Fix ability to destroy nodes from a group.
3260 Fixed perspective checkbox not changing projection mode on other panes when it should be changing.
3389 Fixed handling of C string obtained from temporary wxString in graphics window, time editor. Fixed formatting including indents.
3395 Stop scene editor guessing coordinate field for existing graphics that have none. Was causing dialog to show graphics having a coordinate field when they did not.
3651 Fixed graphics window number not being reused when a previously used one is destroyed.
3657 Fixed the bug which caused cmgui to not quit when it receives a 'quit' command from comfile when started on command line.
3690 (MacOS) Fixed a bug causing overlaying text on graphics interactive tool bitmap buttons
Improvements:
2107 Glyphs have been improved and can be customised more freely.
2107 Update migration help for gfx create axes command.
3260 Added filter chooser in spectrum editor and added filter option for spectrum commands.
3359 gfx list window now displays more GL information.
3361 Updated cmgui to use new points graphic type with separate field domain type. Migrate gfx commands for replacement of point, node_points, data_points, element_points with points+domain_type. Fix offset of point graphic with scale.
3361 Added new Add... menu for creating legacy graphic types in scene editor, and migrate other parts of scene editor for new points graphic.
3361 Updated cmgui for removal of mirror glyphs, and replacement with mirror_glyph_flag in graphic point attributes. Update gfx commands to handle new mirror_glyph option and match old mirror glyph names to the non-mirror glyph plus mirror flag. Update scene editor to have mirror_glyph checkbox.
3410 Node viewer dialog now using external Zinc API and working more efficiently.
3609 Added point cloud density controls to gfx convert graphics in cmgui.
3618 Update cmgui for circle discretization moving from graphic to tessellation, and removal of element discretization from graphic. Add circle_divisions to tessellation commands and dialog. Make tessellation compulsory for graphic in scene editor. Handle migration of circle_discretization and element discretization in graphic and rendition general settings; makes temporary tessellation to match.
3619 Allowed change identifier to handle group.
3633 Added white to green spectrum setting.
3647 Added new yellow, magenta, cyan, orange, brown, grey25, grey50 and grey75 default materials.
3678 Added the ability to specify the input coordinates bound and texture lookup coordinates for image resample field. Added the ability to specify texture size when defining image field in cmgui.
3686 Node tool now able to edit notes from subregions.
Changes:
3361 Update cmgui for renaming of iso_surfaces to contours. Legacy iso_surfaces commands still work.
3564 Removal of weights from sum_components field and move to vectoroperators. Sum components command uses a dot product with a constant field of weights if not all equal to 1.
3569 Update cmgui for cross product field taking number of fields argument instead of dimension.
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 discretization modes to streamlines
2842 Read fieldML 0.4 format into Cmgui
Bugs fixed:
Fixed numerous occasional crashes.
2769 gfx read elements generate option works for root region
Improvemnets:
2365 New mechanism for static graphics in scene
2702 Hierarchical transformation
2817 Visibility flag to work hierarchically
3026 Improved performance when rendering element points
Others:
2529: Simplify changes for buulding third_party on different windows platforms
v2.7.1 (In development)
Added Features (some incomplete):
1047 Merge scene and region hierarchies.
1776 Region-capable selection and groups.
1805 Use double precision for real fields.
2549 FieldML 0.2 import.
v2.7.0
12 Apr 2010
This is an official release of cmgui.
API Changes:
(Break) Context API replaces command data. User interface must be enabled explicitly before using graphics, time and execute_command.
(Break) Region API. New methods for creating regions and finding subregions. New method to get field module. Removed obsolete cmzn_region_add_field.
(Break) Field API. New Field_module API has factory methods for creating fields owned by a region; no need to call cmzn_region_add_field. New get_name function.
(Break) Object persistence API. New ~set_persistent methods for field, material must be called for objects to persist in owning module when no external references held.
(New) Graphical material API.
(New) Time API.
Added Features:
1037 Field API
1630 Time object and time keeper API
1788 Added information in about dialog
1854 Support write exnode function at specific time
1990 New isosurface code including tetrahedra support
1992 Surfaces made from exterior faces should now have outward normals
2091 Support texture tiling on special case for orthogonal aligned texture coordinates
2096 Graphical material API
2105 Support per-element constant fields
2387 Region API
2417 Replaced command data with context as main object in API
2458 Added more discretization modes to simplex
2491 Object persistent API
Bugs fixed:
995 Remove CREATE and DESTROY macros from API
1023 Fixed missing geometry in tiled element
2037 Fixed crash when when closing the scene editor while the focus is on the isovalue text box
2092 Texture properties are no longer merged when a texture is modified by reading in a new image file
2377 FixedIntel drivers incorrectly clip new graphics buffers
2427 Fixed image field API not working properly due to restriction on modifying number of components
2451 Fixed strange name when saving png file
Improvement:
2064 Rendering optimisation for picking, spectrum, glBegin/glEnd
v2.6.2
20 Jan 2010
This is an intermediate release of cmgui, parts of the software may or may
not work.
Added Functions (selected list):
1626 Field dependent visibility
1837 Added glyphs that have texture coordinates
1917 Width option for isolines
1989 Triangular meshing
2050 Tetrahedral meshing
Bugs fixed:
949 Cmgui now prints out extra large images correctly
1789 Timekeeper's time has been tweak to work correctly
1791 Fixed cmgui does not evaluate field value at the right time in rare occasion
1833 Fixed antialiasing not applied to other scene viewer panels except the first one
in rare occasion
1854 Allow user to output ex format file at a specified time
Improvement:
1738 Better CMake support.
1788 Added more information to the about box.
1990 New isosurface algorithem which should improve performance and it now handles tetrahedron
2012 Use 16bit storage for 16bit grey scale image when rendering using OpenGL
Others:
More api functions have been exposed for api user and have started work on the c++ api but note that the api functions are not yet finalised.
v2.6
5 May 2009
Breaks:
1609 Command "gfx write nodes/elements/data" 'fields' option now requires field names to be separated by ampersands (&)
Added Functions (selected list):
866 Added quadratic simplex (tetrahedron) element basis functions.
883 Implemented offscreen printing for cmgui-wx. (Anti-aliasing not supported yet)
901 Improved time dependent transformation interface.
948 Greater support of different DICOM formats using GDCM.
976 Rendering of full resolution textures about GPU supported sizes by tiling (in certain cases...)
990 Added scene chooser on graphics windows.
1019 Added transformation editor of scene objects.
1022 Added graphics font support in cmgui-wx.
1026 Added Opengl GLSL support.
1030 Added 'function' field type for reusing another field's function with a different source field.
1035 Optimized basis function calculations.
1037 (Ongoing) Introducing new field API.
1067 Fields owned by region - can now define computed fields in sub-regions.
1129 Complete wx interface
1130 Allowed user-defined shading programs.
1323 Enforced field ownership and relationships within region.
1447 (Ongoing) Using environment variable overrides for OpenGL extensions.
1486 Added 'alias' field type for importing a field from another region.
1522 Added absolute value field.
1527 Beginnings of SWIG API support.
1609 Added support for regions and comments in EX file format - read and write.
1630 Added time notifier and time keeper API.
1733 Windows support for the -example command line option
Added cmgui user documentation in docs folder and wiki including 1534 EX file format guide.
Bugs fixed (selected list)
844 Fixed sub-regions not supporting time
910 Fixed if a node is labelled with a field that is not defined for the node then it is not rendered.
1020 Fixed 'gfx destroy lines all' destroys elements too.
1069 Fixed merging element fields with no scale factors crashes.
1580 Fixed set_values on composite field can lead to undefined values.
1623 Fixed time_keeper fails to notify clients when t = 0.
1643 Fixed file dialog title text is garbled for open com file dialog.
1654 Fixed CMGUI fails to continue playing time keeper.
1785 Fixed CMGUI fails to render all child scenes of a scene.
25 June 2008
API changes:
cmiss_scene_viewer.h
cmzn_scene_viewer_get_frame_pixels now takes a
enum cmzn_field_image_storage_pixel_format storage
rather than a Texture_format enumerator.
cmiss_field_image.h New interface.
v2.5
17 Dec 2007
Third release of cmgui-wx.
Fixes:
Fixed user interface resizing issue.
Fixed a number of memoryleak.
Fixed a number of bugs.
Added interface components:
Element point viewer, Spectrum editor, Time editor, Material editor.
Added functions:
Time dependent transformation using quaternion.
Write out a total comfile.
Save all (reproduce the exnode, exelem and com file).
List all (List of commands used to construct the current model).
A number of image filters.
The ability to specify a sequence of iso values with a number, first and last value.
Added a new parameter for scaling the lit volume control.
Others:
cmgui-wx will use the best graphics settings available.
Offscreen buffering of cmgui-wx.
Enables order independent transparency in win32.
v2.4
11 May 2007
Releasing wx version.
Lots of new ITK filters.
Add support for a Graphics_library_tentative_check_extension which is true until we are sure whether
or not an extension works. This can be used for commands, which may be called before OpenGL is
initialised but we would like them to fail if they aren't working after it has been initialised.
Graphics_library_check_extension should be tested before actually using any extension, it will be
false unless we know the extension really works. By now the display should have been initialised.
Use this new tentative check for bump_mapping and colour_lookup_spectra in materials.
Update perl modules to work with CMGUI without global variables.
Add image_resample computed field to commands.
No longer need to specify_width, specify_height, specify_depth or texture coordinate when working
using evaluate_image, the default values are retrieved from the source field.
Respect clear colour setting on spectrum when requesting rgb value.
Add support for bzip memory streams.
Each graphics window has its own interactive tools and settings of different interactive tools can now
be triggered using commands and apply to all current graphics windows.
Add gfx define font to allow font objects to be created and most
importantly to allow the default font to be redefined.
List the total number when nodes or elements are listed with gfx list node.
Allow the font to be specified when creating a colour_bar.
Allow a colour bar to be created for a specific data component.
Cmgui-wx now remember the directory where you previously open the file from.
Add a spectrum_settings that uses computed_fields to calculate the colour tranformation.
Add Option_table_add_help and try this function with the compose computed field.
Fix a bug passing the array of variables for matches and tidy up the regular expressions.
Fix a memory leak with the swizzle string for the material dependent texture program.
Node viewer now allows user to show variables from all fields at the same time.
v2.3.3
18 December 2006
Shifted to externally visible subversion server.
Added cmzn_scene_viewer_set_depth_of_field and cmzn_scene_viewer_get_depth_of_field.
Add cmzn_scene_viewer_set_background_texture_info.
Fix bug calling get_FE_element_dimension when there is no element.
Fix bug in derivative computed field.
Stop segfault if source field not specified for derivative computed field.
Add a natural logarithm computed field "log".
Registered command for threshold filter computed field
Changes for initial support for WX_USER_INTERFACE and conversion of files to C++.
Enable element_tool and element_point_tool without dialog in all versions.
v2.3.2
5 October 2006
Added colour_lookup_spectrums to materials for doing colour space transformations
in the graphics hardware.
v2.3.1
30 August 2006
Started adding in ITK.
v2.3.0
29 August 2006
Changed internal structure of Computed_fields to use a C++ class rather than
imitating this in C with function pointers. Reduced the number of virtual methods by
consolidating the set/get functions with a generic location rather than separate
functions for nodes and elements.
Removed legacy image processing computed fields as we plan to replace them with ITK.
Fix some typos where data groups propogated incorrectly to the node parent.
v2.2.3
Enabled emoter to work without motif gui and enabled command only version for all non
motif builds.
Internally renamed Control_curve to just Curve.
v2.2.2
Support the OpenGL extension GL_ARB_texture_non_power_of_two and delay the
expansion of textures that are not power of two till render time so it can be
avoided when not required.
Add support for conversion of lines (isolines) to node points in "gfx convert graphics".
Fix for reading in of wavefront obj files.
v2.2.1
Added node_offset/data_offset to gfx read nodes and data respectively.
Added node_offset, element_offset, face_offset and line offset to gfx read elements.
Added generate_faces_and_lines to gfx read elements.
Calculate winding order left or right handed at element centres for isosurfaces.
Added string_constant computed field.
Change equal_to computed_field so that it can operate on string values if either
field is defined but does not have numerical components.
Use CMISS_EXAMPLES environment variable to determine where the example tree is
rather than the Cmgui motif/X setting file.
v2.2
Removed computed variables by default. To put it back in change USE_COMPUTED_VARIABLES to true in the makefile or by specifying it on the make command line.
Added new texture wrap modes edge_clamp_wrap, border_clamp_wrap and
mirrored_repeat_wrap from recent versions of OpenGL.
Fixed problems with methods not being fully set correctly for some computed fields.
Changes to support streamlines in tetrahedral meshes.
Changes to support isosurface generation in tetrahedral meshes.
Added code so that triangles for isosurfaces are generated with a consistent winding
order even in meshes which have inconsistent lefthanded and righthanded coordinate systems.
Fixed to grid point evaluation.
Allowing streamlines to be seeded from the nodes in a region.
v2.1.1
Large speed improvements for "gfx select nodes" and "gfx select elements".
Get regions to cache get_next_element_id so that it can be kept over multiple commands.
Image resampling improvements.
Started 'gfx export cm'
Reenabled automatic monochrome storage of images.
Added a weighting field to "gfx create snake".
Added a few more logical operators for less_than, greater_than and equal_to in computed fields.
v2.1
Fix comfile script: cmgui-2.1/fixcom.pl
Added support for fitting multiple fields with "gfx create snake"
Began "gfx export cm" to write files for the old cm.
Added gfx convert elements (and changed the old gfx convert to be gfx convert graphics) which converts one form of elements to another. The only conversion I have implemented so far is the conversion of any 2D element surfaces to true toplevel 2D bicubic hermite elements. The cross-derivatives are not correct and need to think about how to fix this.
v2.0.2
Fixed gfx unselect data.
Fixed contour bands on iso_surfaces.
Fixed code for allocation of large arrays to use long ints where necessary.
Added code so that node changes propogate through a nodal_lookup computed field to a computed_field change.
Fixed a couple of bugs in cmgui with the scene editor and an iso_values list.
Many minor fixes of leaks or use of uninitialised values as detected by the new valgrind testing.
v2.0.1
Added glyph functionality to create graph axes
Added first pass at iso_surface_decimation.
Added a new coordinate system where objects are displayed relative to screen coordinates.
v2.0.0
First open source release. License updated to Mozilla Public License.
Lots of tidying up.
Added README, INSTALL, RELEASE_NOTES and CHANGELOG.