File: changeLog.html

package info (click to toggle)
libqglviewer 2.6.3%2Bdfsg2-3
  • links: PTS, VCS
  • area: main
  • in suites: buster, stretch
  • size: 9,396 kB
  • ctags: 3,201
  • sloc: cpp: 26,447; sh: 84; makefile: 22
file content (661 lines) | stat: -rw-r--r-- 30,760 bytes parent folder | download | duplicates (2)
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
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
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
494
495
496
497
498
499
500
501
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
547
548
549
550
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
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
  <title>QGLViewer - ChangeLog</title>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  <link href="qglviewer.css" rel="stylesheet" type="text/css" />
  <link rel="shortcut icon" href="images/qglviewer.ico" type="image/x-icon" />
  <link rel="icon" href="images/qglviewer.icon.png" type="image/png" />
<script type="text/javascript">

  var _gaq = _gaq || [];
  _gaq.push(['_setAccount', 'UA-23223012-2']);
  _gaq.push(['_trackPageview']);

  (function() {
    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
  })();

</script>
</head>
<body>

<div class="banner">
 <a class="qindex" href="index.html">Home</a>
 <a class="qindex" href="download.html">Download</a>
 <a class="qindex" href="examples/index.html">Gallery</a>
 <a class="qindex" href="refManual/hierarchy.html">Documentation</a>
 <a class="qindex highlight" href="developer.html">Developer</a>
</div>

<h1>Change Log</h1>


<h2>Jun 23rd 2015 - 2.6.3</h2>
<b>Bug fixes or improvements</b>
<ul>
  <li>The library is now always built in the <code>QGLViewer</code> directory. The examples' pro files are simplified and more versatile.</li>
  <li>Add some <code>libGlu</code> dependency in examples that rely on it (thanks Brice).</li>
</ul>


<h2>Jan 23nd 2015 - 2.6.2</h2>
<b>Bug fixes or improvements</b>
<ul>
  <li>Fix <code>qreal</code> issue in <code>Quaternion::FromRotationMatrix()</code> (thanks Che, again).</li>
</ul>


<h2>Jan 22nd 2015 - 2.6.1</h2>
<b>Bug fixes or improvements</b>
<ul>
  <li>Bug fix in <code>Camera::pointUnderPixel()</code> introduced by the switch to qreal (thanks Che).</li>
  <li><i>terrain</i> contrib example is deprecated.</li>
</ul>


<h2>Nov 17th 2014 - 2.6.0</h2>
<b>Changes in the API</b>
<ul>
  <li>The entire API now consistently uses the <code>qreal</code> (i.e <code>double</code>) type for floating point numbers.<br/>
  This should not break code compatibility since types will mostly get automatically converted.<br/>
  Update your code if you use one of the <code>getX(qreal &amp; x)</code> methods, which take a reference as a parameter, and which type needs to be changed to <code>qreal</code>.
  </li>
</ul>


<h2>Nov 6th 2014 - 2.5.4</h2>
<b>Bug fixes or improvements</b>
<ul>
  <li>Remove <code>libGLU</code> dependency on Mac since it conflicts with Yosemite (thanks Hae-Jeong, Federico).</li>
  <li>Fix compilation flags and include warning for Windows compilation (thanks Alexandre, David).</li>
  <li>Fix switch between camera's observer and fly modes (thanks Bjrn).</li>
</ul>


<h2>Sept 1st 2014 - 2.5.3</h2>
<b>Bug fixes or improvements</b>
<ul>
  <li>Add <code>libGLU</code> dependency on the library for Linux (thanks Tingran).</li>
  <li>Add <code>algorithm</code> in VRender to remove VS warnings (thanks Jeffrey).</li>
  <li>Use <code>std::min/std::max</code> to fix Visual Studio compilation errors in VRender.</li>
  <li>Fix QFlag error with recent compilers in <code>saveSnapshot.cpp</code> (thanks xiaoyi).</li>
</ul>


<h2>Apr 10th 2014 - 2.5.2</h2>
<b>Changes in the API</b>
<ul>
  <li>Shortcut's <code>KeyboardAction</code> enum was made public.</li>
  <li>Camera's <code>revolveArountPoint</code> is renamed <code>pivotPoint</code>.</li>
  <li>ManipulatedCameraFrame's <code>flyUpVector</code> is renamed <code>sceneUpVector</code>.</li>
  <li>A new ManipulatedCameraFrame's <code>setRotatesAroundUpVector</code> method defines a new rotation mode, where the horizon is preserved.</li>
  <li>Similarly, a new <code>setZoomsOnPivotPoint</code> method defines a new zoom behavior.</li>
  <li>New ManipulatedFrame <code>zoomSensitivity</code> enables you to tune the effect of a mouse displacement on the zoom.</li>
  <li>New <code>GLfloat</code> overrides of Camera's <code>get..Matrix()</code> methods.</li>
  <li>Frame's <code>alignWithAxis</code> threshold set to 0 (i.e. it will always align).</li>
