X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;f=bundles%2Forg.simantics.modeling%2Fsrc%2Forg%2Fsimantics%2Fmodeling%2FSCLScenegraph.java;h=dd09f9ebf6ced3a93018fe3ecafb8f141dbdd067;hb=9c4f7c59dc673c6af8d3ac1d92566ff132d43826;hp=5f375095fb239db428f53a07040bc58e7b10b21d;hpb=39684a05baa1b599b8cc306cdd8a07ea6eb3cfdb;p=simantics%2Fplatform.git diff --git a/bundles/org.simantics.modeling/src/org/simantics/modeling/SCLScenegraph.java b/bundles/org.simantics.modeling/src/org/simantics/modeling/SCLScenegraph.java index 5f375095f..dd09f9ebf 100644 --- a/bundles/org.simantics.modeling/src/org/simantics/modeling/SCLScenegraph.java +++ b/bundles/org.simantics.modeling/src/org/simantics/modeling/SCLScenegraph.java @@ -632,15 +632,20 @@ public class SCLScenegraph { double trX = -1 * content.getX(); double trY = -1 * content.getY(); - result.append(MAIN_SECTION, ""); - - result.append(SELECTION_SECTION, ""); + // NaNs + if(!Double.isFinite(trX)) trX = 0; + if(!Double.isFinite(trY)) trY = 0; + result.append(MAIN_SECTION, ""); + result.append(SELECTION_SECTION, ""); result.append(SELECTION_MASK_SECTION, ""); + + result.append(ALL_SECTIONS, ""); + KeyVisitor keyVisitor = new KeyVisitor(); sg.accept(keyVisitor); @@ -658,9 +663,7 @@ public class SCLScenegraph { } - result.append(SELECTION_SECTION, ""); - result.append(SELECTION_MASK_SECTION, ""); - result.append(MAIN_SECTION, ""); + result.append(ALL_SECTIONS, ""); StringBuilder res = new StringBuilder(); res.append(""); @@ -785,10 +788,13 @@ public class SCLScenegraph { parentBuilder2.append(SELECTION_SECTION, "\n"); parentBuilder2.append(SELECTION_MASK_SECTION, "\n"); Rectangle2D rect = n.getRect(); - parentBuilder2.append(SELECTION_MASK_SECTION,""); + // NaN + if(rect.getHeight() == rect.getHeight() && rect.getWidth() == rect.getWidth()) { + parentBuilder2.append(SELECTION_MASK_SECTION,""); + } parentBuilder2.append(SELECTION_MASK_SECTION,"\n"); } } else if (node instanceof SVGNode) {