Commit Graph

154 Commits

Author SHA1 Message Date
Martin Pernollet 830b6d5334 rename awt.FrameSwing to swing.FrameSwing 2014-09-04 15:20:05 +02:00
Martin Pernollet 1847373294 format *AWT* components name 2014-08-10 00:40:38 +02:00
Martin Pernollet 7b4d390249 -cm 2014-07-30 22:59:20 +02:00
Martin Pernollet afc2089dec few improvements 2014-06-01 22:49:45 +01:00
Martin Pernollet c3c2832b2f merged nils work 2014-05-03 10:08:50 +01:00
Martin Pernollet a651727987 Merge branch 'master' of github.com:jzy3d/jzy3d-api 2014-05-02 17:56:16 +01:00
Martin Pernollet 278398fc0c minor doc edit 2014-05-02 17:53:54 +01:00
jzy3d 841b80d406 Merge pull request #40 from nilshoffmann/master
Update to JOGL 2.1.5-01
2014-05-02 17:50:56 +01:00
Nils Hoffmann 05b84a9613 Updated JOGL and gluegen to 2.1.5-01. Fixed errors due to API changes in JOGL. Fixed a bug in View when using NEWT or Offscreen canvases. 2014-03-19 20:36:21 +01:00
Nils Hoffmann b147b896cf Merge remote-tracking branch 'origin/master' 2014-03-19 20:36:02 +01:00
Nils Hoffmann 69e081dbf3 Updated jogl and gluegen deps to 2.1.2. Fixed errors due to API changes in jogl. GLES2CompatUtils requires further attention regarding ShaderState. 2014-03-19 19:30:42 +01:00
Nils Hoffmann 499249f465 Manually merged conflicts. 2014-03-19 13:12:02 +01:00
jzy3d a6b675b197 Merge pull request #39 from ennerf/master
fixed some incompatibilities with Meshlab obj file format
2014-02-16 21:19:01 +00:00
Florian Enner bc71974ae6 fixed variable length whitespace for faces
Support for variable length whitespace might have to be added to v and
vn as well, but so far I've not seen any files that were not single
spaced.
2014-01-05 12:04:16 -05:00
Florian Enner 4e789159ce fixed parsing of obj files with empty lines 2014-01-05 11:08:41 -05:00
Florian Enner 9b16c69efc matched axis angle convention (deg) 2014-01-05 10:46:46 -05:00
lweber fea710c386 Fix for issue #30
Updated approach to calculateAngle() in Angle2d.java and Angle3d.java
2014-01-05 10:35:31 -05:00
jzy3d 0b2bf5d394 Merge pull request #35 from lweber/master
Fix for issue #30
2014-01-03 02:02:26 -08:00
jzy3d 0167c29840 Merge pull request #37 from ennerf/master
added functionality for rotating a vector about a given axis angle
2014-01-03 01:32:47 -08:00
Florian Enner df5578b77d added test for AxisAngle rotation 2014-01-01 18:03:05 -05:00
Florian Enner b7d0b88d0b implemented rotation in plot3d transform
1) Added cross product to coord3d
2) Added AxisAngle rotation using the rodrigues' formula
2014-01-01 18:02:51 -05:00
lweber 771f634742 Fix for issue #30
Updated approach to calculateAngle() in Angle2d.java and Angle3d.java
2013-12-16 16:37:25 -07:00
Martin Pernollet 776073fc99 added javadoc settings to maven 2013-10-13 15:53:58 +02:00
Martin Pernollet 3acebbaa79 master moves to version 0.9.2 2013-10-13 14:49:00 +02:00
Martin Pernollet 1847438182 master moves to version 0.9.2-SNAPSHOT 2013-10-13 14:30:31 +02:00
Martin Pernollet c9b5aeba7e refactor parametrized mapper, complete main pom file 2013-10-13 12:29:52 +02:00
jzy3d 948fc1483a Merge pull request #31 from ichrome/master
Some cleanups & small fixes
2013-09-18 14:16:12 -07:00
Matteo Miraz 8cdc378249 Enhancement: creating a bridge in the given composite (without creating an inner embedded composite) 2013-09-17 17:34:36 +02:00
Matteo Miraz 7b4e58b1bc BugFix: Initialization does not reset manual bounds (if already set) 2013-09-17 12:15:18 +02:00
Matteo Miraz 9415309fde Adding equals and hashCode methods to BoundingBox3d 2013-09-17 12:14:09 +02:00
Matteo Miraz 49cd1ce9d3 Better equals and hashcode in Coord3d
Since the class is mutable and exposes its fields publicly, we cannot cache the hashCode!
2013-09-17 12:10:27 +02:00
Matteo Miraz abb1109101 Removing .DS_Stores 2013-09-17 10:57:25 +02:00
Martin Pernollet 82addb86e0 fixed maven modules 2013-09-15 23:36:19 +02:00
Martin Pernollet dc09c8e890 missing jdt non reg test data file 2013-09-15 12:57:14 +02:00
Martin Pernollet 93e52bb083 upd readme 2013-09-15 12:34:10 +02:00
Martin Pernollet 9466b0c0b0 upd readme 2013-09-15 12:08:22 +02:00
Martin Pernollet f319241e0c upd readme 2013-09-15 12:02:23 +02:00
Martin Pernollet bcdded2b59 upd readme 2013-09-15 11:51:44 +02:00
Martin Pernollet a50d9bd1be upd readme 2013-09-15 11:51:00 +02:00
Martin Pernollet e3b88fbac1 upd readme 2013-09-15 11:49:36 +02:00
Martin Pernollet d6439d704b upd readme 2013-09-15 08:50:19 +02:00
Martin Pernollet 0d09e2eb5e upd readme links 2013-09-15 08:47:08 +02:00
Martin Pernollet 5fcadf2310 moved api, tutorials, jdt and swt modules into on single module 2013-09-15 08:40:29 +02:00
Martin Pernollet 39195ab77c added trials 2013-08-28 00:22:03 +02:00
Martin Pernollet 064f19d2c5 ... 2013-08-26 17:17:43 +02:00
Martin Pernollet 1d82a216c7 cleanup dependencies 2013-08-18 17:45:30 +02:00
Martin Pernollet 7c5ea09880 pom-maths.xml can deploy a small jar containing maths & io packages 2013-08-18 17:38:56 +02:00
Martin Pernollet 25bdc9bf18 rename non test code for maven, slight coord2d improvements 2013-08-18 17:37:34 +02:00
jzy3d f823819b32 Merge pull request #29 from laurentpsychedelic/TimSort_Exception_Bug
The comparison method used in PointOrderStrategy#compare(Coord3d, Coord3...
2013-08-11 12:45:26 -07:00
Laurent FABRE 36470b61e9 The comparison method used in PointOrderStrategy#compare(Coord3d, Coord3d)
violates the comparison contract used by the new collection sorting algorithm
of JDK/JRE7 (TimSort).

