snapshotToClipboard()
method binded to Ctrl+C
eases snapshot creation..vcproj
project files added to QGLViewer
and examples' directories.printf
debug calls removed. Tested with the future version 4.4 of gcc.domUtils.h
includes fixed (thanks Frederic).Camera::initFromDOMElement
bug fixed (bugfinder Forrester).scaledFont()
method to be used with renderText()
. Bugfinder Jorik.QPainter
drawing.QGLViewer
is no longer removed from the QGLViewerPool
(a null
replaces it)
in order to preserve viewer's indexes (used by stateFileName
) (bug finder Gianluca).Camera
now saves and restores its scene center and radius in its XML representation.Camera::getModelViewProjectionMatrix
convenient method (suggester Elmar).Camera::pointUnderPixel()
fixed (bug finder Aurélien).screenCoordSystem
example (bug finder Greg).DRIVE
MouseAction. Similar to fly, but speed depends on mouse vertical position (suggester Le Thanh).Camera
.orthogonalVec()
had problems for some vectors (bug finder David).MOVE_FORWARD
and MOVE_BACKWARD
behavior improved.Camera::interpolateTo
moves the Camera to a target position.setSceneCenter
and setSceneRadius
were made virtual
.unregisterTimer
error mesage fixed (thanks Xavier).QT3_SUPPORT
under Qt4 fixed (prevented designer plugin creation under windows).setSnapshotFilename
(lowercase n) method (kept for backward
source code compatibility) was removed due to ActiveX conflicts (thanks Juergen).saveSnapshot
was not recognized as a slot with Qt3 (bug finder Gheorghe)..jpg
extension.Camera::getFrustumPlanesCoefficients()
function (see the frustumCulling example).Camera::setFromModelViewMatrix()
makes a Camera
match a given modelView
matrix (suggester Daria).Vec::float*()
operator, so that Vec
parameters can be passed to float*
filling methods.Quaternion::normalized()
method.Camera::rightVector()
that completes the viewDirection()
and upVector()
methods.Camera::draw()
method parameters changed. Can now also draw ORTHOGRAPHIC Camera type.Camera::drawCamera()
static method removed. Use (new Camera())->draw()
instead.copyBufferToTexture()
.Quaternion::setFromRotationMatrix
takes a double
(instead of
float
) parameter for better precision.Frame::referenceFrame()
now returns a const Frame*
(suggester Xavier).Quaternion::setFromRotatedBase()
renamed setFromRotatedBasis()
.ClickAction
and then passed to the
mouseGrabber()
if no ClickAction
corresponds (was the inverse).drawAxis()
and drawGrid()
no longer modify the OpenGL state (suggester Manu).KeyFrameInterpolator
path drawing fixed (bug finder Manuel).Quaternion(from, to)
bug fixed for colinear vectors (bug finder Aurélien).Quaternion::setFromRotationMatrix
patched and made more robust.zClippingCoefficient
correctly restored when cameraIsEdited
.Frame::initFromDOMElement
normalizes the orientation.snapshotFilename
renamed snapshotFileName
(uppercased 'N').snapshotCounter
is not appended to snapshotFileName
in automatic mode.saveSnapshot(fileName)
no longer opens a file dialog (bug finder Jürgen).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.
New featuresQGLViewer::drawArrow()
method from two points (thanks Sylvain).
Qt::ButtonState
(Qt versions 2 & 3) has been split into
Qt::KeyboardModifiers
and Qt::MouseButtons
in Qt4. Since these are just
enums, previous code will still work.
playPathStateKey()
and addKeyFrameStateKey()
were renamed
playPathKeyboardModifiers()
and addKeyFrameKeyboardModifiers()
.int
parameter has been replaced by a type-safe Qt::KeyboardModifiers
.setHandlerStateKey
renamed setHandlerKeyboardModifiers
.Camera
copy constructor fixed (bug finder Xavier).QGLViewer::copyBufferToTexture()
to copy the frame buffer in a texture.Camera::drawCamera()
and draw()
methods.QGLViewer::drawArrow()
static method.QGLViewer::mouseGrabberIsEnabled()
method.=
operator implemented for Camera
and
KeyFrameInterpolator
classes.address()
deprecated, use operator const float*
instead.sqNorm()
renamed Vec::squaredNorm()
.randomOrientation
renamed randomQuaternion
.operator*
now returns a non-const Quaternion
.referenceFrame()
is no longer const
.setOrientationAxisAngle()
and Frame::setRotationAxisAngle()
removed.translate(float t[3])
and Frame::rotate(float q[4])
removed: use Vec
and Quaternion
equivalents instead.invert()
and Frame::worldInvert()
removed: use inverse()
instead.inverseMatrix()
and worldInverseMatrix()
removed: use inverse().matrix()
instead.setReferenceFrame()
emits the modified()
signal as expected.SpinningFrame
class has been removed. Spinning was integrated in ManipulatedFrame
.spinned
signal renamed spun
.Camera
parameter.float
methods removed: use Vec
equivalents instead.*Dir()
methods renamed *Direction()
.keyFramePosition()
and keyFrameOrientation()
removed: use KeyFrame().position()
and KeyFrame().orientation()
instead.finished()
renamed endReached()
.float
parameter removed. Use their Vec(x,y,z)
and Quaternion(q0,q1,q2,q3)
equivalents instead.editCameraPath()
and cameraPathIsEdited()
removed.float
versions of getModelViewMatrix
and
getProjectionMatrix
removed. Use double
equivalents instead.pointUnderPixel()
...) take QPoint
parameter instead of x and y. Use QPoint(x,y)
constructor if needed.nbPaths()
removed. Camera now contains an arbitrary number of paths.fitScreenRegion
now takes a QRect
parameter.getOrthoWidthHeight
made virtual
.ORTHO
type renamed ORTHOGRAPHIC
.zNearCoef
and zClippingCoef
renamed zNearCoefficient
and zClippingCoefficient
.setWindowWidthAndHeight
renamed setScreenWidthAndHeight
.playKeyFramePath, deleteKeyFramePath and resetKeyFramePath
renamed playPath, deletePath and resetPath
.addKeyFrame
renamed addKeyFrameToPath
.distanceToScreen()
renamed physicalDistanceToScreen()
.distanceToZeroParallaxPlane()
renamed focusDistance()
.IODist
renamed IODistance
.setCameraFromProjectionMatrix()
renamed setFromProjectionMatrix()
.cameraPathIsEdited
and editCameraPath
renamed cameraIsEdited
and setCameraIsEdited
.EDIT_CAMERA_PATHS
renamed EDIT_CAMERA
in prevision of a future camera edition.setDrawAxis, setDrawGrid, setDisplayFPS, setDisplayText
renamed
setAxisIsDrawn, setGridIsDrawn, setFPSIsDisplayed, setTextIsEnabled
.float
methods removed. Use Vec
and Quaternion
equivalents instead.drawAxis
made static
.setMouseStateKey
renamed setHandlerStateKey
.keyFrameKey
renamed pathKey
, with swapped parameters.playKeyFramePathStateKey
renamed playPathStateKey
.keyboardAccelerator
(resp. setKeyboardAccelerator
) renamed
shortcut
(resp. setShortcut
).select, beginSelection, endSelection
and postSelection
use
QPoint
instead of x
and y
.toggleAnimationMode
renamed toggleAnimation
.version
syntax in state file changed and is now compared with current version on restoration.camera()
.connectSignalToAllViewers, disconnectSignalToAllViewers
and updateGLForAllViewers
removed. Use QGLViewerPool
insead.zip
and tar
files names include release number.rpm
now includes a static version of the library.QGLViewer::stateFileName
no longer skips the directory prefix.QGLViewer::drawLight
nicer and fixed.fastDraw()
. A final draw()
is now triggered at a short delay after the last wheel event.