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("");
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) {