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 & 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 & 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>
|