- Make Java 9 the default.
- remove deprecations for 0.6.0
- Remove ccp4j
- Look at DContactGeom pos3()/normal3()
- dxOrthogonalizeR returns true unconditionally... verify with ODE!
- Bug: Dropping first box on Heightfield is wrong. -> Cylinder is also often iffy, but that is the same in C++ -> e.g. 7. cylinder (java) or 11th (c++)!
- What is the deal with DJoint PARAM vs PARAM_N? ODE doesn´t have PARAM_N (e.g. dParamBounce1)! -> ode4j shouldn´t have them either... Remove (deprecate) and replace with PARAM, or at least document what is going on!
- Cleanup GimMath / GimGeometry (e.g. remove RefFloat) -> Remove GIM_BUFFER_ARRAY_POINTER() -> avoit IntArr and ObjArray allocation + usage!!!!! -> e.g. in gim_trimesh_update_aabbset()
- Move to Google Java Code Style
- Document: Gimpact works best with (i.e. does not scale above ?) room size <= MAX_AABB_SIZE=1638.0 -> Why 1638? Can we improve this?
- Create separate distribution (maven jar) with modules? -> Check how modul-projects have trouble with including non-module projects... -> https://www.baeldung.com/java-9-modularity -> https://stackoverflow.com/questions/40490520/what-do-i-need-to-build-jdk-9-project-with-non-modular-dependencies-using-maven
- Consider porting stuff in "contrib"
- Fix maven warnings:
- [WARNING] bootstrap class path not set in conjunction with -source 8 WHen using JDK 9 or later
--> See TODO.txt
- Nothing?
- Improved Android compatibility #124
- Improved Android compatibility #123
- Avoid garbage collection of DContact. This is now implemented without pooling but with reusing DContact instances in place.#35
- Fixed Java module warning; added
-Werror
; new defaultOdeConfig.dDEBUG = false
#122 - BREAKING CHANGE: DSpace.getGeoms() not returns
DGeom
instead ofDxGeom
. #121 - DGeom.isSpace() #120
- CHANGELOG.txt -> .md and added overview to README.md #119
- Cumulative fix:
- Fixed missing call to Trimesh callbacks. #76
- Deprecated DTriArrayCallback. It was never supported and is considered for removal in ODE.
- DBody.getGeomIterator()
- DBody.getFirstGeom() is no longer deprecated
- Simpler construction methods for DConvex
- Some javadoc for DConvex
- DContactJoint.getContact()
- Updated Trimesh/Capsule collision (CollideTrimeshCCylinder) #77
- Added DQuaternion.copy() and dot() #117
- Added factory methods and missing API for DRagdoll, DConstrainedBallJoint and DTrimeshHeightfield. #24
- Removed linter warnings when compiling with Java 17. #116
- DVector3C.cross(). #115
- DVector3.toDoubleArray(), fromDoubleArray(), fromFloatArray(). #114
- Turned into tests: DemoI, DemoSpace, DemoSpaceStress. #110
- Remove or deprecate
Cloneable
andclone()
. #109 - DVector3/DQuaternion/...: Better support for call chaining, added isEq(x, y, z, eps) and deprecated clone() and DQuaternion.Euler(). #108
- DVector3/DQuaternion/...: Deprecated hashCode(). #107
- Removed unnecessary ObjArray from heightfield. #106
- Added linter and fixed some lint. #105
- Cleaned up Junit 3 style tests. #104
- Moved tests into core/core-cpp. #103
- Cleaned up unit test output. #102
- Fix maven warnings of type "Use Import/Export Package directive -split-package [...]" #101
- Port updates until 0.16.3. #100
- Port updates until 0.16.2. This includes some libCCD updates missing fro the 0.15.1 update. This excludes improved solution finders with anything from Cooperative and ThreadedEquationSolverLDLT*. #97
- Added GutHub Actions CI builds for Java 8 and 9. #95
- Added default logger for demos and tests. #94
- Added Android API compliance checker, now for API level 24 (the lowest that ode4j passed without changes) #93
- Updated maven dependencies #92
- Test that internal assertions did not throw Exceptions. This was fixed as part of #86. #74
- Fixes to LWJGL 3.0 #91
- Moved to LWJGL 3.0 #89
- Move to Java #87 (Cleanup, part of this was done with the move to 0.15.1)
- Update to ODE 0.15.1 #86
- This includes increased stability, e.g. the DemoCards won't collapse anymore when 30 levels high.
- **** WARNING **** : Still missing: trimesh collider updates.
- Changed CI build requirements:
- Removed openjdk7: Not required. source compatibility is still set to 7, but should be safe to change to 8 now (Android Nougat is mostly 8 compatible), this covers > 80% users.
- Changed oraclejdk build to 11
- Fix regression: missing internal version id
- renamed DQuaternion inverse() to eqInverse()
- API convenience changes #79
- DBody.addLinearVelocity()
- DVector3C.reAdd()
- DQuaternion.ZERO and DQuaternion.IDENTITY
- Additional DQuaternionC API methods: isEq(), length(), lengthSquared(), ...
- DQuaternion.toEuler() and fromEuler()
- DQUaternion.invert() inverts a quaternion
- DVector3.eqToRadians() and eqToDegrees() convert angles in a DVector3.
- Fixed OSGI bundle info to use Java 1.7 instead of 7.0. #80
- Removed deprecated
<prerequisites>
tag in.pom
. #82 - Fixed some javadoc problems. #83
- Fixed javadoc to compile without warnings
- Java 9 compatibility automatically detected and used with Maven profiles
- Changed to Java 9 (output still Java 7) and modularization (io7m)
- Changed to Java 7 and updated some maven dependencies
- Implemented/migrated multi-threading for the stepper (Pjotr)
- SAP-Space optimization: Avoid collision detection for immobile bodies (Pjotr)
- New BVH tree for better scalability with many bodies, ported from the Turbulenz Engine (Pjotr)
- Some fixes, including new random reordering in quickstep, see PR #67, #68 (Pjotr)
-
Announcement: This will be the last release build with Java 6!
-
Convex vs trimesh collision improvement for concave trimeshes, PR #51 (Piotr)
-
Quickstep improvements, also fixes issue with DemoFeedback, PR #50 (Piotr)
-
Added more stable cylinder stacking, PR #47 (Piotr)
-
Deprecated DxSpace.getGeom(i) to fix compilation failure (TZ)
-
Ported libccd updates, PR #45 (Piotr)
-
Added new SAP space, PR #43 (Piotr)
-
Fixes on SAP space, PR #42 (Piotr)
-
Fixes on removing geoms from space, PR #41 (Piotr)
-
Added support for convex-trimesh collision (Piotr)
-
Fixed scaling of tacc in quickstep (issue #38, Eduard Nicodei)
-
Fixed Common.__ASSERT methods to act correctly if parameter is '0' or 'false', see issue #32
-
Removed unnecessary Common.__ASSERT calls if NPE would trivially be thrown by code below, see #32
-
Fixed mode checking in dJointSetTransmissionAxis2(), see issue #33
-
Test and fix for issue #31 (NPE in ragdoll)
-
Added support for heightfiels with holes (DxTrimeshHeightField)
-
Added support for the slf4j loggin API (TZ)
-
Added Ragdoll support and ConstrainedBallJoint (Piotr)
-
Added sorting of contact by penetration depth (Piotr), see issue #22
-
Added TrimeshHeightfield provided by Piotr
-
Fixed issue #19 (thanks to Piotr)
-
Fixed issue #17
-
Fixed NPE in DemoBoxStack-'x'
-
Added newArray(size) methods to DVector3 and DMatrix3
Migration to 0.13.1
New:
- 3 new joints: DoubleBall, DoubleHinge, Transmission
- New demos: DoubleBall, DoubleHinge, Gyro2, RFriction, Transmission
- Multithreading (well...)
Done:
- main code
- tests
- demos
- Fixed bug in dMatrix3Inv() --> Calculation was incorrect
- Fixed bug in DObject --> destroying joints might have crashed
- Fixed bug: Calling destroy() on a space with a Heightfield cause hang.
- Removed GeomTransform and other deprecated stuff
- Java 1.6 again
- Now passes strict -Xlint:all / -Werror builds
Demos:
- DemoBoxstack has MT disabled.
TODO
- DemoPlane2 explodes...
Missing:
- Multithreading does not work
- Check further:
- DxWorldProcessMemArena.FreeMemArena --> Commented out
- DxWorldProcessContext.FreeArenasList --> Commented out
- ThreadingUtils.java 154-156
- check matrix.h
- Skipped: odeou., odetls.
- Fixed possible infinite loop when calling dxQuickStepParameters.clone()
- fixed problem in low level check in Cstdio.fprintf()
- Deprecated equals() methods for DVector3, DVector6 and DQuaternion
- fixed NaN Check in Common.java
- Migration to Java 7!!!!
- Set version to 0.2.9
- Cleaned up javadoc (@remarks/note/warning to
REMARKS:/...) and removed @brief/@ingroup/@defgroup
- Updated license dates to 2014.
- CLeaned up plenty of compiler warnings
- Fixed issue #9: Exception when updating large trimeshes
- Merged 'cpp' package into 'core' package
- Issue #3: porting typo in space collider