]> gerrit.simantics Code Review - simantics/3d.git/blobdiff - org.simantics.proconf.g3d/src/org/simantics/proconf/g3d/base/ScenegraphAdapterImpl.java
3D augmentation should work correctly (still contains some experimental constants...
[simantics/3d.git] / org.simantics.proconf.g3d / src / org / simantics / proconf / g3d / base / ScenegraphAdapterImpl.java
index 43a53a27517b2919e9c859f500fc8480c3b7cff4..d90b9dd0a3226b5db08eef62cc4f112ef89a9122 100644 (file)
@@ -17,7 +17,6 @@ import java.util.HashSet;
 import java.util.List;\r
 import java.util.Queue;\r
 import java.util.Set;\r
-import java.util.Stack;\r
 import java.util.concurrent.ConcurrentLinkedQueue;\r
 \r
 import org.simantics.db.AbstractQuery;\r
@@ -38,7 +37,7 @@ import org.simantics.proconf.g3d.scenegraph.IGeometryNode;
 import org.simantics.proconf.g3d.scenegraph.IGraphicsNode;\r
 import org.simantics.proconf.g3d.scenegraph.RootGraphicsNode;\r
 import org.simantics.proconf.g3d.stubs.G3DNode;\r
-import org.simantics.utils.ErrorLogger;\r
+import org.simantics.utils.ui.ErrorLogger;\r
 import org.simantics.utils.datastructures.BijectionMap;\r
 \r
 import com.jme.scene.Node;\r
@@ -262,7 +261,7 @@ public abstract class ScenegraphAdapterImpl implements ScenegraphAdapter {
      * @param root\r
      * @return\r
      */\r
-    protected abstract NodeTransformationQuery newTransformationListener(G3DNode root);\r
+    protected abstract NodeTransformationQuery newTransformationListener(G3DNode node);\r
     \r
     /**\r
      * Returns propertyQuery for the root node.\r
@@ -318,7 +317,7 @@ public abstract class ScenegraphAdapterImpl implements ScenegraphAdapter {
      */\r
     protected IGraphicsNode addNode(IEntity parent, IEntity r) {\r
         if (!r.isInstanceOf(Resources.g3dResource.G3DNode)) {\r
-            ErrorLogger.defaultLogError("Trying to add node into scenegraph that is not instance of graphicsnode " + r,new Exception("ASSERT!"));\r
+            ErrorLogger.defaultLogError("Trying to add node into scenegraph that is not instance of G3DNode " + r,new Exception("ASSERT!"));\r
             return null;\r
         }\r
         if (parent.equals(r)) {\r
@@ -473,14 +472,11 @@ public abstract class ScenegraphAdapterImpl implements ScenegraphAdapter {
     public abstract class NodeQuery extends AbstractQuery<Object>{\r
         protected Resource nodeResource;\r
         private boolean disposed = false;\r
-        private IQueryListener listener;\r
-        //private OverridingTransactionRunner runner;\r
         \r
+        private IQueryListener listener = null;\r
        \r
        public NodeQuery(Resource r) {\r
                this.nodeResource = r;\r
-               //runner = new OverridingTransactionRunner(session,true);\r
-               \r
        }\r
        \r
        protected abstract Object compute2(Graph graph);\r
@@ -508,7 +504,6 @@ public abstract class ScenegraphAdapterImpl implements ScenegraphAdapter {
                if (disposed)\r
                        throw new RuntimeException("Updating disposed query"); //return;\r
                transactionRunner.run(new GraphRequestAdapter() {\r
-               //session.asyncWrite(new GraphRequestAdapter() {\r
                        @Override\r
                        public GraphRequestStatus perform(Graph g) throws Exception {\r
                                if (!disposed) {\r
@@ -543,14 +538,12 @@ public abstract class ScenegraphAdapterImpl implements ScenegraphAdapter {
                if (DEBUG) System.out.println("NodeQuery " +  nodeResource +  " disposed()" + " " + this.getClass());\r
        }\r
        \r
-       //public abstract NodeQuery instantiateQuery(Resource node);\r
-       //public abstract void attach();\r
-       \r
         @Override\r
         public boolean isDisposed() {\r
             return disposed;\r
         }\r
         \r
+        // without separate listener, this query would work only once\r
         @Override\r
         public IQueryListener getListener() {\r
                if (listener == null) {\r
@@ -568,7 +561,6 @@ public abstract class ScenegraphAdapterImpl implements ScenegraphAdapter {
                }\r
                return listener;\r
         }\r
-       \r
     }\r
     \r
     /**\r