</ul>

<b>Bug fixes or improvements</b>
<ul>
  <li>The Frame's <code>position()</code> method is faster and more precise in case there is no <code>referenceFrame</code>.</li>
  <li>ManipulatedFrame's default mouse rotation speed has been increased.</li>
  <li>DomUtils error messages improved.</li>
  <li>Added GLU library dependency on Linux platforms (thanks Lynn).</li>
</ul>


<h2>Feb 12th 2014 - 2.5.1</h2>
<b>Changes in the API</b>
<ul>
  <li>Support for Qt version 2 and 3 has been discontinued. Minimum supported Qt version is now Qt 4.0</li>
  <li>Two new <code>setMouseBinding</code> methods take an optional <code>Qt:Key</code> argument, indicating that this key has to be pressed to trigger the action. New similar <code>setWheelBinding</code> methods.</li>
  <li>Mouse binding getter functions names have been harmonized.</li>
  <li><code>setMouseBinding</code> methods accept only one button, instead of an improbable combination of buttons.</li>
  <li>Refactored include dependencies: you may have to manually include <code>QGLViewer/manipulatedFrame.h</code>.</li>
  <li><code>QGLViewer</code>'s <code>MouseHandler</code>, <code>ClickAction</code> and <code>MouseAction</code> enums are now public.</li>
  <li>New <code>ManipulatedFrame::currentMouseAction()</code> method.</li>
</ul>

<b>Bug fixes or improvements</b>
<ul>
  <li>The <code>RAP_FROM_PIXEL</code> click action resets the revolve around point to <code>sceneCenter</code> when there is no point under the cursor.</li>
  <li>Fly mode mouse bindings are no longer automatically restored in <code>restoreStateFromFile</code>.</li>
</ul>

<h2>Dec 19th 2013 - 2.5.0</h2>
<b>Changes in the API</b>
<ul>
 <li>All mouse bindings methods now take two parameters (keyboard modifiers and mouse buttons) instead of a combination of these.</li>
 <li>New <code>clearShortcuts</code> and <code>clearMouseBindings</code> methods reset all bindings.</li>
</ul>
<b>Bug fixes or improvements</b>
<ul>
  <li>ClickAction bindings (such as select, triggered by a Shift+Left click) fixed for Qt5.</li>
</ul>

<h2>Nov 17th 2013 - 2.4.1</h2>
<b>Bug fixes or improvements</b>
<ul>
  <li>Using QWidget's <code>update()</code> instead of <code>updateGL()</code> for smoother updates.</li>
  <li>Projection and modelView matrix computation is cached for improved performance.</li>
  <li>Full code re-indent using tabs.</li>
</ul>

<h2>May 25th 2013 - 2.4.0</h2>
<b>Bug fixes or improvements</b>
<ul>
  <li><b>Support for Qt version 5.</b> (thanks Gennady, Alastair and Laurent).</li>
  <li>Source code is available on <a href="https://github.com/GillesDebunne/libQGLViewer">github</a>.</li>
</ul>

<h2>May 24th 2012 - 2.3.17</h2>
<b>Bug fixes or improvements</b>
<ul>
  <li>Compilation of the examples using a framework fixed on Mac.</li>
  <li>Installation as a static library can be configured using PREFIX on Mac too.</li>
</ul>

<h2>April 10th 2012 - 2.3.16</h2>
<b>Bug fixes or improvements</b>
<ul>
  <li>Added <code>-lGLU</code> linked library on Linux when building the examples.</li>
</ul>

<h2>March 8th 2012 - 2.3.15</h2>
<b>Bug fixes or improvements</b>
<ul>
  <li>Added a QGLViewer prefix so that headers are correctly when using the framework on mac.</li>
</ul>

<h2>March 2nd 2012 - 2.3.14</h2>
<b>Bug fixes or improvements</b>
<ul>
  <li>Framework is now installed in the user's Library folder on mac (system's library is read-only on Lion)</li>
  <li>Added symbol export for designer plugin on windows.</li>
