X-Git-Url: https://gerrit.simantics.org/r/gitweb?p=simantics%2Fplatform.git;a=blobdiff_plain;f=bundles%2Forg.simantics.scenegraph%2Fsrc%2Forg%2Fsimantics%2Fscenegraph%2Fg2d%2Fnodes%2Fspatial%2FRTreeNode.java;h=04bad53c01ae93167509add0004949a2ae1e44c5;hp=52403edd02ea251522270f43ec9904614cda8c0b;hb=ceff53434e48f94c5d84ce12f3b1e21cabda457b;hpb=1a88878256eeb41efd2c0e3f82b69b4ef2565d61 diff --git a/bundles/org.simantics.scenegraph/src/org/simantics/scenegraph/g2d/nodes/spatial/RTreeNode.java b/bundles/org.simantics.scenegraph/src/org/simantics/scenegraph/g2d/nodes/spatial/RTreeNode.java index 52403edd0..04bad53c0 100644 --- a/bundles/org.simantics.scenegraph/src/org/simantics/scenegraph/g2d/nodes/spatial/RTreeNode.java +++ b/bundles/org.simantics.scenegraph/src/org/simantics/scenegraph/g2d/nodes/spatial/RTreeNode.java @@ -20,10 +20,13 @@ import java.util.ArrayList; import java.util.Collections; import java.util.HashSet; import java.util.List; +import java.util.Map; import java.util.Properties; import java.util.Set; +import org.simantics.scenegraph.INode; import org.simantics.scenegraph.g2d.G2DParentNode; +import org.simantics.scenegraph.g2d.G2DRenderingHints; import org.simantics.scenegraph.g2d.IG2DNode; import org.simantics.scenegraph.g2d.events.Event; import org.simantics.scenegraph.g2d.events.EventTypes; @@ -114,6 +117,11 @@ public class RTreeNode extends G2DParentNode implements INodeEventHandlerProvide private transient ArrayList collected = new ArrayList(); private transient Set simplified = new HashSet(); + @Override + protected Map createChildMap() { + return super.createChildMap(1 << 15); + } + @Override public void render(Graphics2D g) { if (DISABLE_RTREE) { @@ -127,6 +135,8 @@ public class RTreeNode extends G2DParentNode implements INodeEventHandlerProvide g.transform(transform); } + g.setRenderingHint(G2DRenderingHints.KEY_TRANSFORM_UNDER_SPATIAL_ROOT, g.getTransform()); + try { // Get transformed clip bounds Shape clipShape = g.getClip(); @@ -235,6 +245,7 @@ public class RTreeNode extends G2DParentNode implements INodeEventHandlerProvide // drawTree(g, tree.rtree); } finally { + g.setRenderingHint(G2DRenderingHints.KEY_TRANSFORM_UNDER_SPATIAL_ROOT, null); if (ot != null) g.setTransform(ot); }