[ODE] release time

Bram Stolk bram at sara.nl
Sat Feb 10 03:52:27 MST 2007


I've investigated that heightfield thing again, and I agree with the 
author of the optimization patch: as long as there is no good testcase 
that demonstrates the bug, there is not much to do. I contemplated 
reverting, but it's probably best to keep it as is, and see if a 
reproducible test case will emerge. BTW: Diff'ing the heightfield 
implementations is a nightmare due to the 'indent changes', just like we 
discussed in another thread.

Jason, I think it is time to release.
Your call: you can do an rc2, but if you go directly to 0.8, that would 
be fine. I've tested linux on ia32, ia64, ppc and on irix mips. They are 
  all fine. If your win32 build is OK, just put out 0.8, and if needed, 
a 0.8.1 fix is always possible.

I've created a poor man's Changelog from the svn logs, as the most 
frequent question from the community is always 'where are the release 
notes with changes?'.
Judging from this list, 0.8 should be a lot better than 0.7 :-)


CHANGELOG for ODE 0.8 wrt ODE 0.7

Make building tests optional. SF patch 1650563

lib64 fixes, SF patch 1646598

added test_jointPR (sf patch 1654464)

Warn against using double precision with gimpact

Updated versions in configure.in, added step to release script

Fixed CR/LF issue in release script

Make it score on linux+opcode

Fixed illegal goto: crossed data init, and removed ctrl M's

Added patch [ 1626242 ] Small optimization for quickstep. The patch goes 
into details of the two optimisations, as usual this is a pending patch 
in case there are problems.

Added patch [ 1626292 ] Update PR joint functions. A number of updates 
and fixes for Joint PR.

Added patch from #1589443 to add Joint PR output to export-dif.cpp

Applied patch [ 1589439 ] Remove an unused function

Added changes from patch #1583115 by Tuan Kuranes. Performance in 
test_heightfield, especially for meshes is a superb improvement!

Fix for build error when using a manually generated project (i.e. 
dumping in all of the files) and premake to generate config.h with the 
--no-trimesh option. This was due to "#define dTRIMESH_OPCODE 1" still 
being present in 'collision_trimesh_internal.h'. Also it now ignores 
'--with-gimpact' if --no-trimesh is used as they are mutually exclusive.

Enhanced the platform identification to detect Xbox 360, PS3 and PSP 
correctly. This is simply to provide a slightly nicer 'out-of-the-box' 
experience for console developers. NOTE: These platforms still remain 
unsupported and may not build correctly, however this shouldn't now be 
because of a '#error' directive.

Bump up version nr properly. We forgot to do this for 0.7

Applied patch #1615274 - New dBodyGetWorld function which returns the 
world id for a body, or zero if the body is not in any world.

Applied SF patch 1610170 by Christoph

Added matrix.h to .net bindings

Completing joint feedback patch - more optimized version

Added an assert (from patch 1557801) for a very common composite mass 
problem encountered by new users - centre of mass must be at the body 
origin. (Use dMassTranslate( mass, -mass->c ) to correct it). Note that 
at some point in the future, ODE will support offset masses, until that 
time it'll save a lot of people time if it asserts about it (and 
hopefully may spur on development of offset masses!)

Raised the maximum contact points from 8 to 64 to allow the complex 
bunny model to be repelled from the plane correctly.

Patch #1590910, fix for ray-triangle collision.

Changed dSINGLE / dDOUBLE to be safer. You will now get an error with 
both #defined and the one case where dSINGLE needed to be defined as != 
0 to work has been changed to match all the other #ifdef dSINGLE.

Fix for memory leak of static memory allocated in the OPCODE collider. 
Applications must ensure to call dCloseODE before running memory leak 
checking functions.

Fixed a memory leak in heightfield.cpp

Updated project files for gimpact support

Applied Tuan Kuranes' performance patch #1583115.

Removed 'space' accelerator for pause - this was used by some of the 
tests. CTRL+P still works

Unified instantaneous and averaging velocity systems for auto-disabling 
bodies, to reduce overheads in the default case to near that of the 
classic auto-disabling system. With the added scope of allowing a larger 
sample set if required.

Fixed a little bug in the averaging auto-disable system where the z 
component wasn't being scaled properly and the y component was being 
scaled twice. Also optimised slightly for single sample case with a view 
to unifying with the classic auto-disable system.

Integrated Christoph Beyer's average based sampling system for body 
disabling. The current tests are not great examples for this new 
feature, but I have added it to the two I know about the most.

