-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCHANGELOG
398 lines (382 loc) · 22 KB
/
CHANGELOG
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
-------------------------------------------------------------------------------
v2024.1, 03 January 2024
Milestone "ver 1.2": https://gitlab.com/ssv/AnalysisSitus/-/milestones/1#tab-issues
-------------------------------------------------------------------------------
## Infrastructure/Configuration
- Make application icon red to distinguish between release and debug builds.
- Make application load custom plugins from `asi-plugins` directory.
- Rework executable to allow for true headless batch mode (no UI, no attempts to construct windows).
- #153: make `asiExe` the default startup project in cmake.
- Make Analysis Situs read cbf (binary OCAF) files by double click.
- Port baseline of Analysis Situs to OpenCascade 7.6.0 (ver 7.7.0 has also been checked).
- Move explicit class template instantiations to after it's full definition. C++11 requires a member function of a class template precede the explicit instantiation of that entity (https://timsong-cpp.github.io/cppwp/n3337/temp.explicit#4).
- Update `Dockerfile` to the one provided by JohannesV (brings Analysis Situs GUI to Linux natively with little to no efforts). See http://analysissitus.org/forum/index.php?threads/compilation-on-linux.5.
- Add `Dockerfile` for the server executable of Analysis Situs.
- Add compilation guides for Linux (https://analysissitus.org/features/features_build-linux.html).
- Add tutorial for building Analysis Situs in CLion (https://analysissitus.org/features/features_build-linux-clion.html).
- #170: get rid of "Metadata Element" Nodes to save space and compactify OCAF storage.
- #171: reuse labels of dead Nodes to expand the newly allocated Nodes (thus avoiding hidden memory leaks in OCAF).
- #169: fix missing function names in the test report.
## Console Commands
- #110: paste file path on drag&drop to Tcl console to ease loading CAD files in UI.
- #109: add `check-volume` Tcl command.
- #123: introduce `dump-autoread` command for saving and autoloading Active Script contents.
- #93: automatically turn on part visibility on `set-as-part` command.
- #127: introduce a tool for checking the validity of facets.
- Add Tcl command to save XDE to STEP.
- Add "find vertex" GUI dialog and `select-vertices` Tcl command.
- Let `convert-to-bsurf` command operate on the entire part.
- Make `check-area` accept a face index.
- Introduce `check-clearance` Tcl command.
- #164: add visualization facilities for a discrete model of a B-rep face.
- #138: fix `save-step` command that does not pass colors through.
- #139: add possibility to generate facets for the active part without using XDE API.
- Polish helping hints for Tcl commands.
- Add `dfbrowse` command for the active project.
- Add `sparse-point-cloud` Tcl command.
- Restore `save-as` and `load` commands for native file format (cbf).
- #200: fix colors not exported by `save-gltf` command.
- Add `poly-grow-region` command.
- Add `poly-count-ccomps` command.
- Add `asm-xde-transform` command.
- Add `check-canonical` command.
- Make `push-pull work` in the negative direction w.r.t. the selected base face.
- Add `load-astra` command.
- Speed up `poly-find-adjacent -v` command.
- Add `convert-surf-c2` command for converting splines to class C2.
- Add `asm-xde-unload` command to break down assemblies onto individual part files.
- Introduce `check-distance-to-chull` command.
- Introduce `re-approx-contour` command.
## AAG
- Add `Collapse()` method in the C++ API of AAG for virtual collapsing of graph nodes.
- Propagate dihedral angle in AAG collapse.
- Add possibility to request optional vertex adjacency relations in AAG.
- Introduce optional domain indices for vertex adjacency arcs in AAG.
- Add "face UV bounds" AAG attribute for the sake of caching in performance-sensitive applications.
- Cache uniform grid during convex hull recognition.
- Add "non-manifold" dihedral angle type.
## UI
- #96: make it possible to select all faces with "Ctrl+A" key combination.
- #114: allow selecting edges in the wireframe mode.
- #115: add "Explore..." action for the Part Node.
- #119: add a parameter to control point size.
- #120: add color parameter to point clouds.
- #124: if a cylinder/cone is selected, allow measuring its angle.
- Add "clear" toolbar button to clean up the entire project.
- #160: fix isoparametric lines rendered far from face location.
- #126: hide "check dihedral angle" if a single face is selected.
- #100: add control of meshing accuracy over surface entities.
- #144: add "Del" shortcut as a defeaturing hotkey.
- #173: introduce JSON viewer with collapsible sections.
- #92: move "resolve coincident topology" setting to the root Node.
- #172: make edge/face/vertex finders work on nested arrays of indices to facilitate "garbage copy/paste" scenarios.
- #57: add possibility to check precise thickness by click on a face.
- #72: redesign command list dialog to make it more user-friendly.
- #149: introduce `help` command to print a command usage hint.
- #21: show face/edge ID on detection (mouse move).
- #187: sort auto-completer's hints lexicographically.
- #175: fix shift selection not synchronized between UV and 3D viewers.
- #185: add possibility to scale up and down the text rendered in the JSON viewer by <mouse wheel> + <Ctrl>.
- #197: make it possible to delete [multiple] selected Nodes.
- #177: slightly improve UI in the Active Script panel.
- #189: introduce ergonomy improvements in the JSON editor.
- #201: fix broken separation of command signatures and descriptions in the "Available commands" dialog.
- Clean up all presentations on `load` Tcl command.
- Make feature comment property visible in the parameter editor.
- #218: fix invisible center of rotation in the 3D viewer.
- Add a couple of context-menu actions for checking duplicated face IDs in features.
- Add "Set as part" context menu command for IV curves and surfaces.
- Add "Fit all" context menu action to all 3D/2D viewers.
- Add a context menu action for spline conversion.
- Add a button to detach all faces in the active part.
- Add the possibility to scale up and down the UV space of a selected face with <U> and <V> hotkeys.
- Configure the number of UV isolines in the Hatching Node.
- #180: expose persistent props of curvature combs for edges.
- #190: add coloring option for mesh edges (links).
- #236, #240, #241: introduce "Fit surface" dialog with two approximation modes: PLATE and APPSURF2.
- Add context menu for curve concatenation.
- Fire pcurve concatenation in the Domain Viewer by <J> ("join") hotkey.
- Fix XML format for floating-point values to trim digits after comma nicely.
- #250: fix plot 2D dialog incorrectly rendered on linux.
- Output serial IDs in the assembly graph.
- Introduce interactive tools to study results of thickness and clearance analyses.
- Enable UTF-8 or local codepage arguments for logging.
## Imperative Viewer (renamed to "Geometric Set")
- #121, 122: introduce visual presentation parameters for vectors in the imperative viewer.
- Add IV interface for local axes frames.
- Unify visualization of single IV vectors with the visualization for vector fields.
- Make it possible to pass unicode strings to imperative plotter as object names.
- Fix color and the orientation tip passing through for IV's 2D curves.
- Ensure that 2D links are created under "Curves 2D" section of IV ("Geometric Set").
- Introduce rescaling option in the vector fields.
## Interoperability
- #259: fix glTF exporter ending up with a broken glb file for a provided assembly.
- Load IGES import for XDE documents.
- Add `asm-xde-reset-colors` function to reset all colors in an XDE document.
- Add possibility to save individual STEP files from XDE parts.
- #116: do not ignore solids, shells, compounds when reading colors from STEP.
- Read part color defined in a STEP file into the "Color" parameter of the active part.
- #89: fix incorrect colors of imported STEP file for a turned part.
- #56: fix incomplete glTF scene for "as1" assembly.
- #154: read original units from STEP files.
- #179: fix colors happened to be lost after part transformation and saving to STEP.
- #207: fix problem in FBX reader.
- #220: add functions for interoperability with the legendary ASTRA system.
- Load IGES entities with names.
- Fix `UpdateAssemblies()` C++ function in the XDE interface.
- Fix missed colors in an XDE document.
- #258: fix subshape names coming from STEP files.
- Add an argument to configure the output STEP file units in the XDE interface.
- Add Scene Tree data structure for assemblies together with serialization/deserialization logic (see https://analysissitus.org/features/features_asm-json-hierarchy.html).
- Add some handy XDE-oriented data structures, prohibit export of pcurves from assembly docs.
- Add an option to dump BREPs for `asiData_BoundaryEdgesNode`.
- Compose shells out of selected faces on export to BREP (whenever possible).
## Algorithms
- Introduce an algorithm to extract solid bodies for negative features.
- Let topology killer reduce shape dimensionality if needed.
- Enhance distance field SVO ctor with boundary-crossing splitting criterion.
- #133: fix seam edge vexity for conical surfaces; add test cases.
- #257: add SVG export.
- Enable subdomains in thickness calculator.
- #166: fix weird result of blend recognition.
- #165: fix incorrect construction of a face sampling grid (discrete case).
- Add gap filler for contours.
- Add a function to automatically reorient a part.
- #157: Protect against infinite recursion in 2D convex hull.
- Fix polyline conversion for contours.
- Report blend face vexity in the fillet recognizer.
- Make recognition of conical EBFs an option.
- Add cross-edge length to blend props.
- Allow passing excluded faces to blend recognition.
- Add inner points for planar faces in the REPATCH algorithm.
- Add canonical recognition for linearly extruded surfaces.
- #227: fix incorrect result of `check-vertex-vexity` command.
- Build OBB, cylinder and sphere; refactor OBB algorithms.
- Improve hole recognizer.
- Rework line-arc converter.
- Allow toroidal subfeatures in drilled holes.
- Add mesh-based slicer.
- Introduce pcurve concatenation algorithm.
- Introduce Gordon surface modeling functions.
- Add UNTRIM operator for converting trimmed surfaces to untrimmed surfaces (prototype version).
- Add JOINSURF operator for merging neighbor spline surfaces into a single one (prototype version).
- Introduce fuzzy tolerance in `bop-fuse` command.
- Add computation of optimal bounding cylinder.
- Add an algorithm to convert curves and surfaces to 3-degree Bezier segments.
- Add processing for linear extrusions, also in fillet recognition.
- Add data structure for segments (edges) of wire.
- Make `asiAlgo_CheckInsertion` return "undefined" enum if two faces have no edge in common.
- Add more customization to HLR; improve Tcl commands; update docs.
- Fix `asiAlgo_ReapproxContour::makeCoarser()`.
- Pass linear and angular tolerances to face maximization.
- Add more handy functions in the `asiAlgo_Utils` namespace: `IsConical()`, `IsStraight()`, `IsCircular()`, `GeneratePixmap()`, `CacheFaceUVBounds()`, `IsTypeOf()`, `ConnectEdgesToWires()`, `ComputeFaceLength()`, `CacheFaceRange()`, `Str::AmendedFilename()`.
- Add `RTCD::IntersectRayAABB()` for point-to-bbox checking.
- Let `RTCD` AABB be initialized from a two-dimensional OpenCascade bbox. Draw convex hull meshes.
- Add `Plane` structure and a couple of useful functions to `RTCD` namespace.
-------------------------------------------------------------------------------
v1.1.0, 13 September 2021
-------------------------------------------------------------------------------
- Read here: http://quaoar.su/blog/page/meet-analysis-situs-11
-------------------------------------------------------------------------------
v1.0.0, 20 March 2021
-------------------------------------------------------------------------------
- Read here: http://quaoar.su/blog/page/analysis-situs-100
-------------------------------------------------------------------------------
v0.4.0, 15 May 2020
-------------------------------------------------------------------------------
- Linux-ready.
- Enhancements in GUI, including object browser and parameter editor.
- Add new handy Tcl commands.
- Migrate to VTK 8.2.
- Bugfix.
-------------------------------------------------------------------------------
v0.3.2, 15 October 2019
-------------------------------------------------------------------------------
- STEP reader now imports colored faces.
- Add a set of handy Tcl commands.
- Add more functionality to the experimental reverse engineering workbench.
- Improvements in face finder UI.
- Add visualization of execution graphs (tree functions of Active Data).
- Add deviation checker for points vs mesh/brep.
- Allow PNG dumps as vtkImageData from presentation managers.
- Enable user-defined part transformation (translation, rotation) from parameter editor.
-------------------------------------------------------------------------------
v0.3.1, 31 May 2019
-------------------------------------------------------------------------------
- Add possibility to colorize faces.
- Colored faces can be exported to STEP format now.
- Add zoom in/out with Ctrl+Up/Down keys in Tcl console.
- More parameters are now available for configuring objects via parameter editor.
- Enrich the available set of Tcl commands.
- Add finder for internal locations in the part shape.
- Enable backface coloring for B-Rep and triangulations.
- Improve internal architecture for use as a general-purpose CAD platform.
- Add more commands for interactive reverse engineering.
- Bugfix.
-------------------------------------------------------------------------------
v0.3.0, 04 March 2019
-------------------------------------------------------------------------------
- Rearrange control panels to give more logical and powerful interface.
- Add parameter editor and data dictionary.
- Remove useless (after the latest improvements) toggle button in 3D viewer.
- Add 'save-step' Tcl command.
- Add 'build-triangulation-obb' Tcl command.
- Add 'move-triangulation' Tcl command.
- Add visualization and selection of triangulation nodes.
- Prototype surface deviation checker.
- Prototype commands for saving and loading binary project files.
- Refactor curvature plot to become a general-purpose 2D plot.
- Prototype reverse engineering asset of Tcl commands.
- Add interactive selection of points in point clouds.
- Refactor purification algorithm for point clouds.
- Add commands to build bilinear Coons patches.
- Bugfix.
-------------------------------------------------------------------------------
v0.2.7, 17 November 2018
-------------------------------------------------------------------------------
- Add new Tcl commands and improve some existing.
- Refactor and improve interactive picking mechanism to make
it more flexible.
- Improve unit testing engine.
- Add batch processing.
- Add functions to read STL and PLY meshes.
- Add computation and visualization of mesh norms in mesh nodes
and by elements.
- Add mesh-based topology-preserving offsets.
- Add basic facilities for interactive construstion of countours on meshes for
further reverse engineering.
- Implement JSON serialization for AAG and its attributes.
- Improve 'rebuild-edge' algorithm to make it more robust by following
knowledge-guided computation principle.
- Improve KEV and KEF Euler operators.
- Start working on documenation pages also available online
at http://www.analysissitus.org.
- General ergonomics improvements.
- Bugfix.
-------------------------------------------------------------------------------
v0.2.6, 19 June 2018
-------------------------------------------------------------------------------
- Add facilities to serialize B-curves and B-surfaces to JSON.
- Add dialog for modification of B-curves and B-surfaces via JSON.
- Output more precise values in 'eval-curve'/'eval-surf' commands.
- Integrate HLR algorithm of OpenCascade as 'hlr' command.
- Integrate useful modeling commands (e.g., 'cut', 'trim-curve', some others).
- Make VTK source for curve visualization more robust and precise.
- Add asiTestEngine library to support in-house unit testing.
- Bugfix.
-------------------------------------------------------------------------------
v0.2.5, 30 May 2018
-------------------------------------------------------------------------------
- Ported to OpenCascade 7.3.0.
- Add analysis of geometric tolerances.
- Add inequality solver.
- Add many useful Tcl commands.
- Add gl2ps integration.
- Bugfix.
-------------------------------------------------------------------------------
v0.2.4, 26 March 2018
-------------------------------------------------------------------------------
- Add dialog to manage visibility of pipelines for presented objects.
- Add visualization of control net for B-surfaces.
- Improve ergonomics of secondary viewers.
- Enable loading BREP/STEP by double click on filename.
- Add many useful Tcl commands.
- Add visualization of curvature combs and plots for curves.
- Introduce functionality for edge reconstruction by local topology analysis.
- Enable visualization of sub-shape locations as colored arcs in topology graphs.
- Develop curve fairing method in asiAlgo_Utils.
- Bugfix everywhere.
- Improve ergonomics of Tcl console and Commands dialog.
-------------------------------------------------------------------------------
v0.2.3, 22 December 2017
-------------------------------------------------------------------------------
- Bugfix.
- Introduce visualization of modification history as graph.
-------------------------------------------------------------------------------
v0.2.2, 14 December 2017
-------------------------------------------------------------------------------
- Bugfix.
- Introduce tools for topological naming and history.
-------------------------------------------------------------------------------
v0.2.1, 06 December 2017
-------------------------------------------------------------------------------
- Improve ergonomics.
- Add more Tcl commands including 'undo' and 'redo'.
- Improve topology killer.
-------------------------------------------------------------------------------
v0.2.0, 12 November 2017
-------------------------------------------------------------------------------
- Change license to 3-clause BSD.
- Get rid of unnecessary dependencies.
- Improve scripting abilities and add more Tcl commands.
-------------------------------------------------------------------------------
v0.1.8, 20 September 2017
-------------------------------------------------------------------------------
- Fix visualization problem with false-positive invalid faces.
- Let user change background color via context menu in part viewer.
-------------------------------------------------------------------------------
v0.1.7, 19 September 2017
-------------------------------------------------------------------------------
- Improve visualization tools for meshes (SDK only).
- Extend API of imperative plotter (SDK only).
- Introduce button to add B-Reps to existing part.
- Introduce Tcl scripting.
- Introduce error-resistant visualization based on face validity analysis.
- Enhance topology graph visualization with information on orientations.
- Implement topologicall killer (kill-edge and kill-face commands).
- Bugfix and tiny improvements in ergonomics.
-------------------------------------------------------------------------------
v0.1.6, 20 July 2017
-------------------------------------------------------------------------------
- License under MIT license conditions.
- Add CMake build system.
- Set dark color scheme.
- Add controls for projection views (top, left, front, etc.).
- Add visualization facilities for OpenCascade's triangulation.
- Bugfix and tiny improvements.
-------------------------------------------------------------------------------
v0.1.5, 15 April 2017
-------------------------------------------------------------------------------
- Get rid of OpenCascade visualization modules. Everything is now based on
in-house VTK integration code and conventional VTK interactive services.
- Add face inversion function (context menu in the viewer).
- Add visualization of face normals (context menu in the viewer).
- Add tessellation refinement controls (Ctrl+T hotkey).
- Add gap filling function (button at main controls panel).
- General bugfix and tiny improvements are also there.
-------------------------------------------------------------------------------
v0.1.4, 02 February 2017
-------------------------------------------------------------------------------
- Make AAG the driving container for all sub-shapes. AAG is now used to get
the indices of faces and edges. This allows to cache all those indices only
once (when the model is loaded) and reuse whenever necessary.
- Introduce many cosmetic changes: version in the title bar, different
visualization properties, different highlighting/selection colors, etc.
- Add status bar, logger, and progress indication widgets (draft).
- Fix weird errors on edge picking.
- Add border trihedron concept at algorithmic level.
- Add VTK pipeline for visualization of normal vectors associated with point
clouds.
- Add tolerance setting for smooth edge detection.
-------------------------------------------------------------------------------
v0.1.3, 19 December 2016
-------------------------------------------------------------------------------
- Add possibility to save selected faces and edges to BREP-file.
- Bugfix.
-------------------------------------------------------------------------------
v0.1.2, 16 December 2016
-------------------------------------------------------------------------------
- Add AAG and topology graphs with visualization.
- Add dihedral angle checker.
- Add non-manifold edges checker.
- Add tools to detach (break sharing info) and kill faces.
- Fix visualization bug with incorrect feeding of face selection pipeline.
-------------------------------------------------------------------------------
v0.1.1, 14 December 2016
-------------------------------------------------------------------------------
- Experimental version of adaptive center of rotation (there is a problem with
discontinuity at rotation start). Center of rotation is changed by overriding
the focal point of the camera and repositioning window center.
- Cosmetic changes in UI: reordering buttons.
- Porting to VTK 7.1.
===============================================================================