import javax.vecmath.Quat4d;
import javax.vecmath.Vector3d;
+import org.simantics.db.Resource;
import org.simantics.g3d.csg.editor.CSGNodeMap;
import org.simantics.g3d.csg.ontology.CSG;
import org.simantics.g3d.math.MathTools;
@GraphType(CSG.URIs.Model)
-public class CSGrootNode extends ParentNode<ICSGnode> implements IG3DNode, NodeMapProvider<vtkProp, ICSGnode> {
+public class CSGrootNode extends ParentNode<ICSGnode> implements IG3DNode, NodeMapProvider<Resource,vtkProp, ICSGnode> {
private CSGNodeMap nodeMap;
}
@Override
- public NodeMap<vtkProp, ICSGnode> getNodeMap() {
+ public NodeMap<Resource,vtkProp, ICSGnode> getNodeMap() {
return nodeMap;
}
@Override
- public Object getAdapter(Class adapter) {
- if (NodeMap.class == adapter)
- return nodeMap;
+ public <C> C getAdapter(Class<C> adapter) {
+ if (adapter.isAssignableFrom(NodeMap.class))
+ return adapter.cast(nodeMap);
return null;
}