+package org.simantics.g3d.vtk.common;\r
+\r
+import org.eclipse.core.runtime.IAdaptable;\r
+import org.simantics.db.Resource;\r
+import org.simantics.g3d.scenegraph.IG3DNode;\r
+import org.simantics.g3d.scenegraph.base.INode;\r
+import org.simantics.objmap.structural.StructuralResource;\r
+\r
+import vtk.vtkProp;\r
+\r
+public class VTKSelectionItem<DBObject> implements IAdaptable{\r
+\r
+ private vtkProp prop;\r
+ private IG3DNode node;\r
+ private DBObject resource;\r
+\r
+ //private VTKpropSet actors;\r
+ \r
+ \r
+ public VTKSelectionItem(vtkProp prop, IG3DNode node, DBObject res) {\r
+ this.prop = prop;\r
+ this.node = node;\r
+ this.resource = res;\r
+ }\r
+ \r
+// public VTKSelectionItem(Resource res, Collection<vtkProp> actors) {\r
+// this.resource = res;\r
+// this.actors = new VTKpropSet();\r
+// this.actors.addAll(actors);\r
+// }\r
+// \r
+// public VTKSelectionItem(Resource res, vtkProp... actors) {\r
+// this.resource = res;\r
+// this.actors = new VTKpropSet();\r
+// for (vtkProp a : actors)\r
+// this.actors.add(a);\r
+// }\r
+\r
+ @SuppressWarnings("rawtypes")\r
+ @Override\r
+ public Object getAdapter(Class adapter) {\r
+ if (adapter == Resource.class)\r
+ if (resource instanceof Resource)\r
+ return resource;\r
+ else\r
+ return null;\r
+ if (adapter == StructuralResource.class)\r
+ if (resource instanceof StructuralResource)\r
+ return resource;\r
+ else\r
+ return null;\r
+ if (adapter == vtkProp.class)\r
+ return prop;\r
+ if (adapter == IG3DNode.class)\r
+ return node;\r
+ if (adapter == INode.class)\r
+ return node;\r
+ return null;\r
+ }\r
+ \r
+// @SuppressWarnings("rawtypes")\r
+// @Override\r
+// public Object getAdapter(Class adapter) {\r
+// if (adapter == Resource.class)\r
+// return resource;\r
+// if (adapter == VTKpropSet.class)\r
+// return actors;\r
+// return null;\r
+// }\r
+ \r
+// public Resource getResource() {\r
+// return resource;\r
+// }\r
+// \r
+// public VTKpropSet getActors() {\r
+// return actors;\r
+// }\r
+ \r
+ @SuppressWarnings("rawtypes")\r
+ @Override\r
+ public boolean equals(Object obj) {\r
+ if (obj == null)\r
+ return false;\r
+ if (obj.getClass() != this.getClass())\r
+ return false;\r
+ VTKSelectionItem other = (VTKSelectionItem)obj;\r
+ if (prop != null)\r
+ return prop.equals(other.prop);\r
+ if (node != null)\r
+ return node.equals(other.node);\r
+ return resource.equals(other.resource);\r
+ //return resource.equals(other.resource);\r
+ \r
+ }\r
+}\r