X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;f=bundles%2Forg.simantics.modeling%2Fsrc%2Forg%2Fsimantics%2Fmodeling%2FSCLScenegraph.java;h=09999bdd2faccee53b2b4969016756a343ccfa8c;hb=4f38bc070c3e1e40d02bd8da64cc93a798c9aace;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..09999bdd2 100644
--- a/bundles/org.simantics.modeling/src/org/simantics/modeling/SCLScenegraph.java
+++ b/bundles/org.simantics.modeling/src/org/simantics/modeling/SCLScenegraph.java
@@ -36,6 +36,7 @@ import org.simantics.db.Resource;
import org.simantics.db.common.request.UnaryRead;
import org.simantics.db.exception.DatabaseException;
import org.simantics.db.exception.RuntimeDatabaseException;
+import org.simantics.diagram.elements.DecorationSVGNode;
import org.simantics.diagram.elements.DiagramNodeUtil;
import org.simantics.diagram.elements.TextGridNode;
import org.simantics.diagram.elements.TextNode;
@@ -61,7 +62,6 @@ import org.simantics.scenegraph.g2d.nodes.BackgroundNode;
import org.simantics.scenegraph.g2d.nodes.BoundsNode;
import org.simantics.scenegraph.g2d.nodes.ConnectionNode;
import org.simantics.scenegraph.g2d.nodes.DataNode;
-import org.simantics.scenegraph.g2d.nodes.DecorationSVGNode;
import org.simantics.scenegraph.g2d.nodes.NavigationNode;
import org.simantics.scenegraph.g2d.nodes.SVGNode;
import org.simantics.scenegraph.g2d.nodes.SelectionNode;
@@ -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) {