cvs -z9 diff -u -wb (in directory C:\code\ode\)
? msvc71
? ode/include/ode/config.h
cvs server: Diffing .
cvs server: Diffing CVSROOT
cvs server: Diffing ode
cvs server: Diffing ode/OPCODE
cvs server: Diffing ode/OPCODE/Ice
cvs server: Diffing ode/VC6
cvs server: Diffing ode/VC6/Samples
cvs server: Diffing ode/VC6/_configs
cvs server: Diffing ode/config
cvs server: Diffing ode/contrib
cvs server: Diffing ode/contrib/BreakableJoints
cvs server: Diffing ode/contrib/BreakableJoints/diff
cvs server: Diffing ode/contrib/DotNetManaged
cvs server: Diffing ode/contrib/DotNetManaged/Release
cvs server: Diffing ode/contrib/GeomTransformGroup
cvs server: Diffing ode/contrib/Mac_CFMCarbon
cvs server: Diffing ode/contrib/Mac_CFMCarbon/mac_source
cvs server: Diffing ode/contrib/Mac_CFMCarbon/mac_source/drawstuff
cvs server: Diffing ode/contrib/Mac_CFMCarbon/mac_source/drawstuff/src
cvs server: Diffing ode/contrib/Mac_CFMCarbon/mac_source/include
cvs server: Diffing ode/contrib/Mac_CFMCarbon/mac_source/include/GL
cvs server: Diffing ode/contrib/Mac_CFMCarbon/mac_source/include/ode
cvs server: Diffing ode/contrib/Mac_CFMCarbon/mac_source/ode
cvs server: Diffing ode/contrib/Mac_CFMCarbon/mac_source/ode/test
cvs server: Diffing ode/contrib/TerrainAndCone
cvs server: Diffing ode/contrib/dCylinder
cvs server: Diffing ode/contrib/dRay
cvs server: Diffing ode/contrib/dRay/Include
cvs server: Diffing ode/contrib/dRay/Test
cvs server: Diffing ode/contrib/msvc7
cvs server: Diffing ode/contrib/msvc7/ode_default
cvs server: Diffing ode/contrib/msvc7/ode_iterative_tricollide
cvs server: Diffing ode/contrib/msvc7/ode_triangle_collider
cvs server: Diffing ode/drawstuff
cvs server: Diffing ode/drawstuff/dstest
cvs server: Diffing ode/drawstuff/src
cvs server: Diffing ode/drawstuff/textures
cvs server: Diffing ode/include
cvs server: Diffing ode/include/drawstuff
cvs server: Diffing ode/include/ode
Index: ode/include/ode/memory.h
===================================================================
RCS file: /cvsroot/opende/ode/include/ode/memory.h,v
retrieving revision 1.7
diff -u -w -b -r1.7 memory.h
--- ode/include/ode/memory.h	19 Apr 2004 21:48:48 -0000	1.7
+++ ode/include/ode/memory.h	26 Apr 2004 16:24:34 -0000
@@ -52,6 +52,12 @@
 void * dRealloc (void *ptr, size_t oldsize, size_t newsize);
 void dFree (void *ptr, size_t size);
 
+/* when alloc debugging is turned on, this indicates that the given block of
+ * alloc()ed memory should not be reported as "still in use" when the program
+ * exits.
+ */
+void dAllocDontReport (void *ptr);
+
 #ifdef __cplusplus
 }
 #endif
cvs server: Diffing ode/lib
cvs server: Diffing ode/ode
cvs server: Diffing ode/ode/doc
cvs server: Diffing ode/ode/doc/pix
cvs server: Diffing ode/ode/src
Index: ode/ode/src/collision_transform.cpp
===================================================================
RCS file: /cvsroot/opende/ode/ode/src/collision_transform.cpp,v
retrieving revision 1.3
diff -u -w -b -r1.3 collision_transform.cpp
--- ode/ode/src/collision_transform.cpp	11 Jul 2003 21:35:34 -0000	1.3
+++ ode/ode/src/collision_transform.cpp	26 Apr 2004 16:24:34 -0000
@@ -102,7 +102,6 @@
 
 // utility function for dCollideTransform() : compute final pos and R
 // for the encapsulated geom object
-
 void dxGeomTransform::computeFinalTx()
 {
   dMULTIPLY0_331 (final_pos,R,obj->pos);
Index: ode/ode/src/collision_util.cpp
===================================================================
RCS file: /cvsroot/opende/ode/ode/src/collision_util.cpp,v
retrieving revision 1.3
diff -u -w -b -r1.3 collision_util.cpp
--- ode/ode/src/collision_util.cpp	14 Nov 2003 20:11:18 -0000	1.3
+++ ode/ode/src/collision_util.cpp	26 Apr 2004 16:24:34 -0000
@@ -294,7 +294,22 @@
 
   // find the region and tanchor values for p1
   for (i=0; i<3; i++) {
-    if (v[i] > 0) {
+    //  Denormals are a problem, because we divide by v[i], and then 
+    //  multiply that by 0. Alas, infinity times 0 is infinity (!)
+    //  We also use v2[i], which is v[i] squared. Here's how the epsilons 
+    //  are chosen:
+    //  float epsilon = 1.175494e-038 (smallest non-denormal number)
+    //  double epsilon = 2.225074e-308 (smallest non-denormal number)
+    //  For single precision, choose an epsilon such that v[i] squared is 
+    //  not a denormal; this is for performance.
+    //  For double precision, choose an epsilon such that v[i] is not a 
+    //  denormal; this is for correctness.
+#if defined( dSINGLE )
+    if (v[i] > dReal(1e-19))
+#else
+    if (v[i] > dReal(1e-307))
+#endif
+    {
       if (s[i] < -h[i]) {
 	region[i] = -1;
 	tanchor[i] = (-h[i]-s[i])/v[i];
cvs server: Diffing ode/ode/test
Index: ode/ode/test/test_trimesh.cpp
===================================================================
RCS file: /cvsroot/opende/ode/ode/test/test_trimesh.cpp,v
retrieving revision 1.4
diff -u -w -b -r1.4 test_trimesh.cpp
--- ode/ode/test/test_trimesh.cpp	22 Apr 2004 20:38:51 -0000	1.4
+++ ode/ode/test/test_trimesh.cpp	26 Apr 2004 16:24:34 -0000
@@ -312,6 +312,22 @@
   else if (cmd == 'r') {
     random_pos ^= 1;
   }
+  else if (cmd == 'u') {
+    if( selected < num && selected >= 0 ) {
+      for( int g = 0; g < 3; ++g ) {
+        if( obj[selected].geom[g] ) {
+          dGeomDestroy( obj[selected].geom[g] );
+        }
+      }
+      dBodyDestroy( obj[selected].body );
+      memcpy( &obj[selected], &obj[selected+1], (num-selected-1)*sizeof(obj[0]) );
+      --num;
+      memset( &obj[num], 0, sizeof(obj[num]) );
+      if( selected == num ) {
+        selected = 0;
+      }
+    }
+  }
 }
 
 
cvs server: Diffing ode/tools

***** CVS exited normally with code 1 *****