</ul>

<h2>February 24th 2012 - 2.3.13</h2>
<b>Bug fixes or improvements</b>
<ul>
  <li>Handle lower case compilation folder names on windows/Qt 4.8.</li>
</ul>

<h2>February 14th 2012 - 2.3.12</h2>
<b>Changes in the API</b>
<ul>
 <li><code>Camera.setPhysicalDistanceToScreen</code> method has been deprecated. Use <code>setPhysicalScreenWidth</code> instead.</li>
</ul>
<b>Bug fixes or improvements</b>
<ul>
  <li>Fixed glu include compilation problems with Qt 4.8</li>
  <li>Better documentation for the designer plugin installation</li>
</ul>

<h2>November 17th 2011 - 2.3.11</h2>
<b>Bug fixes or improvements</b>
<ul>
  <li>Unneeded reference to Qt3 removed from <code>VRenderInterface</code> ui file (thanks David).</li>
  <li><code>qglviewer.rc</code> problem when compiling designerPlugin on windows. Again (thanks Dennis)</li>
</ul>

<h2>June 14th 2011 - 2.3.10</h2>
<b>Bug fixes or improvements</b>
<ul>
  <li><code>qglviewer.rc</code> problem when compiling designerPlugin on windows.</li>
  <li>Warning messages when using Qt3 support on windows.</li>
</ul>

<h2>December 4th 2010 - 2.3.9</h2>
<b>Changes in the API</b>
<ul>
 <li><code>Vec</code> now using <code>double</code> instead of <code>float</code></li>
</ul>
<b>Bug fixes or improvements</b>
<ul>
  <li>Much simpler <a href="compilation.html">program compilation</a> explanations.</li>
  <li>Simpler and updated <a href="installWindows.html">windows</a> and <a href="installUnix.html">unix</a> installation pages.</li>
  <li>Improved examples' <code>.pro</code> for a better out-of-the-box compilation using Qt Creator.</li>
  <li>Added missing <code>qglviewer.rc</code> and <code>qglviewer.ico</code> files in package.</li>
</ul>

<h2>November 7th 2010 - 2.3.8</h2>
<b>Bug fixes or improvements</b>
<ul>
  <li><code>Vec</code> operations now return <code>double</code> instead of <code>float</code> to avoid precision issues (thanks Lionel).</li>
  <li>Support for Qt3 signal/slot cw file removed (thanks Nikos).</li>
</ul>

<h2>October 28th 2010 - 2.3.7</h2>
<b>Bug fixes or improvements</b>
<ul>
  <li>Added Debug and Release dirs in search paths for lib on Win32 minGw.</li>
  <li>Made MinGw also create a debug version of the lib (thanks Eric).</li>
  <li>Warnings in VRender with Visual Studio removed.</li>
  <li>A few missing <code>double</code> replacement in <code>Quaternion</code> (thanks Pierre and Lionel).</li>
  <li>Application icon added on Windows platforms.</li>
</ul>

<b>Changes in the API</b>
<ul>
 <li>New created viewers go in the first available position in <code>QGLViewerPool()</code> instead of always being appended (suggester Pierre).</li>
</ul>


<h2>May 29th 2010 - 2.3.6</h2>
<b>Bug fixes or improvements</b>
<ul>
  <li>Minor fixes to ease the compilation using Qt3 or with gcc 4.3 (thanks Artur).</li>
  <li>Added the <code>qglviewer.icns</code> file which was missing from Mac package.</li>
  <li>Use of the <code>-Wl,-rpath</code> option eliminates the need for <code>LD_LIBRARY_PATH</code> tuning on Linux..</li>
  <li>New <code>.qch</code> file available to import documentation into Qt's assistant (suggester Laurent).</li>
</ul>


<h2>March 1st 2010 - 2.3.5</h2>
<b>New features</b>
<ul>
 <li>Mouse shortcuts displayed in help window use native display for Ctrl/Command/Alt/Option... keys.</li>
 <li>New mouse bindings added on Mac architecture to enable camera translation using the Option key (no right button on the touchpad).</li>
</ul>

