Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

update to 0.16.2 #97

Merged
merged 27 commits into from
May 10, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
fb8640a
Upwards including joints done
tzaeschke May 2, 2023
54a381c
Upwards including joints done
tzaeschke May 2, 2023
4c8bb88
Upwards including joints done + libCCD
tzaeschke May 3, 2023
e1064f4
Upwards including joints done + libCCD
tzaeschke May 3, 2023
8f0be64
Upwards including joints done + libCCD + Demos
tzaeschke May 3, 2023
d330721
Upwards including joints done + libCCD + Demos + Halton
tzaeschke May 3, 2023
ac5b8b2
Upwards including joints done + libCCD + Demos + Halton
tzaeschke May 3, 2023
96d35f2
Upwards including joints done + libCCD + Demos + Halton
tzaeschke May 3, 2023
35cbed9
Upwards including joints done + libCCD + Demos + Halton
tzaeschke May 3, 2023
6e36805
Upwards including joints done + libCCD + Demos + Halton
tzaeschke May 3, 2023
762baa3
Upwards including joints done + libCCD + Demos + Halton
tzaeschke May 3, 2023
51227c5
Upwards including joints done + libCCD + Demos + DxConvex
tzaeschke May 3, 2023
4670074
Everything done except quicklstep and the stuff listed in CHANGELOG
tzaeschke May 4, 2023
b64265d
Everything done except quicklstep and the stuff listed in CHANGELOG
tzaeschke May 4, 2023
d3f4a37
Everything done except quicklstep and the stuff listed in CHANGELOG
tzaeschke May 5, 2023
eb28ae1
Everything done except quicklstep and the stuff listed in CHANGELOG
tzaeschke May 5, 2023
e9ffbf8
Everything done except quicklstep and the stuff listed in TODO
tzaeschke May 5, 2023
b05997e
Everything done except quicklstep and the stuff listed in TODO
tzaeschke May 5, 2023
f44c07a
Everything done except quicklstep and the stuff listed in TODO
tzaeschke May 9, 2023
77e0484
Everything done except quicklstep and the stuff listed in TODO
tzaeschke May 9, 2023
2719b57
Quickstep works!! -> Test and do TODO
tzaeschke May 9, 2023
6bb29e4
Quickstep works!! -> Test and do TODO
tzaeschke May 9, 2023
e45f208
Quickstep works!! -> Test and do TODO
tzaeschke May 10, 2023
3e3646a
Quickstep works!! -> Test and do TODO
tzaeschke May 10, 2023
4c60175
Quickstep works!! -> Test and do TODO
tzaeschke May 10, 2023
4e4dcd4
Quickstep works!! -> Test and do TODO
tzaeschke May 10, 2023
1b06a30
Quickstep works!! -> Test and do TODO
tzaeschke May 10, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 6 additions & 2 deletions CHANGELOG.txt
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ TODO for 0.5.0
- "Split package, multiple jars provide the same package"
- [WARNING] bootstrap class path not set in conjunction with -source 8
when using: mvn clean install -P on-jdk-9-plus
- CI: Fail build on warnbing?!
- CI: Fail build on warning?!
- CI: remove "temurin"...?!


Expand All @@ -42,6 +42,10 @@ ODE16.2: Much better. Floating card is actually fine (in theory). But3rd row col

