X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;f=org.simantics.plant3d%2Fsrc%2Forg%2Fsimantics%2Fplant3d%2Fscenegraph%2FP3DParentNode.java;h=d7f6749e53fcb4dacbdd1dc50da03a0f47b40125;hb=refs%2Fchanges%2F08%2F3908%2F2;hp=08c289da72b4d4e6469177e0d6fe75d4bb704eee;hpb=a460e609147d064dd3da464bcf1626845e0f93b4;p=simantics%2F3d.git diff --git a/org.simantics.plant3d/src/org/simantics/plant3d/scenegraph/P3DParentNode.java b/org.simantics.plant3d/src/org/simantics/plant3d/scenegraph/P3DParentNode.java index 08c289da..d7f6749e 100644 --- a/org.simantics.plant3d/src/org/simantics/plant3d/scenegraph/P3DParentNode.java +++ b/org.simantics.plant3d/src/org/simantics/plant3d/scenegraph/P3DParentNode.java @@ -1,6 +1,7 @@ package org.simantics.plant3d.scenegraph; import java.util.HashSet; +import java.util.Objects; import java.util.Set; import javax.vecmath.Quat4d; @@ -35,7 +36,7 @@ public abstract class P3DParentNode extends ParentNode im @RelatedSetValue(Layer0.URIs.HasName) @SetPropertyValue(Layer0.URIs.HasName) public void setName(String name) { - if (name == null) + if (name == null || name.equals(this.name)) return; this.name = name; firePropertyChanged(Layer0.URIs.HasName); @@ -80,6 +81,9 @@ public abstract class P3DParentNode extends ParentNode im @SetPropertyValue(G3D.URIs.hasOrientation) public void setOrientation(Quat4d orientation) { assert(orientation != null); + if (Objects.equals(this.orientation, orientation)) + return; + this.orientation = orientation; firePropertyChanged(G3D.URIs.hasOrientation); @@ -89,6 +93,9 @@ public abstract class P3DParentNode extends ParentNode im @SetPropertyValue(G3D.URIs.hasPosition) public void setPosition(Vector3d position) { assert(position != null); + if (Objects.equals(this.position, position)) + return; + this.position = position; firePropertyChanged(G3D.URIs.hasPosition); @@ -167,9 +174,9 @@ public abstract class P3DParentNode extends ParentNode im } @Override - public Object getAdapter(Class adapter) { - if (IG3DNode.class == adapter) - return this; + public C getAdapter(Class adapter) { + if (adapter.isInstance(this)) + return adapter.cast(this); return null; } @@ -190,5 +197,5 @@ public abstract class P3DParentNode extends ParentNode im } } - + }