<b>Bug fixes or improvements</b>
<ul>
  <li>Tuning <code>DYLD_LIBRARY_PATH</code> is no longer needed to run the examples on Mac architecture (Linux soon to come).</li>
  <li>Use of <code>CONFIG += no_keywords</code> so that the library can be used with Boost.</li>
  <li>Smoother compilation on Mac, now creating a Framework by default. Compilation documentation <a href="compilation.html">updated</a>.</li>
  <li><code>GL_DEPTH_TEST</code> disabled before rendering frame rate to fix a weird display on Mac (bugfinder FX).</li>
  <li>The <code>About</code> button has been moved to a cleaner new tab in the help window.</li>
  <li><code>WIN32</code> added to default <code>DEFINES</code> to fix compilation problems with Visual Studio when using the Intel compiler (bugfinder Jiawen).</li>
  <li>The examples applications now have a nice associated icon (Mac and Windows).</li>
  <li><code>restoreStateFromFile</code> updates camera aspect ratio when loading window's size.</li>
</ul>

<b>Changes in the API</b>
<ul>
 <li>The <code>aboutQGLViewer()</code> method now displays the help window 'About' tab.</li>
</ul>


<h2>September 1st 2009 - 2.3.4</h2>
<b>Bug fixes or improvements</b>
<ul>
  <li>Patches for compilation with Qt3 (thanks to Rainer and Florent).</li>
</ul>

<h2>July 14th 2009 - 2.3.3</h2>
<b>New features</b>
<ul>
  <li><code>snapshotToClipboard()</code> method binded to <code>Ctrl+C</code> eases snapshot creation.</li>
  <li>Visual Studio <code>.vcproj</code> project files added to <code>QGLViewer</code> and examples' directories.</li>
</ul>

<h2>July 7th 2009 - 2.3.2</h2>
<b>New features</b>
<ul>
 <li>A new <a href="dualLicensing.html">dual licensing</a> explanation page.</li>
</ul>

<b>Bug fixes or improvements</b>
<ul>
 <li><code>printf</code> debug calls removed. Tested with the future version 4.4 of gcc.</li>
 <li><code>domUtils.h</code> includes fixed (thanks Frederic).</li>
 <li><code>Camera::initFromDOMElement</code> bug fixed (bugfinder Forrester).</li>
 <li>Snapshot rendering bug when using screen coordinates with large image size (tiled rendering) fixed. New <code>scaledFont()</code> method to be used with <code>renderText()</code>. Bugfinder Jorik.</li>
</ul>


<h2>October 1st 2008 - 2.3.1</h2>
<b>New features</b>
<ul>
 <li>Exceptions added to the GPL Open Source license to make it compatible with CGAL.</li>
 <li>Although it still works, the compilation with Qt version 2 is no longer supported.</li>
 <li>The x3d example has been removed from the distribution since the x3d library is no longer maintained.</li>
</ul>



<h2>September 1st 2008 - 2.3.0</h2>
<b>New features</b>
<ul>
 <li>Default package distribution is now based on Qt4.</li>
 <li>A package installer is available for Windows, including the library, pre-compiled examples and full documentation.</li>
 <li>A new <a href="compilation.html">compilation with libQGLViewer</a> page explains how to compile your programs with QGLViewer.</li>
 <li>A new <a href="examples/overpainting.html">overpainting example</a> demonstrates mixing OpenGL and <code>QPainter</code> drawing.</li>
 <li>A new <a href="examples/cameraLight.html">cameraLight example</a> shows how to place a light at camera position.</li>
 <li>A new <a href="examples/contribs.html#cornerAxis">cornerAxis example</a> displays the scene orientation in the lower left corner.</li>
</ul>

<b>Changes in the API</b>
<ul>
 <li>A deleted <code>QGLViewer</code> is no longer removed from the <code>QGLViewerPool</code> (a <code>null</code> replaces it) 
in order to preserve viewer's indexes (used by <code>stateFileName</code>) (bug finder Gianluca).</li>
 <li>Unix install no longer features a static version of the library.</li>
</ul>

<b>Bug fixes or improvements</b>
<ul>
 <li>All the texts used by the library are now translatable. A french translation is available.</li>
 <li>Visual Studio installation procedure refreshed.</li>
 <li>Includes were modified to satisfy new gcc 4.3 cleaner standards (thanks Artur).</li>
 <li>All examples' warnings under Visual Studio have been fixed.</li>
 <li>Help window spaced and made fully translatable.</li>
</ul>



<h2>May 29th 2007 - 2.2.6</h2>
<b>New features</b>
<ul>
 <li>The <code>Camera</code> now saves and restores its scene center and radius in its XML representation.</li>
 <li>A new <code>Camera::getModelViewProjectionMatrix</code> convenient method (suggester Elmar).</li>
</ul>


