]> gerrit.simantics Code Review - simantics/3d.git/blob - org.simantics.g3d/src/org/simantics/g3d/scenegraph/NodeMap.java
3D framework (Simca 2012)
[simantics/3d.git] / org.simantics.g3d / src / org / simantics / g3d / scenegraph / NodeMap.java
1 package org.simantics.g3d.scenegraph;\r
2 \r
3 import java.util.Collection;\r
4 \r
5 import org.simantics.g3d.scenegraph.base.INode;\r
6 import org.simantics.g3d.scenegraph.base.NodeListener;\r
7 import org.simantics.g3d.scenegraph.base.ParentNode;\r
8 \r
9 public interface NodeMap<T> {\r
10 \r
11         public Collection<T> getRenderObjects(INode node);\r
12         \r
13         public void updateRenderObjectsFor(INode node);\r
14         \r
15         public INode getNode(T t);\r
16         \r
17         public ParentNode<IG3DNode> getRootNode();\r
18         \r
19         /**\r
20          * Commit changes to the database.\r
21          */\r
22         public void commit();\r
23         \r
24         \r
25         /**\r
26          * Deletes (Disposes) the map. \r
27          */\r
28         public void delete();\r
29         \r
30         \r
31         /**\r
32          * Track changes that are going to be committed into the database.\r
33          * \r
34          * Disabling change tracking causes commit() to do nothing. \r
35          * @param enabled\r
36          */\r
37         public void setChangeTracking(boolean enabled);\r
38         public boolean  isChangeTracking();\r
39         \r
40         \r
41         /**\r
42          * Add listener for all scene-graph events.\r
43          * @param listener\r
44          */\r
45         public void addListener(NodeListener listener);\r
46         \r
47         public void removeListener(NodeListener listener);\r
48 }\r