Removed unused local vector 'p' from PRGetInfo2. Silences warning in VS2003.

drawstuff: The single-step option now auto-pauses if required, also 
added a new keyboard accelerator so that <space> toggles pause.

Removed all of the signed / unsigned warnings presented by the VS2003 
compiler. Also applied patch #1589452 by Remi Ricard.

Integration of patch [ 1566410 ] Rename JointRP to JointPR.

Another big chunk of the Ode.NET binding

Added a good portion of the API to Ode.NET

Applied patch 1586738: don't freeze objects mid-air

Added missing premake files (whoops)

Cleaned up .NET bindings; getting ready for another round

Use dMassSetTrimesh for 'm' option. Use dWorldStepFast1 to make 
collision bug with GIMPACT (see bug report #1587911) easier to reproduce.

Applied patch 1587462 from SourceForge to implement 
dGeomTriMeshGetTriangleCount, dGeomTriMeshGetTriangle and 
dGeomTriMeshGetPoint. Fixes test_moving_trimesh

Replacement cyl/sph collider by Christoph Beyer

improved cyl/sphere test

Added GIMPACT support to autotools

Don't put guard over trimesh func

Added cylinder support now that it's almost fully implemented.

Renamed Joint RP to Joint PR - as per patch 1566410. Note that the 
supplied patch files did not merge properly due to the extend of the 
subsequent patches, so these changes we made by hand. Apologies if 
anything was missed.

Patch to fix zero length normal which occurs at certain contact angles. 
By Francisco Leon.

Added dMassSetTrimesh implemented by Gero Mueller, based on a paper by 
Brian Mirtich. Used in test_moving_trimesh for reference.

Fix unix build

Replacement cyl/plane collider by Christoph Beyer

Initial merge of GIMPACT trimesh collision system

Improved contact pts for cyl lying with cap on plane

handle cases where discs are completely behind plane

Fixed cyl/plane bug that occured when plane is not at origin

Added fix by Jon Watte for denormals

Add assert to check if bug report 1192390 makes sense.

Fix include path. Fixes Bug 1572419

fix double precision build, remove ctrl-M noise

Flags dUSE_MALLOC_FOR_ALLOCA as experimental in premake scripts

Fixed silly CYGWIN macro

Convex-Convex somewhat works, sometimes returns less than optimal 
contact points

Added support for dUSE_MALLOC_FOR_ALLOCA to premake build

Some work on Convex objects code, Added convex collision detection test.

Added more functions to Ode.Net binding

Fixed a typo in INSTALL.txt

Deprecated Visual Studio 6

cyl/plane fix

Fixed two bugs in plane/cyl collision test

Updated visual studio build scripts to create drawstuff.dll for .net binding

Merged .NET binding to trunk

Option to rotate cylinder with geom-offset

Fix for bug #1554391 found by chris88. UseFlags member variable would be 
deleted as garbage pointer if dxTriMeshData was deleted immediately 
after creation.

Fixed code to compile without OPCODE if dTRIMESH_ENABLED is off. It is 
now possible to completely remove OPCODE / TriMesh support by removing 
the OPCODE folder from the project, and from the disk.

Removed all of the single/double precision warnings in test_plane2d.cpp

Fix for dTRIMESH_ENABLED support to allow "#define dTRIMESH_ENABLED 0" 
to disable trimesh operation correctly. NOTE: "#define dTRIMESH_ENABLED" 
is no longer supported, you must use "#define dTRIMESH_ENABLED 1" to use 
trimeshes, as per the default config file.

Relaxed testing tol for dSINGLE

Feature Request [ 1526353 ] - Make 'last transform' a member of the 
trimesh geom, not trimesh data - to support instancing. New functions: 
dGeomTriMeshSetLastTransform and dGeomTriMeshGetLastTransform work very 
similar to before and require minimal user code changes.

Added update for recent big changes.

[ 1553605 ] New Rotoide - Prismatic Joint

[ 1553613 ] Patch to enable the selection of the test in test_joint

[ 1553537 ] Optimize when dGYROSCOPIC is not used, by Remi Ricard

Patch #[ 1477849 ] Add fct getUniversalAngles by Remi Ricard

Applied patch #1553508 "Remove unused variables" by Remi Ricard

Fixed a couple of trivial warnings.

The composite-body has been overhauled by Geoff Carlton:
Support for geom offsets added.
The geom transform code has been fixed (centre of mass was off)

More information about the ODE mailing list