<b>Bug fixes or improvements</b>
<ul>
 <li>Compilation warnings with MSVC 2003 and 2005 fixed.</li>
 <li>Null viewer dimensions no longer cause divisions by 0 (bug finder Elmar).</li>
</ul>


<h2>January 31st 2007- 2.2.5</h2>
<b>Bug fixes or improvements</b>
<ul>
 <li>1 pixel shift in <code>Camera::pointUnderPixel()</code> fixed (bug finder Aurlien).</li>
 <li>Included file naming changed to follow Qt4 conventions (suggester Maxime).</li>
 <li>Lighting disabled for text drawing in the <code>screenCoordSystem</code> example (bug finder Greg).</li>
 <li>Documentation switched to doxygen 1.5 tab style (bug finder Xavier).</li>
</ul>


<h2>November 28th 2006 - 2.2.4</h2>
<b>New features</b>
<ul>
 <li>A new <code>DRIVE</code> MouseAction. Similar to fly, but speed depends on mouse vertical position (suggester Le Thanh).</li>
 <li>A new <a href="examples/standardCamera.html">standardCamera</a> example shows how to customize your <code>Camera</code>.</li>
</ul>

<b>Bug fixes or improvements</b>
<ul>
 <li><code>orthogonalVec()</code> had problems for some vectors (bug finder David).</li>
 <li><code>MOVE_FORWARD</code> and <code>MOVE_BACKWARD</code> behavior improved.</li>
 <li>Double file overwriting question with Qt4 removed.</li>
</ul>


<h2>May 14th 2006 - 2.2.3</h2>
<b>New features</b>
<ul>
 <li><code>Camera::interpolateTo</code> moves the Camera to a target position.</li>
</ul>

<b>Changes in the API</b>
<ul>
 <li><code>setSceneCenter</code> and <code>setSceneRadius</code> were made <code>virtual</code>.</li>
</ul>

<b>Bug fixes or improvements</b>
<ul>
 <li>Problem with constraints on frame hierarchy fixed (thanks Sylvain).</li>
 <li><code>unregisterTimer</code> error mesage fixed (thanks Xavier).</li>
 <li>Spurious brace correctly closed in examples' .pro (thanks Xavier).</li>
</ul>


<h2>May 14th 2006 - 2.2.2</h2>
<b>New features</b>
<ul>
 <li>Snapshot can be created at an arbitrary size (using image mosaicing) with optional oversampling anti-aliassing.</li>
</ul>

<b>Bug fixes or improvements</b>
<ul>
 <li>Problem with <code>QT3_SUPPORT</code> under Qt4 fixed (prevented designer plugin creation under windows).</li>
</ul>


<h2>March 8th 2006 - 2.2.1</h2>
<b>New features</b>
<ul>
 <li>Designer plugin installation directory can now be changed (suggester Markus).</li>
</ul>

<b>Changes in the API</b>
<ul>
 <li>Deprecated <code>setSnapshotFilename</code> (lowercase n) method (kept for backward
 source code compatibility) was removed due to ActiveX conflicts (thanks Juergen).</li>
</ul>

<b>Bug fixes or improvements</b>
<ul>
 <li><code>saveSnapshot</code> was not recognized as a slot with Qt3 (bug finder Gheorghe).</li>
 <li>Generated snapshots files didn't have the proper <code>.jpg</code> extension.</li>
 <li>Animation added to the <a href="examples/contribs.html#blobWar">blobWar example</a>.</li>
</ul>


<h2>February 8th 2006 - 2.2.0</h2>
<b>New features</b>
<ul>
 <li><code>Camera::getFrustumPlanesCoefficients()</code> function (see the <a href="examples/frustumCulling.html">frustumCulling example</a>).</li>
 <li><code>Camera::setFromModelViewMatrix()</code> makes a <code>Camera</code> match a given <code>modelView</code> matrix (suggester Daria).</li>
 <li>Non-const <code>Vec::float*()</code> operator, so that <code>Vec</code> parameters can be passed to <code>float*</code> filling methods.</li>
 <li><code>Quaternion::normalized()</code> method.</li>
 <li><code>Camera::rightVector()</code> that completes the <code>viewDirection()</code> and <code>upVector()</code> methods.</li>
 <li>New <a href="examples/frustumCulling.html">frustumCulling</a> and <a href="examples/contribs.html#blobWar">blobWar</a> examples.</li>
 <li>In the <a href="examples/multiSelect.html">multiSelect</a> example, the selected set can now be manipulated.</li>
