-/*******************************************************************************\r
- * Copyright (c) 2012, 2013 Association for Decentralized Information Management in\r
- * Industry THTH ry.\r
- * All rights reserved. This program and the accompanying materials\r
- * are made available under the terms of the Eclipse Public License v1.0\r
- * which accompanies this distribution, and is available at\r
- * http://www.eclipse.org/legal/epl-v10.html\r
- *\r
- * Contributors:\r
- * VTT Technical Research Centre of Finland - initial API and implementation\r
- *******************************************************************************/\r
-package org.simantics.g3d.scenegraph.base;\r
-\r
-import java.util.List;\r
-\r
-\r
-\r
-\r
-\r
-public interface INode {\r
- \r
- /**\r
- * \r
- * @return unique node identifier\r
- */\r
- public Long getId();\r
-\r
- /**\r
- * @return root node of the scene graph or <code>null</code> if this node is\r
- * not part of a properly rooted scene graph hierarchy\r
- */\r
- public ParentNode<?> getRootNode();\r
-\r
- /**\r
- * @return Parent node reference or <code>null</code> if not set\r
- */\r
- public ParentNode<?> getParent();\r
- \r
- public String getParentRel();\r
- /**\r
- * Set parent node. This method is for scene graph internal use only and\r
- * should not be called outside the scene graph structure. This method\r
- * simply sets the parent node parent field, and does not affect on parent\r
- * node (i.e., should be called only from parent node).\r
- */\r
- public void setParent(ParentNode<?> parent, String name);\r
-\r
- /**\r
- * Perform cleanup for this node and for the child nodes. Any resources\r
- * (including child nodes) related to this node are unusable after this\r
- * operation. This method is for scene graph internal use only, thus should\r
- * not be called outside the scene graph structure.\r
- */\r
- public void cleanup();\r
- /**\r
- * Remove this node and its children from the scene graph.\r
- */\r
- public void remove();\r
-\r
- \r
- public void addListener(NodeListener listener);\r
- public void removeListener(NodeListener listener);\r
- \r
- public List<NodeListener> getListeners();\r
-\r
-}\r
+/*******************************************************************************
+ * Copyright (c) 2012, 2013 Association for Decentralized Information Management in
+ * Industry THTH ry.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * VTT Technical Research Centre of Finland - initial API and implementation
+ *******************************************************************************/
+package org.simantics.g3d.scenegraph.base;
+
+import org.eclipse.core.runtime.ListenerList;
+
+
+
+
+
+public interface INode {
+
+ /**
+ *
+ * @return unique node identifier
+ */
+ // public Long getId();
+
+ /**
+ * @return root node of the scene graph or <code>null</code> if this node is
+ * not part of a properly rooted scene graph hierarchy
+ */
+ public ParentNode<?> getRootNode();
+
+ /**
+ * @return Parent node reference or <code>null</code> if not set
+ */
+ public ParentNode<?> getParent();
+
+ public String getParentRel();
+ /**
+ * Set parent node. This method is for scene graph internal use only and
+ * should not be called outside the scene graph structure. This method
+ * simply sets the parent node parent field, and does not affect on parent
+ * node (i.e., should be called only from parent node).
+ */
+ public void setParent(ParentNode<?> parent, String name);
+
+ /**
+ * Perform cleanup for this node and for the child nodes. Any resources
+ * (including child nodes) related to this node are unusable after this
+ * operation. This method is for scene graph internal use only, thus should
+ * not be called outside the scene graph structure.
+ */
+ public void cleanup();
+ /**
+ * Remove this node and its children from the scene graph.
+ */
+ public void remove();
+
+ public void deattach();
+
+
+ public void addListener(NodeListener listener);
+ public void removeListener(NodeListener listener);
+
+ public ListenerList<NodeListener> getListeners();
+
+}