Writing:
        if (d1<d2)
            return 1;
        else
            return -1;
violates the reflexivity condition required by the new algorithm,
because it implies that A > B AND B > A are true at the same time for a
certain set of inputs A and B (in fact for all A and B such as A = B).
The condition A > B if, and only if B < A is not satisfied.
The reason is that two equal objects are not recognized as being equal
by the previous implementation of PointOrderingStrategy#compare.

Up to JDK/JRE6, the default algorithm used for sorting collection (MergeSort)
does not care about the reflexivity condition and sort the collection given
as input without throwing an error, however the new TimSort algorithm throws
an exception when it finds that the Comparator<T> provided to sort the collection
violates the reflexivity condition.

    java.lang.IllegalArgumentException: Comparison method violates its general contract!

    java.util.TimSort.mergeHi(TimSort.java:868)
    java.util.TimSort.mergeAt(TimSort.java:485)
    java.util.TimSort.mergeForceCollapse(TimSort.java:426)
    java.util.TimSort.sort(TimSort.java:223)
    java.util.TimSort.sort(TimSort.java:173)
    java.util.Arrays.sort(Arrays.java:659)
    java.util.Collections.sort(Collections.java:217)
    org.jzy3d.plot3d.rendering.ordering.AbstractOrderingStrategy.sort(AbstractOrderingStrategy.java:25)
    org.jzy3d.plot3d.rendering.scene.Graph.draw(Graph.java:182)
    org.jzy3d.plot3d.rendering.scene.Graph.draw(Graph.java:160)

It is possible to make JDK/JRE7 use the old algorithm by specifying the
following JVM option when starting the program:
    -Djava.util.Arrays.useLegacyMergeSort=true

However it looks safer and more portable to adapt the comparator so it does
not violate the contract, like in the follwing:
            if (d1<d2)
                return 1;
            else if (d2>d1)
                return -1;
            else
                return 0;

The behavior should be the same, without throwing exceptions when run
on JDK/JRE7.

I added a test org.jzy3d.tests.TestPointOrderingStrategy#testPointOrdering
that fails with previous sorting implementation on JDK/JRE7 without the
-Djava.util.Arrays.useLegacyMergeSort=true options. The test is successfull
with the new implementation of PointOrderStrategy#compare(Coord3d, Coord3d)
on both JDK/JRE6 and 7.
2013-08-11 19:15:55 +09:00