</ul>

<b>Changes in the API</b>
<ul>
 <li><code>Camera::draw()</code> method parameters changed. Can now also draw ORTHOGRAPHIC Camera type.</li>
 <li><code>Camera::drawCamera()</code> static method removed. Use <code>(new Camera())->draw()</code> instead.</li>
 <li>Z-buffer display has been removed (not supported on many architectures). Code is available in <code>copyBufferToTexture()</code>.</li>
 <li><code>Quaternion::setFromRotationMatrix</code> takes a <code>double</code> (instead of
 <code>float</code>) parameter for better precision.</li>
 <li><code>Frame::referenceFrame()</code> now returns a <code>const Frame*</code> (suggester Xavier).</li>
 <li><code>Quaternion::setFromRotatedBase()</code> renamed <code>setFromRotatedBasis()</code>.</li>
 <li>Mouse events are now prioritarily interpreted as <code>ClickAction</code> and then passed to the
 <code>mouseGrabber()</code> if no <code>ClickAction</code> corresponds (was the inverse).</li>
 <li><code>drawAxis()</code> and <code>drawGrid()</code> no longer modify the OpenGL state (suggester Manu).</li>
</ul>

<b>Bug fixes or improvements</b>
<ul>
 <li>Bug in <code>KeyFrameInterpolator</code> path drawing fixed (bug finder Manuel).</li>
 <li><code>Quaternion(from, to)</code> bug fixed for colinear vectors (bug finder Aurlien).</li>
 <li><code>Quaternion::setFromRotationMatrix</code> patched and made more robust.</li>
 <li>Camera's <code>zClippingCoefficient</code> correctly restored when <code>cameraIsEdited</code>.</li>
 <li><code>Frame::initFromDOMElement</code> normalizes the orientation.</li>
 <li>This changeLog file was split in two parts (see the <a href="changeLog-1.html">archive</a>).</li>
 <li><a href="http://www.libqglviewer.com/download_statistics.html">Download statistics</a> are back.</li>
 <li>Private classes removed from documentation.</li>
 <li>The <a href="examples/contribs.html#dvonn">dvonn</a> example now also compiles with Qt4.</li>
</ul>


<h2>September 18th 2005 - 2.1.1</h2>

<b>Changes in the API</b>
<ul>
<li><code>snapshotFilename</code> renamed <code>snapshotFile<b>N</b>ame</code> (uppercased 'N').</li>
<li>When negative, the <code>snapshotCounter</code> is not appended to <code>snapshotFileName</code> in automatic mode.</li> 
</ul>

<b>Bug fixes or improvements</b>
<ul>
 <li><code>saveSnapshot(fileName)</code> no longer opens a file dialog (bug finder Jrgen).</li>
</ul>



<h2>September 14th 2005 - 2.1.0</h2>
<p>
The library now compiles with Qt version 2, 3 and 4. When enum or function names have been changed in
Qt4, the QGLViewer documentation uses their Qt 4 version and gives Qt 2 & 3 translations.
</p>
<b>New features</b>
<ul>
 <li>Support for Qt version 2, 3 and 4.</li>
 <li>Dual licensing : a LGPL version of the library is available for commercial applications.</li>
 <li><code>QGLViewer::drawArrow()</code> method from two points (thanks Sylvain).</li>
</ul>

<b>Changes in the API</b>
<p>
<code>Qt::ButtonState</code> (Qt versions 2 &amp; 3) has been split into
<code>Qt::KeyboardModifiers</code> and <code>Qt::MouseButtons</code> in Qt4. Since these are just
enums, previous code will still work.
</p>

<ul>
 <li><code>playPathStateKey()</code> and <code>addKeyFrameStateKey()</code> were renamed
 <code>playPathKeyboardModifiers()</code> and <code>addKeyFrameKeyboardModifiers()</code>.<br/>
 Their <code>int</code> parameter has been replaced by a type-safe <code>Qt::KeyboardModifiers</code>.</li>
 <li><code>setHandlerStateKey</code> renamed <code>setHandlerKeyboardModifiers</code>.</li>
</ul>

<b>Bug fixes or improvements</b>
<ul>
 <li><code>Camera</code> copy constructor fixed (bug finder Xavier).</li>
</ul>


<h2>August 10th 2005 - 2.0.1</h2>
<b>Bug fixes or improvements</b>
<ul>
 <li>Bounding box warning when viewing generated EPS snapshots fixed. Thanks Dominik.</li>
