diff options
Diffstat (limited to 'src/graphui/classes/com/jogamp/graph')
-rw-r--r-- | src/graphui/classes/com/jogamp/graph/ui/Shape.java | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/src/graphui/classes/com/jogamp/graph/ui/Shape.java b/src/graphui/classes/com/jogamp/graph/ui/Shape.java index b3fc72467..b1e4081db 100644 --- a/src/graphui/classes/com/jogamp/graph/ui/Shape.java +++ b/src/graphui/classes/com/jogamp/graph/ui/Shape.java @@ -448,6 +448,13 @@ public abstract class Shape { return box.getHeight() * getScale().y(); } + public final float getScaledDepth() { + return box.getDepth() * getScale().z(); + } + private final float getScaledMinZ() { + return box.getMinZ() * getScale().z(); + } + /** * Returns the unscaled bounding {@link AABBox} for this shape. * @@ -1514,9 +1521,9 @@ public abstract class Shape { public static Comparator<Shape> ZAscendingComparator = new Comparator<Shape>() { @Override public int compare(final Shape s1, final Shape s2) { - final float s1Z = s1.getBounds().getMinZ()+s1.getPosition().z(); - final float s2Z = s2.getBounds().getMinZ()+s2.getPosition().z(); - if( FloatUtil.isEqual(s1Z, s2Z, FloatUtil.EPSILON) ) { + final float s1Z = s1.getScaledMinZ()+s1.getPosition().z(); + final float s2Z = s2.getScaledMinZ()+s2.getPosition().z(); + if( FloatUtil.isEqual2(s1Z, s2Z) ) { return 0; } else if( s1Z < s2Z ){ return -1; |