0.5.0 (unreleased)
=====
- 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](https://github.com/tzaeschke/ode4j/pull/97)
- Added GutHub Actions CI builds for Java 8 and 9. [#95](https://github.com/tzaeschke/ode4j/pull/95)
- Added default logger for demos and tests. [#94](https://github.com/tzaeschke/ode4j/pull/94)
- Added Android API compliance checker, now for API level 24 (the lowest that ode4j passed without changes)
Expand All @@ -55,7 +59,7 @@ ODE16.2: Much better. Floating card is actually fine (in theory). But3rd row col
(Cleanup, part of this was done with the move to 0.15.1)
- Update to ODE 0.15.1 [#86](https://github.com/tzaeschke/ode4j/pull/86)
- This includes increased stability, e.g. the DemoCards won't collapse anymore when 30 levels high.
- **** WARNING **** : Still missing: libccd and trimesh collider updates.
- **** 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.
Expand Down
12 changes: 8 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -68,16 +68,20 @@ News
* This is the last release built with Java 6.


Basic Usage Tips
================
* Use `World.quickStep(...)` instead of `World.step()`. The latter is slower and appears to be less stable.
* Make sure to set `Common.dNODEBUG = true` for best performance.
* Avoid using `core-cpp` and ignore demos in `demo-cpp`.


Legal
=====

ode4j:
Copyright (c) 2009-2017 Tilmann Zäschke <ode4j(AT)gmx.de>.
Copyright (c) 2009-2023 Tilmann Zäschke <ode4j(AT)gmx.de>.
All rights reserved.




Like the original ODE, ode4j is licensed under LGPL v2.1 and BSD 3-clause. Choose whichever license suits your needs.


Expand Down
28 changes: 20 additions & 8 deletions TODO.txt
Original file line number Diff line number Diff line change
Expand Up @@ -5,13 +5,24 @@ mvn versions:display-dependency-updates
mvn versions:display-plugin-updates


Things left out for 0.5.0 (missing from 0.15.1 vs 0.16.2)
=========================================================
Not ported:
- resource_control.*
- simple_cooperation.*
- Updates to DxWorldProcessContext
- ThreadedEquationSolverLDLT* and *Cooperative* is missing from:
- fastldltfactor(_impl).*
- fastlsolve(_impl).*
- fastltsolve(_impl).*:
- fastvecscale(_impl).*:
- objects.h/.cpp / obstack.h/.cpp


Java Version
============
- We should aim for Oreo or later (Android 8.0, released 2017, API Level 26: https://apilevels.com/)
- Java 8 should be fine.
- Try animal-sniffer plugin for higher versions, e.g. Java 9
More accurate (respects desugaring by D8): https://github.com/open-toast/gummy-bears
- We use animal-sniffer (respects desugaring by D8): https://github.com/open-toast/gummy-bears

- Android Runtime replaced Dalvik as default Runtime in Android 5: https://en.wikipedia.org/wiki/Android_version_history
- Android 8 (Oreo) is about 8% share:
Expand All @@ -24,9 +35,6 @@ Java Version
- Android 11 support "up to" Java 13 (Question: complete 13 or partial 13??)
- 2018: https://jakewharton.com/androids-java-9-10-11-and-12-support/

- Java 8 support: https://developer.android.com/studio/write/java8-support-table
- Java 8 support details: https://developer.android.com/studio/write/java8-support


MArch 2023:
General cleanup:
Expand All @@ -35,8 +43,12 @@ General cleanup:
- Move tests to core/test
- update DVector3 safeNormalize to use max() and then compare to 0. ALso see: https://github.com/JOML-CI/JOML/issues/66
- replace DVector3.clone() with dVector3.re() or copy()
- 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
- reformat everything? At least indentation?
- CI builds
- Consider porting stuff in "contrib"


July 6th 2009:
Expand All @@ -49,7 +61,7 @@ Some minor things I found in the code:
- http://opende.sourceforge.net/wiki/index.php/Joint_Param_Documentation
This indicate that PU & PR joint have not parameters, I don't think that's correct?
- GeomTransform is obsolete since 0.6 (according to the Wiki), but it is still used in several demos:
deom_boxstack, demo_heightfield, demo_jointPU, demo_motion, demo_spacestress.
demo_boxstack, demo_heightfield, demo_jointPU, demo_motion, demo_spacestress.
I haven't used it myself, so is it still required?


Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -218,11 +218,21 @@ void dSolveL1T (final DMatrix3C L, DVector3 b, int n, int nskip) {
throw new UnsupportedOperationException();
}

/* in matlab syntax: a(1:n) = a(1:n) .* d(1:n)
*/

/** in matlab syntax: a(1:n) = a(1:n) .* d(1:n) */
// ODE_API void dScaleVector (dReal *a, const dReal *d, int n);
void dScaleVector (DVector3 a, final DVector3C d, int n) {
throw new UnsupportedOperationException();
}

//ODE_API
// void dVectorScale (double *a, final double *d, int n) {
/* The function is an alias for @c dScaleVector.
* It has been deprecated because of a wrong naming schema used.
*/
//ODE_API_DEPRECATED
// ODE_API
// void dVectorScale (dReal *a, const dReal *d, int n)
@Deprecated
void dVectorScale (DVector3C a, final DVector3 d, int n) {
throw new UnsupportedOperationException();
}
Expand Down
17 changes: 16 additions & 1 deletion core/src/main/java/org/ode4j/ode/DMatrix.java
Original file line number Diff line number Diff line change
Expand Up @@ -318,11 +318,26 @@ public static void dFactorLDLT (double[] A, double[] d, int n, int nskip) {
// public void dSolveL1T (const dReal *L, dReal *b, int n, int nskip);


/* in matlab syntax: a(1:n) = a(1:n) .* d(1:n)
*/

/**
* In matlab syntax: a(1:n) = a(1:n) .* d(1:n)
* @param a a
* @param d d
*/
// ODE_API
public static void dScaleVector (DVector3 a, DVector3C d) {
a.scale(d);
}

/**
* In matlab syntax: a(1:n) = a(1:n) .* d(1:n)
* The function is an alias for @c dScaleVector.
* It has been deprecated because of a wrong naming schema used.
* @param a a
* @param d d
*/
@Deprecated // deprecated in ODE
public static void dVectorScale (DVector3 a, DVector3C d) {
a.scale(d);
}
Expand Down
4 changes: 3 additions & 1 deletion core/src/main/java/org/ode4j/ode/DWorld.java
Original file line number Diff line number Diff line change
Expand Up @@ -185,7 +185,9 @@ public interface DWorld {
*/
double getCFM() ;

public static int dWORLDSTEP_THREADCOUNT_UNLIMITED = 0;
// TZ: This should be in threading.h
static int dTHREADING_THREAD_COUNT_UNLIMITED = 0;
public static int dWORLDSTEP_THREADCOUNT_UNLIMITED = dTHREADING_THREAD_COUNT_UNLIMITED;

/**
* Set maximum threads to be used for island stepping
Expand Down
Loading