</ul>

<h2>June 24th 2005 - 2.0.0</h2>
<b>New features</b>
<ul>
 <li>Cyril Soler entirely rewrote the <a href="http://artis.imag.fr/Software/VRender/">VRender</a> vectorial rendering code. Smaller and better ouput files.</li>
 <li>New <code>QGLViewer::copyBufferToTexture()</code> to copy the frame buffer in a texture.</li>
 <li>New <code>Camera::drawCamera()</code> and <code>draw()</code> methods.</li>
 <li>New <code>QGLViewer::drawArrow()</code> static method.</li>
 <li>New <code>QGLViewer::mouseGrabberIsEnabled()</code> method.</li>
 <li>Copy constructor and <code>=</code> operator implemented for <code>Camera</code> and
 <code>KeyFrameInterpolator</code> classes.</li>
</ul>

<b>Changes in the API</b>
<br/>
The API has been cleaned up and simplified. The documentation has entirely been rewritten.
<ul>
 <li>Vec</li>
 <ul>
  <li><code>address()</code> deprecated, use <code>operator const float*</code> instead.</li>
  <li><code>sqNorm()</code> renamed <code>Vec::squaredNorm()</code>.</li>
 </ul>
 <li>Quaternion</li>
 <ul>
  <li>Constructor with half angle removed.</li>
  <li><code>randomOrientation</code> renamed <code>randomQuaternion</code>.</li>
  <li><code>operator*</code> now returns a non-const <code>Quaternion</code>.</li>
 </ul>
 <li>Frame</li>
 <ul>
  <li><code>referenceFrame()</code> is no longer <code>const</code>.</li>
  <li><code>setOrientationAxisAngle()</code> and <code>Frame::setRotationAxisAngle()</code> removed.</li>
  <li><code>translate(float t[3])</code> and <code>Frame::rotate(float q[4])</code> removed: use <code>Vec</code> and <code>Quaternion</code> equivalents instead.</li>
  <li><code>invert()</code> and <code>Frame::worldInvert()</code> removed: use <code>inverse()</code> instead.</li>
  <li><code>inverseMatrix()</code> and <code>worldInverseMatrix()</code> removed: use <code>inverse().matrix()</code> instead.</li>
  <li><code>setReferenceFrame()</code> emits the <code>modified()</code> signal as expected.</li>
 </ul>
 <li>SpinningFrame</li>
 <ul>
  <li><code>SpinningFrame</code> class has been removed. Spinning was integrated in <code>ManipulatedFrame</code>.</li>
 </ul>
 <li>ManipulatedFrame</li>
 <ul>
  <li><code>spinned</code> signal renamed <code>spun</code>.</li>
 </ul>
 <li>MouseGrabber</li>
 <ul>
  <li>Mouse event method now all take a non-const <code>Camera</code> parameter.</li>
 </ul>
 <li>AxisPlaneConstraint</li>
 <ul>
  <li><code>float</code> methods removed: use <code>Vec</code> equivalents instead.</li>
  <li><code>*Dir()</code> methods renamed <code>*Direction()</code>.</li>
 </ul>
 <li>KeyFrameInterpolator</code>
 <ul>
  <li><code>keyFramePosition()</code> and <code>keyFrameOrientation()</code> removed: use <code>KeyFrame().position()</code> and <code>KeyFrame().orientation()</code> instead.</li>
  <li><code>finished()</code> renamed <code>endReached()</code>.</li>
 </ul>
 <li>Camera</li>
 <ul>
  <li>Methods with <code>float</code> parameter removed. Use their <code>Vec(x,y,z)</code> and <code>Quaternion(q0,q1,q2,q3)</code> equivalents instead.</li>
  <li><code>editCameraPath()</code> and <code>cameraPathIsEdited()</code> removed.</li>
  <li><code>float</code> versions of <code>getModelViewMatrix</code> and
  <code>getProjectionMatrix</code> removed. Use <code>double</code> equivalents instead.</li>
  <li>Methods using pixel input (<code>pointUnderPixel()</code>...) take <code>QPoint</code> parameter instead of x and y. Use <code>QPoint(x,y)</code> constructor if needed.</li>
  <li><code>nbPaths()</code> removed. Camera now contains an arbitrary number of paths.</li>
  <li><code>fitScreenRegion</code> now takes a <code>QRect</code> parameter.</li>
  <li><code>getOrthoWidthHeight</code> made <code>virtual</code>.</li>
  <li><code>ORTHO</code> type renamed <code>ORTHOGRAPHIC</code>.</li>
  <li><code>zNearCoef</code> and <code>zClippingCoef</code> renamed <code>zNearCoefficient</code> and <code>zClippingCoefficient</code>.</li>
  <li><code>setWindowWidthAndHeight</code> renamed <code>setScreenWidthAndHeight</code>.</li>
  <li><code>playKeyFramePath, deleteKeyFramePath and resetKeyFramePath</code> renamed <code>playPath, deletePath and resetPath</code>.</li>
  <li><code>addKeyFrame</code> renamed <code>addKeyFrameToPath</code>.</li>
  <li><code>distanceToScreen()</code> renamed <code>physicalDistanceToScreen()</code>.</li>
  <li><code>distanceToZeroParallaxPlane()</code> renamed <code>focusDistance()</code>.</li>
  <li><code>IODist</code> renamed <code>IODistance</code>.</li>
  <li><code>setCameraFromProjectionMatrix()</code> renamed <code>setFromProjectionMatrix()</code>.</li>
 </ul>
 <li>QGLViewer</li>
 <ul>
  <li><code>cameraPathIsEdited</code> and <code>editCameraPath</code> renamed <code>cameraIsEdited</code> and <code>setCameraIsEdited</code>.</li>
  <li><code>EDIT_CAMERA_PATHS</code> renamed <code>EDIT_CAMERA</code> in prevision of a future camera edition.</li>
  <li><code>setDrawAxis, setDrawGrid, setDisplayFPS, setDisplayText</code> renamed
  <code>setAxisIsDrawn, setGridIsDrawn, setFPSIsDisplayed, setTextIsEnabled</code>.</li>
  <li><code>float</code> methods removed. Use <code>Vec</code> and <code>Quaternion</code> equivalents instead.</li>
  <li><code>drawAxis</code> made <code>static</code>.</li>
  <li><code>setMouseStateKey</code> renamed <code>setHandlerStateKey</code>.</li>
  <li><code>keyFrameKey</code> renamed <code>pathKey</code>, with swapped parameters.</li>
  <li><code>playKeyFramePathStateKey</code> renamed <code>playPathStateKey</code>.</li>
  <li><code>keyboardAccelerator</code> (resp. <code>setKeyboardAccelerator</code>) renamed
  <code>shortcut</code> (resp. <code>setShortcut</code>).</li>
  <li><code>select, beginSelection, endSelection </code> and <code>postSelection</code> use
  <code>QPoint</code> instead of <code>x</code> and <code>y</code>.</li>
  <li><code>toggleAnimationMode</code> renamed <code>toggleAnimation</code>.</li>
  <li><code>version</code> syntax in state file changed and is now compared with current version on restoration.</li>
  <li>Destructor now also deletes the <code>camera()</code>.</li>
  <li><code>connectSignalToAllViewers, disconnectSignalToAllViewers</code> and <code>updateGLForAllViewers</code> removed. Use <code>QGLViewerPool</code> insead.</li>
  <li>Keys F1-F12 are binded to camera keyFrameInterpolator indexes 1..12 (was 0..11).</li>
 </ul>
