changelog.docu 72.6 KB
Newer Older
Jan Möbius's avatar
Jan Möbius committed
1
/*! \page changelog Changelog
Jan Möbius's avatar
Jan Möbius committed
2

Jan Möbius's avatar
Jan Möbius committed
3
- <b>OpenFlipper 1.4 ( ?? , 15424 )</b>
Jan Möbius's avatar
Jan Möbius committed
4
5
6
     - <b>Significant interface changes and Bugfixes</b>
         - Interface: Don't use allow addEmpty in FileInterface anymore (deprecated long time ago and basically unused! The type plugins handle this signal anyway.)
         - Interface: Renamed and extended functions to block scenegraph updates. OpenFlipper::Options::loadingSettings replaced by 
Jan Möbius's avatar
Jan Möbius committed
7
8
9
             - sceneGraphUpdatesBlocked()
             - blockSceneGraphUpdates()
             - unblockSceneGraphUpdates()
Jan Möbius's avatar
Jan Möbius committed
10
         - Bugfix: Fixed undirected shooting function returning wrong nearest triangle (was always the one with the most negative distance)
Jan Möbius's avatar
Jan Möbius committed
11
         - Interface: RayCollision is now a sorted vector conbining standard pairs of the hit handles and their distance to the hit
Jan Möbius's avatar
Jan Möbius committed
12
     - <b>ACG</b>
Jan Möbius's avatar
Jan Möbius committed
13
14
15
16
17
18
         - General
             - Added simple scenegraph analysis function to get bounding box and multipass number
         - Geometry/BSP
             - Removed dependency from bsp to OpenFlipper (not required and causes unnecessary linking)
             - Added directional BSP ray shooting including unit tests
             - Fixed undirected shooting function returning wrong nearest triangle (was always the one with the most negative distance)
Jan Möbius's avatar
Jan Möbius committed
19
             - Interface: RayCollision is now a sorted vector combining standard pairs of the hit handles and their distance to the hit              
Jan Möbius's avatar
Jan Möbius committed
20
21
         - Heap 
             - gcc-4.7 build fixes
Jan Möbius's avatar
Jan Möbius committed
22
23
         - Unittests
             - Unittests for BSP
Jan Möbius's avatar
Jan Möbius committed
24
             - Unittests for algorithms
Jan Möbius's avatar
Jan Möbius committed
25
26
27
28
29
     - <b>Core</b>
         - Speedup getObject in Pluginfunctions, as most functions used the slow recursive version instead of the std map accelerated version in PluginFunctions   
         - Speedup: Modified the resetScenegraph stuff which ran the bounding box and multipass actions too often (Approx. factor 4 speedup in this function)
         - Speedup: Block updates wile loading files from the command line
         - Speedup: Reset drawmodes only when not locked
Jan Möbius's avatar
Jan Möbius committed
30
         - Speedup: Don't send view updates to plugin, if scenegraph updates are locked
Jan Möbius's avatar
Jan Möbius committed
31
32
         - Speedup: Removed unnecessary update function from resetSceneGraph (already updated on demand)
         - Speedup: Removed redundant call in BaseObjects next function
Jan Möbius's avatar
Jan Möbius committed
33
         - Fix: Fixed action mode toggling via meta or alt keys (only worked, if already switched between modes before hitting the keys)
Jan Möbius's avatar
Jan Möbius committed
34
35
         - PerObjectData
             - Added set of standard per object datas
Jan Möbius's avatar
Jan Möbius committed
36
37
38
     - <b>Interfaces</b>
         - RPC Interface
             - Support for rpc calls with return value and up to 6 parameters
Jan Möbius's avatar
Jan Möbius committed
39
     - <b>ObjectTypes</b>
Jan Möbius's avatar
Jan Möbius committed
40
41
         - General
             - Speedup: Removed the get_unique_name functions when adding any object, as this would cause linear time when adding new objects.
Jan Möbius's avatar
Jan Möbius committed
42
43
         - Skeleton
             - Added include guard to AnimationHandle class
Jan Möbius's avatar
Jan Möbius committed
44
45
46
47
48
         - VolumeMesh
             - Added draw mode for colored vertices
     - <b>Plugins</b>
         - Datacontrol
             - Added context menu item to copy material to targeted objects.
Jan Möbius's avatar
Jan Möbius committed
49
50
51
             - Speedup: Accellerate Treeitem lookup for child by a map. This should speedup large object count handling significantly.
             - Speedup: Remove duplicate function calls
             - Speedup: Only handle lightsources in file opened, if they are added
Jan Möbius's avatar
Jan Möbius committed
52
53
         - Decimater
             - Added multiple choice decimater (up to 4 times faster but with less accuracy)
Jan Möbius's avatar
Jan Möbius committed
54
55
56
         - File Bundler
             - New Plugin
             - Read output from bundler (SplatCloud, Cameras)
Jan Möbius's avatar
Jan Möbius committed
57
58
         - File PLY
             - Fixed wrong casting of colors ( written files contained only black and white colors
Jan Möbius's avatar
Jan Möbius committed
59
60
         - Isotropic Remesher
             - Increased toolbox maximum
Jan Möbius's avatar
Jan Möbius committed
61
62
         - Info Mesh Object
             - Use a hash map to cash the target objects to avoid linear time lookup for the targets
Jan Möbius's avatar
Jan Möbius committed
63
64
65
         - MeshRepair
             - Fix: flip orientation does not produce holes anymore
             - New snap boundary function 
Jan Möbius's avatar
Jan Möbius committed
66
         - Primitives Generator
Jan Möbius's avatar
Jan Möbius committed
67
             - Added cylinder generator (with scriptable parameters)
Jan Möbius's avatar
Jan Möbius committed
68
69
         - Property Vis
             - Increased maximal allowed scaling factor for vectors
Jan Möbius's avatar
Jan Möbius committed
70
             - Support build without skeleton data type
Jan Möbius's avatar
Jan Möbius committed
71
72
         - Render DepthPeeling
             - Fixed shader not working correctly on mac
Jan Möbius's avatar
Jan Möbius committed
73
74
         - SelectionBase
             - Speedup selection base plugin by caching the number of objects of the specific types (no linear time check anymore)
Jan Möbius's avatar
Jan Möbius committed
75
76
         - SelectionMeshObject
             - Fixed action mode toggling via meta or alt keys
Jan Möbius's avatar
Jan Möbius committed
77
78
         - Skeletal Animation
             - Speedup Skeletal Animation Plugin by only caching skeletons.
Jan Möbius's avatar
Jan Möbius committed
79
80
         - Type Splat Cloud
             - Name group after splatcloud
Jan Möbius's avatar
Jan Möbius committed
81
82
     - <b>Scripting</b>
         - Core: Added getToolbox method to scripting interface.
Jan Möbius's avatar
Jan Möbius committed
83
         - Core: Added scipting functions to block and unblock the scenegraph (speedup while handling large object counts)
Jan Möbius's avatar
Jan Möbius committed
84
     - <b>Documentation</b>
Jan Möbius's avatar
Jan Möbius committed
85
         - Added documentation about core keys
Jan Möbius's avatar
Jan Möbius committed
86
87
         - Removed example path from doxyfiles for user documentation
         - Added colored point rendering stuff.
Jan Möbius's avatar
Jan Möbius committed
88
89
     - <b>Build system</b>
         - Extract library path for glut on windows
Jan Möbius's avatar
Jan Möbius committed
90
91
92



Jan Möbius's avatar
Jan Möbius committed
93
- <b>OpenFlipper 1.3 ( 2012.07.16 , 15046 )</b>
Jan Möbius's avatar
Jan Möbius committed
94
     - <b>ACG</b>
Jan Möbius's avatar
Jan Möbius committed
95
96
         - DrawModes
             - Implemented property based draw modes
Jan Möbius's avatar
Jan Möbius committed
97
98
         - General
             - Ongoing work for more advanced renderer interfaces
Jan Möbius's avatar
Jan Möbius committed
99
100
         - Geometry 
             - Improving BSP tree implementation
Jan Möbius's avatar
Jan Möbius committed
101
102
         - GL
             - Added ShaderGenerator
Jan Möbius's avatar
Jan Möbius committed
103
104
         - Math
             - Matrix4x4: Added determinant method
Jan Möbius's avatar
Jan Möbius committed
105
             - Fixed GLMatrixT constructor 
Jan Möbius's avatar
Jan Möbius committed
106
             - Added Vec3b
Jan Möbius's avatar
Jan Möbius committed
107
108
         - LightNode
             - Compiler fix: Work around c++0x problem with initialization of a vector
Jan Möbius's avatar
Jan Möbius committed
109
110
         - LineNode
             - Bug fix: LineSegment mode when no colors are specified
Jan Möbius's avatar
Jan Möbius committed
111
112
113
114
115
116
117
         - Material2Node
             - Removed (unused anyway and users might get confused)
         - ShaderUtils
             - Handle matrices as uniforms
         - TextNode
             - Get rid of ftgl and freetype requirements
             - Render textured quad to be able to support higher OpenGL profiles
Jan Möbius's avatar
Jan Möbius committed
118
119
         - TranslationManipulatorNode
             - fix: manipulator color circles changed
Jan Möbius's avatar
Jan Möbius committed
120
121
         - QtWidgets
             - Added spinbox for better control of the shininess
Jan Möbius's avatar
Jan Möbius committed
122
123
     - <b>Core</b>
         - Help
Jan Möbius's avatar
Jan Möbius committed
124
125
126
127
             - Help Browser shows message if page wasn't found
             - Fix: back/forward button works when link in textbrowser was clicked
             - Fix: Help browser tree view selection will be updated if a link to another document is clicked.
             - Fix: double loading home page at the beginning
Jan Möbius's avatar
Jan Möbius committed
128
             - Fixed warning due to connection to non existing slot.
Jan Möbius's avatar
Jan Möbius committed
129
             - Fix: Build error with gcc-4.7 due to missing include in About.cc
Jan Möbius's avatar
Jan Möbius committed
130
131
132
         - IO
             - BaseObject now stores the filename of an object from which it was loaded
             - BaseObject now stores the path of an object from which it was loaded
Jan Möbius's avatar
Jan Möbius committed
133
             - added an option to the save settings input dialog for objects with no given extensions, such that a chosen extension can be applied to all object without preset types
Jan Möbius's avatar
Jan Möbius committed
134
135
         - Load/Save
             - Added a QInputDialog so that the user can choose a file extension for newly created meshes when saving the settings.
Jan Möbius's avatar
Jan Möbius committed
136
             - Bugfix: Delete all is equivalent to clear all, so emit the clear all signal as well
Jan Möbius's avatar
Jan Möbius committed
137
138
         - Rendering
             - Bugfix: Improved recovery of broken scene setups
Jan Möbius's avatar
Jan Möbius committed
139
         - UI
Jan Möbius's avatar
Jan Möbius committed
140
             - Paste View: keep toolbarsize when window size is not changed
Jan Möbius's avatar
Jan Möbius committed
141
             - Paste View: Added extra button to paste view and the window size
Jan Möbius's avatar
Jan Möbius committed
142
             - Paste View: Integrate the toolbox size into the copied view
Jan Möbius's avatar
Jan Möbius committed
143
144
             - Default changed when removing objects (Defaults to yes now)
             - Improvement: When switching to orthogonal mode, the coordinate system now switches to ortho projection, too
Jan Möbius's avatar
Jan Möbius committed
145
             - Fix: Snapshot function on windows did not capture the gl widget correctly (fixes #943)
Jan Möbius's avatar
Jan Möbius committed
146
             - Fix: Fixed bug where multiview layout box has not been updated correctly
Jan Möbius's avatar
Jan Möbius committed
147
148
149
150
         - BaseViewer
             - Get rid of the twenty region pick functions in the qtbaseviewer (Merged to one)
         - PluginFunctions
             - Fixed plugin function for isProjectionOrthographic which did not work for the active_viewer. (Thanks to Bengt Rosenberger for the report)
Jan Möbius's avatar
Jan Möbius committed
151
152
         - Process management
             - Enable process support without GUI
Jan Möbius's avatar
Jan Möbius committed
153
     - <b>ObjectTypes</b>
Jan Möbius's avatar
Jan Möbius committed
154
155
156
         - BSplineCurve
             - Fixed colors
             - Fixed crash with empty spline curve on windows
Jan Möbius's avatar
Jan Möbius committed
157
158
         - Plane
             - Improved implementation and Documentation
Jan Möbius's avatar
Jan Möbius committed
159
160
         - PolyLine
             - New objecttype representing polygonal lines (with smoothing, dragging, mesh interaction and many more features)
Jan Möbius's avatar
Jan Möbius committed
161
162
163
164
         - Skeleton 
             - Removed the using namespace part to avoid collisions (corresponding plugins have been updated too)
         - SplatCloud
             - New property system to append properties to the cloud and its entities like in OM
Jan Möbius's avatar
Jan Möbius committed
165
     - <b>Plugins</b>
Jan Möbius's avatar
Jan Möbius committed
166
167
168
         - Color
             - Documentation
             - Default alpha value to 1.0
Jan Möbius's avatar
Jan Möbius committed
169
170
171
172
         - Decimater
             - Bugfix: Async slider and number box after loading a new mesh
         - FileHeightField
             - Improved speed of the ui when selecting the load area
Jan Möbius's avatar
Jan Möbius committed
173
174
         - File OBJ
             - The default group is not set to be a polymesh even if it does not have any faces
Jan Möbius's avatar
Jan Möbius committed
175
             - Added missing ifdefs for bspline curve object type
Jan Möbius's avatar
Jan Möbius committed
176
             - Single bspline-curves or bspline-surfaces in obj files that do not belong to any groups are no longer grouped in the datacontrol plugin
Jan Möbius's avatar
Jan Möbius committed
177
             - Fix: bspline curves and bspline surfaces should be grouped correctly now
Jan Möbius's avatar
Jan Möbius committed
178
179
         - File OFF
             - Fix: Endless loop (moved an end-of-file check in readFileOptions so that eof is detected in time)
Jan Möbius's avatar
Jan Möbius committed
180
             - Fix: Correctly set path for the loaded objects
Jan Möbius's avatar
Jan Möbius committed
181
             - Fix: Added some additional checks so that empty lines and comments are skipped.
Jan Möbius's avatar
Jan Möbius committed
182
183
         - FilePLY
             - Fix: Ignore unknown properties instead of crashing
Jan Möbius's avatar
Jan Möbius committed
184
185
         - FileSTL
             - View all after loading file
Jan Möbius's avatar
Jan Möbius committed
186
187
         - File VTK
             - vtk objects now just have the filename as a name rather than the full path
Jan Möbius's avatar
Jan Möbius committed
188
189
         - Isotropic Remesher
             - Fix: Added a check if we are trying to collapse an edge of length 0 in the isotropic remesher
Jan Möbius's avatar
Jan Möbius committed
190
191
         - Ruler
             - New plugin to measure the euclidean distance between objects in the 3D scene.
Jan Möbius's avatar
Jan Möbius committed
192
193
         - MeshObjectInfo
             - Support for point clouds represented by meshes
Jan Möbius's avatar
Jan Möbius committed
194
195
         - MeshRepair
             - Fix: Don't only detect error and crash but detect error and warn about it (without crashing)
Jan Möbius's avatar
Jan Möbius committed
196
197
         - Move
             - User Documentation
Jan Möbius's avatar
Jan Möbius committed
198
         - PropertyVis
Jan Möbius's avatar
Jan Möbius committed
199
             - Added color viz for vector properties
Jan Möbius's avatar
Jan Möbius committed
200
201
         - Scripting
             - Sort list of available functions
Jan Möbius's avatar
Jan Möbius committed
202
203
         - Selection Base
             - Allow selection plugins to restrict its selection metaphors to specified data types (or all if none is given).
Jan Möbius's avatar
Jan Möbius committed
204
205
         - SelectionMeshObject
             - Added scripting function to select vertices based on the value of one of their components
Jan Möbius's avatar
Jan Möbius committed
206
207
         - Subdivider
             - Added Catmull Clark subdivider from OpenMesh (Thanks to Leon Kos for providing the code)
Jan Möbius's avatar
Jan Möbius committed
208
209
210
211
212
         - TypeHexaHedralMesh
             - Automatically set ambient color when adding empty mesh.
         - TypePolyHedralMesh
             - Added translucency rendering options to polyhedral mesh type plugin.
             - Automatically set ambient color when adding empty mesh.
Jan Möbius's avatar
Jan Möbius committed
213
214
215
216
217
     - <b>Scripting System</b> 
        - Vector type
             - Added functions for add, multiply, scalar product, norm, sqrnorm, normalize and sub
        - Matrix type
             - Added matrix vector multiplication
Jan Möbius's avatar
Jan Möbius committed
218
     - <b>Build System</b>
Jan Möbius's avatar
Jan Möbius committed
219
220
221
222
223
        - Mac
             - Added flag OPENFLIPPER_CALL_FIX_BUNDLE to disable bundle creation on mac os
        - Win
             - Fixed silent install of Visual Studio 2010 redistributable
             - Make clear that a missing redistributable is only a warning.
Jan Möbius's avatar
Jan Möbius committed
224
             - Fixed a problem when building VS2010 binaries containing qwt on a machine where qwt is also available but build with VS2008
Jan Möbius's avatar
Jan Möbius committed
225
226
227
228
229
230
        - Linux
             - Some cmake-Finder upgrades to support Fedora and to be more clean
        - General
             - Allow Compiler Defines per plugin
             - Updated qt tested version to 4.8.1
             - Added Finder vor CPLEX and Metis
Jan Möbius's avatar
Jan Möbius committed
231
232
             - Added option to disable libraries which are not required 
             - Updated some finders
Jan Möbius's avatar
Jan Möbius committed
233
234
235
236
     - <b>Documentation</b>
        - Added Documentation about creating own data types
        - Integrated OpenVolumeMesh documentation
        - Included bib files for OpenVolumeMesh
Jan Möbius's avatar
Jan Möbius committed
237
        - Fixed a lot of doxygen warnings
Jan Möbius's avatar
Jan Möbius committed
238
239
     - <b>Testing System</b>
        - Added optional 4th argument to run_single_object_file_mesh_test, which gives a directory with meshes for testing. If given, TEST_FILE argument is ignored.
Jan Möbius's avatar
Jan Möbius committed
240
        - Increased the testing timeouts a bit (Due to heavy load on the build servers tests got marked as failed but the timeouts where caused by heavy load)
Jan Möbius's avatar
Jan Möbius committed
241
242


Jan Möbius's avatar
Jan Möbius committed
243
- <b>OpenFlipper 1.2 ( 2012.03.23 , 14285 )</b>
Jan Möbius's avatar
Jan Möbius committed
244
     - <b>ACG</b>
Jan Möbius's avatar
Jan Möbius committed
245
246
         - DrawMesh
             - Fixed crash with some empty meshes
Jan Möbius's avatar
Jan Möbius committed
247
         - DrawModes
Jan Möbius's avatar
Jan Möbius committed
248
249
             - Reworked dynamic drawMode interface         
             - new draw modes: points_colored / points_colored_shaded
Jan Möbius's avatar
Jan Möbius committed
250
251
         - Geometry
             - Fixed aspect ratio function
Jan Möbius's avatar
Jan Möbius committed
252
             - compute the rotation axis as wellas the rotation angle of two given vectors
Jan Möbius's avatar
Jan Möbius committed
253
             - Moved bsp tree from OpenFlipper comon to ACG directory
Jan Möbius's avatar
Jan Möbius committed
254
255
         - GL
             - Added GLPrimitives class to get rid of glut
Jan Möbius's avatar
Jan Möbius committed
256
             - Implemented missing read functions for current bound framebuffer. refs #373
Jan Möbius's avatar
Jan Möbius committed
257
258
         - Math
             - Added operator* for matrix * scalar multiplication, where each element of the matrix is multiplied with the scalar.
Jan Möbius's avatar
Jan Möbius committed
259
             - Added column-wise constructor to GLMatrix
Jan Möbius's avatar
Jan Möbius committed
260
         - SceneGraph
Jan Möbius's avatar
Jan Möbius committed
261
262
             - General
                 - Replace usage of gluDisk/Sphere... by the GLPrimitives
Jan Möbius's avatar
Jan Möbius committed
263
264
             - CoordsysNode
                 - Rendering fix for colors of coordsys
Jan Möbius's avatar
Jan Möbius committed
265
266
             - LineNode
                 - added Vec4f color support and blending for LineNode (in segment mode)
Jan Möbius's avatar
Jan Möbius committed
267
268
             - MeshNode
                 - Don't texture edges, halfedges and points in meshnode
Jan Möbius's avatar
Jan Möbius committed
269
                 - Fixed picking bug, not updating the buffers when switching between any and face picking
Jan Möbius's avatar
Jan Möbius committed
270
271
272
                 - Extra buffer for any picking pass
                 - Bugfix, where mesh was not build yet, but picking needed refs #281
                 - Bugfix for any picking. closes #354
Jan Möbius's avatar
Jan Möbius committed
273
274
             - PointNode
                 - Switched to vec4f colors
Jan Möbius's avatar
Jan Möbius committed
275
276
             - ShaderNode
                 - Return the available drawmodes based on the set shaders
Jan Möbius's avatar
Jan Möbius committed
277
278
279
280
             - TranslationManipulatorNode
                 - Make QtTranslationManipulatorNode active per default, since otherwise it is neglected when computing the scene's bounding box
                 - Fixed set_direction for translation manipulator Node
                 - Added functions to disable unused rotation parts of the manipulator
Jan Möbius's avatar
Jan Möbius committed
281
                 - Corrected colors for translationmanipulatornode. closes #289
Jan Möbius's avatar
Jan Möbius committed
282
283
284
         - QtWidgets
             - Added ColorChooserButton with alpha channel display
             - Use new ColorChooserButton for QtMaterialDialog
Jan Möbius's avatar
Jan Möbius committed
285
             - Get rid of ugly frame rendering bug in QtBaseViewer
Jan Möbius's avatar
Jan Möbius committed
286
287
288
         - ShaderUtils
             - Uniform setters for Vec2f and Vec4f
             - Uniform setter for float arrays
Jan Möbius's avatar
Jan Möbius committed
289
             - Geometry Shader support
Jan Möbius's avatar
Jan Möbius committed
290
291
         - Utilities
             - Added ACG::ColorGenerator (For generating good reproducable colors)
Jan Möbius's avatar
Jan Möbius committed
292
             - Halton Color generator
Jan Möbius's avatar
Jan Möbius committed
293
             - Added colorcoder generating nice colors for a given range of doubles.
Jan Möbius's avatar
Jan Möbius committed
294
             - Add basic histogram plots with colored bars to ACG
Jan Möbius's avatar
Jan Möbius committed
295
             - Added a smart pointer header defining a namespace ptr based on the available capabilities
Jan Möbius's avatar
Jan Möbius committed
296
297
298
     - <b>Core</b>
         - General
             - Bugfix for ++ operator in UpdateType
Jan Möbius's avatar
Jan Möbius committed
299
             - Bugfix: Avoid target counter underflow when copying objects
Jan Möbius's avatar
Jan Möbius committed
300
             - Bugfix: Missing updateGL causing wrong picking buffers in some special settings
Jan Möbius's avatar
Jan Möbius committed
301
             - Bugfix: More safety checks on startup to avoid crashes related to window states
Jan Möbius's avatar
Jan Möbius committed
302
303
         - Logger
             - Updated widget and removed old workarounds that were required in older qt versions
Jan Möbius's avatar
Jan Möbius committed
304
305
         - Rendering
             - Rendermanager/PostprocessorManager bugfix (crash when illegal viewer id -1 was used)
Jan Möbius's avatar
Jan Möbius committed
306
             - Fixed bug in renderinfo not setting viewer to a renderer mode
Jan Möbius's avatar
Jan Möbius committed
307
308
         - Scripting
             - Added help function to print help about different objects (e.g. plugins with help("datacontrol") )
Jan Möbius's avatar
Jan Möbius committed
309
             - Added script handler logging scripting errors to the console even if they are not run via the script editor
Jan Möbius's avatar
Jan Möbius committed
310
311
         - UI
             - Get rid of ugly frame rendering bug in SimpleViewer
Jan Möbius's avatar
Jan Möbius committed
312
             - Do not reset picking toolbar's position and orientation each time it is shown.
Jan Möbius's avatar
Jan Möbius committed
313
             - Fixed bug where logger and toolbar where invisible
Jan Möbius's avatar
Jan Möbius committed
314
             - Modified drawmode context menu to stay open if drawmodes are combined.
Jan Möbius's avatar
Jan Möbius committed
315
             - Copy and paste view can now also restore the window and toolbox sizes
316
         - Help
Jan Möbius's avatar
Jan Möbius committed
317
318
319
             - Open Help browser if what's this links are clicked.
             - Correctly modify treewidget position when a link was clicked.
             - Fixed help browser to correctly find resources in the virtual folder of the last opened document.
Jan Möbius's avatar
Jan Möbius committed
320
321
322
     - <b>Interfaces</b> 
         - General
             - Use const ref for passing strings where possible
Jan Möbius's avatar
Jan Möbius committed
323
324
325
         - BaseInterface 
             - Added Basinterface function to switch renderer
             - Added function to get current renderer
326
             - Added slotSceneDrawn. Gets triggered after gl update. (closes #449)
Jan Möbius's avatar
Jan Möbius committed
327
328
         - FileInterface
             - Added getAllFileFilters signal to LoadSaveInterface. This signal was documented but in fact never implemented.
Jan Möbius's avatar
Jan Möbius committed
329
             - Added two convenience functions for list of recent items bookkeeping. (rememberRecentItem,getRecentItems)
Jan Möbius's avatar
Jan Möbius committed
330
     - <b>ObjectTypes</b>
Jan Möbius's avatar
Jan Möbius committed
331
332
         - HexahedralMesh
             - New object type for handling hexahedral meshes with an interface like OpenMesh (OpenVolumeMesh)
Jan Möbius's avatar
Jan Möbius committed
333
         - PolyMeshObject
Jan Möbius's avatar
Jan Möbius committed
334
             - Switched color type in meshes from Vec3uc to Vec4f to support alpha per primitive
Jan Möbius's avatar
Jan Möbius committed
335
336
         - Skeleton
             - Draw root joint in orange
Jan Möbius's avatar
Jan Möbius committed
337
338
339
340
341
342
343
             - Fixed non const function hiding draw modes for skeletons
             - Additional PluginFunctions to get skeletons / skeletonObjects by id
             - Add reference information to find a skeleton to a skin
             - Introduced animation iterator
             - insert joint function
             - split joint function
             - rename for animations
Jan Möbius's avatar
Jan Möbius committed
344
345
         - SplatCloud
             - Added new splat cloud object type
Jan Möbius's avatar
Jan Möbius committed
346
         - TriMeshObject
Jan Möbius's avatar
Jan Möbius committed
347
             - Switched color type in meshes from Vec3uc to Vec4f to support alpha per primitive
Jan Möbius's avatar
Jan Möbius committed
348
     - <b>Plugins</b>
Jan Möbius's avatar
Jan Möbius committed
349
350
351
352
353
         - Backup
             - Small fix for signal flow through backup plugin
         - DataControl
             - Made DataControl scriptable
             - added printObjectInfoToLog function which prints info about all available objects to the log
Jan Möbius's avatar
Jan Möbius committed
354
355
             - Implemented scripting function in datacontrol to get number of groups in the scene.
             - Function to get object datatype and stringlist of all available datatypes.
Jan Möbius's avatar
Jan Möbius committed
356
357
         - Decimater
             - New decimater with various constraints and feature support
Jan Möbius's avatar
Jan Möbius committed
358
359
         - File OBJ
             - Bugfix: Don't try to add information when faces are not added
Jan Möbius's avatar
Jan Möbius committed
360
             - Bugfix: Prevent crash when trying to add non-manifold vertex configurations.
Jan Möbius's avatar
Jan Möbius committed
361
             - Bugfix: Loading of mixed objs (splines, surfaces) didn't work correctly
Jan Möbius's avatar
Jan Möbius committed
362
363
         - File PLY
             - View all after loading a file to see the scene
Jan Möbius's avatar
Jan Möbius committed
364
             - Fixed conversion to 4 color components
Jan Möbius's avatar
Jan Möbius committed
365
366
         - FileHeightField
             - New simple file plugin loading an image and interpreting it a s a height field.
Jan Möbius's avatar
Jan Möbius committed
367
368
369
370
371
372
         - InfoSkeleton
             - Scripting functions to get information
         - MeanCurvature
             - Scripting functions
         - MeshCompare
             - New plugin to compare two meshes (distance, normal deviation,...)
Jan Möbius's avatar
Jan Möbius committed
373
374
         - MeshObjectInfo
             - Corrected and improved genus computation
Jan Möbius's avatar
Jan Möbius committed
375
376
             - Display edge length closes #283
             - Enable headless mode for meshinfo plugin
Jan Möbius's avatar
Jan Möbius committed
377
378
379
380
381
         - MeshObjectSelections
             - Added functions to convert edge selections to features.
             - Added conversion functions for all types of features (vertices, edges and faces)
             - Store edge selections as vertex pairs since edge ids are not stable (differ depending on the file reader).
             - Also store vertex pairs for halfedge selections instead of direct ids since they're not stable either.
Jan Möbius's avatar
Jan Möbius committed
382
             - Readded missing function to create a new mesh from a selection.
Jan Möbius's avatar
Jan Möbius committed
383
384
         - MeshRepair
             - Added computation of halfedge-normals
Jan Möbius's avatar
Jan Möbius committed
385
386
         - Move 
             - Allow modifiying selection when changing the manipulator via its text controls
Jan Möbius's avatar
Jan Möbius committed
387
388
         - Primitives Generator 
             - New plugin to generate primitives
Jan Möbius's avatar
Jan Möbius committed
389
390
         - PropertyVis
             - New plugin that can visualize various properties on meshes.
Jan Möbius's avatar
Jan Möbius committed
391
392
393
394
395
396
397
         - Remesher
             - New remesher with adaptive and uniform remeshing 
             - Feature support
         - Render DepthPeling
             - New plugin integrating a dual depth peeling renderer
         - Render SSAO
             - New plugin integrating a screen space ambient occlusion renderer
Jan Möbius's avatar
Jan Möbius committed
398
399
         - Scripting
             - Added user flag to enable or disable qtscript debugger
Jan Möbius's avatar
Jan Möbius committed
400
401
         - Smoother Plugin
             - Make Smoother scriptable
Jan Möbius's avatar
Jan Möbius committed
402
403
404
         - Subdivider
             - Implement option to keep original vertices at their position
             - New subdivision function, splitting the currently longest edge until a maximal edge length is reached.
Jan Möbius's avatar
Jan Möbius committed
405
         - Skeletal Animation
Jan Möbius's avatar
Jan Möbius committed
406
             - OpenMP parallelization
Jan Möbius's avatar
Jan Möbius committed
407
             - Detach skin from skeleton if mesh is removed from scene.
Jan Möbius's avatar
Jan Möbius committed
408
             - Bug: Do not deform skin if skin weights are not computed
Jan Möbius's avatar
Jan Möbius committed
409
410
         - SkeletonEditing
             - Don't add root joint twice when creating new skeletons
Jan Möbius's avatar
Jan Möbius committed
411
             - Basic inverse kinematics implementation
Jan Möbius's avatar
Jan Möbius committed
412
413
             - When a joint is translated via the Plugin, its parent joint and itself are rotated now, such that their coordinate systems stay constant w.r.t the bone axis. 
             - Automatically switch to depth peeling renderer when editing skeletons
Jan Möbius's avatar
Jan Möbius committed
414
415
416
417
             - fixed "rotate manipulator"-button doesn't deactivate "transform joint"-button
             - "splitJoint" depends on "splitBone" in "skeletonEditingScritpting.cc"
             - it should not be possible to add/delete/split joints when not in reference pose
             - fix: joint inserted by "splitJoint" will not be deleted, when you click on "addJoint"-Button and then press on another Button
Jan Möbius's avatar
Jan Möbius committed
418
             - Removed deselection and setting of the currentJoint in "splitJoints"
Jan Möbius's avatar
Jan Möbius committed
419
420
421
         - TexxtureControl
             - Switched to qwt 6
             - Fixed histogram painting
Jan Möbius's avatar
Jan Möbius committed
422
             - Create backup of original texture coordinates in file plugins not in texturecontrol
Jan Möbius's avatar
Jan Möbius committed
423
424
         - VSI
             - Description for remeshing algorithms
Jan Möbius's avatar
Jan Möbius committed
425
426
     - <b>Documentation</b>
         - Do not build html index on top of each page for qt-help
Jan Möbius's avatar
Jan Möbius committed
427
428
429
         - Documentation for Backup Interface
         - Documentation for Postprocessor Interface
         - Documentation for Render Interface
Jan Möbius's avatar
Jan Möbius committed
430
         - Added lots of documentation for plugin programming (with tikz pictures for the flow diagrams)
Jan Möbius's avatar
Jan Möbius committed
431
         - Added what's this generator class for easier referencing documentation from plugins
Jan Möbius's avatar
Jan Möbius committed
432
         - Fixed a lot of doxygen warnings
Jan Möbius's avatar
Jan Möbius committed
433
     - <b>Testing</b>
434
435
436
         - Integrated testing framework  for file load/save testing
         - Integrated testing generators for algorithms
         - Run unittests of OpenMesh when OpenFlipper tests are run
Jan Möbius's avatar
Jan Möbius committed
437
         - Added flags to disable OpenFlipper unittest building
Jan Möbius's avatar
Jan Möbius committed
438
     - <b>Build System</b>
Jan Möbius's avatar
Jan Möbius committed
439
         - Build with XCode 4.3
Jan Möbius's avatar
Jan Möbius committed
440
         - Support Visual Studio 2010 and QT 4.8
Jan Möbius's avatar
Jan Möbius committed
441
         - Added option to allow in source builds (not recommended but it works)
Jan Möbius's avatar
Jan Möbius committed
442
443
         - Doxygen, don't warn if undocumented
         - Added Eigen3 finder
Jan Möbius's avatar
Jan Möbius committed
444
         - Fix problem with fixbundle on mac, where libraries with restrictive permissions did not get fixed properly
Jan Möbius's avatar
Jan Möbius committed
445
446
         - Added code style template for eclipse
         - Add option to for windows large memory support (enabled by default)
Jan Möbius's avatar
Jan Möbius committed
447
         - Default warnings now contain -Wextra
Jan Möbius's avatar
Jan Möbius committed
448
         - Moved OpenMesh sources to libs_required subfolder
Jan Möbius's avatar
Jan Möbius committed
449
         - Switched to QWT 6 (and enabled it on mac)
450
         - Use one global doxy file to control the generation of the help files for plugins
Jan Möbius's avatar
Jan Möbius committed
451
         - Fixed bug where debug and release qt versions where copied into MacOS bundle causing crashes.
Jan Möbius's avatar
Jan Möbius committed
452
         - Fixed install directory of the qt help files
Jan Möbius's avatar
Jan Möbius committed
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493

- <b>OpenFlipper 1.1 ( 2011.09.26  , 12468 )</b>
     - <b>ACG</b>
         - SceneGraph
             - General
                 - Changed all nodes to use the glstate system instead of direct gl calls
             - MaterialNode
                 - Changes to light and material dialog to set alpha channel
             - MeshNode
                 - Fixed bug in per vertex picking buffer(was sometimes empty).
                 - Render faces with normals defined on the mesh(and do not compute them)
             - StatusNode
                 - Implement on demand updates (before everything was updated on a change)
     - <b>Core</b>
         - File handling
             - Fixed load and save bug, where extensions where considered equal if prefix matched
         - General
             - Type iterator introduced to iterate over all currently available types
             - Removed process events calls from snapshots
             - Added threaded writing for video function (higher framerates possible due to less io waiting)
             - Removed the unique naming functions from file plugins (not required, horribly slow)
             - Removed all processEvents from core
             - Large speedup to mesh object updates (due to status node switch for on demand updates)
         - GUI
             - Fixed bug causing a crash when switching between logger modes
             - Reworked log viewer animation and embedding
             - Reworked in scene toolbar integration
             - Fixed bug with transparent frame introduced with QT 4.7.3 onward
             - Added functions to hide status bar ( Ctrl+b , scripting)
             - When going to fullscreen, hide only toolbars that are currently docked
             - Reintroduced checkbox for rendering toolbar outside of scene
             - Added menus to switch between postprocessors and renderers
             - Introduced split viewer layout with two viewers next to each other
             - Set focus on right examiner when a context menu is requested
             - Icons for video capture
         - Load/Save
             - Dont crash when we get a wrong id after adding a new object
             - Fixed bug in recent files menu which sometimes ignored the type
         - Options 
             - Fixed bug where translations could not be switched in the options dialog
             - Added sliders to options widget to support smaller screens
Jan Möbius's avatar
Jan Möbius committed
494
             - Options Setting for MaxRecent
Jan Möbius's avatar
Jan Möbius committed
495
496
497
498
499
         - Rendering
             - Moved flyTo animations to animation framework (no more ugly processEvents)
             - Fixed fly to animation not working when rotation ofthe viewer was locked
             - Snapshot functions now have asynchronus file writers
             - Removed philips stereo code from core ( moved into postprocessor plugin)
Jan Möbius's avatar
Jan Möbius committed
500
501
         - Scripting  
             - If qt scripttools are available, integrate them into the scripting plugin (Script debugger)
Jan Möbius's avatar
Jan Möbius committed
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
             - More slot documentations
             - added deleteObject function
             - Changed snapshot functions to count filenames with leading zeros
             - Added printToFile scripting function
             - Added the global function printToFile to list of scripting functions
             - Slot descriptions for global scripting functions
     - <b>Interfaces</b>
         - BaseInterface
             - Added a drawModeChanged slot
         - RenderInterface
             - New interface to replace the core rendering function with a specialized one
         - PostProcessorInterface
             - Introduced new interface to add rendering postprocessors to plugins (e.g. render depth image)
     - <b>Plugins</b>
         - File OBJ
             - Add empty object if empty file is read instead of failing
             - Fixed issue regarding vertices that belong to a specific group. Vertices are now stored globally 
               and then copied to the group meshes on demand..
         - File PLY
             - PLY Reader implementation for forcing data type (required for recent files with specific type)
         - File VTK
             - Introduced new VTK importer/exporter plugin   
         - Post Processor Depth Image 
             - New Plugin taking depth buffer and rendering it as the final output image
         - Post Processor Philips Stereo
             - Postprocessor for image output on Philips autostereoscopic displays
         - Render Picking
             - Plugin that implements the core render picking functionality
             - Renders the picking color buffer to the screen.
         - Scripting
             - Added if and break to keywords
             - Added line numbers to editor and error line highlighting
             - Added statusbar and error messages with line numbers
             - Toolbar for scripting widget
             - Clear scripting window after executing core scripts
             - Scripting function to clear the script widget
             - Bring widget to front when requested
             - Online syntax checking
         - Selection
             - Introduce function to load selections via scripting from files
             - Fixed bug in selection plugin where sphere painter size was not updated on the fly
             - Readded button to load flipper selections
             - Fixed bug where sphere selection sometimes failed (pciking itself instead of object)
         - SkeletonEditing
             - Fixed flickering when adding skeleton joints
Jan Möbius's avatar
Jan Möbius committed
547
548
         - Topology
             - added split_edge supporting PolyMeshes
Jan Möbius's avatar
Jan Möbius committed
549
         - Texturecontrol
Jan Möbius's avatar
Jan Möbius committed
550
             - Don't switch drawmode when texture is switched ( ==== You have to switch the drawmode yourself in a plugin now) ===== )
Jan Möbius's avatar
Jan Möbius committed
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580