</ul>

Other modifications:
<ul>
 <li><code>zip</code> and <code>tar</code> files names include release number.</li>
 <li><code>rpm</code> now includes a static version of the library.</li>
</ul>

<b>Bug fixes or improvements</b>
<ul>
 <li><code>QGLViewer::stateFileName</code> no longer skips the directory prefix.</li>
 <li><code>QGLViewer::drawLight</code> nicer and fixed.</li>
 <li>WheelEvents now use <code>fastDraw()</code>. A final <code>draw()</code> is now triggered at a short delay after the last wheel event.</li>
</ul>

<h2>Previous changeLog</h2>

See the <a href="changeLog-1.html">previous changeLog</a> (Version 1.2.5 to 1.3.9, July 2002 to April 2005).

<br/><br/>

Please send any comment, suggestion or problem by <a href="mailto:contact@libqglviewer.com">e-mail</a>.

<p>
  <a href="http://validator.w3.org/check/referer"><img src="images/xhtml.png" alt="Valid XHTML 1.0!" height="31" width="88"/></a>
  <a href="http://jigsaw.w3.org/css-validator/check/referer"><img src="images/css.gif" alt="Valid CSS!" width="88" height="31"/></a>
  <i>Last modified on Wednesday, June 24, 2015.</i>
</p>

</body></html>