]> gerrit.simantics Code Review - simantics/3d.git/blob - org.simantics.g3d.vtk/src/org/simantics/g3d/vtk/common/VTKSelectionItem.java
3D framework (Simca 2012)
[simantics/3d.git] / org.simantics.g3d.vtk / src / org / simantics / g3d / vtk / common / VTKSelectionItem.java
1 package org.simantics.g3d.vtk.common;\r
2 \r
3 import org.eclipse.core.runtime.IAdaptable;\r
4 import org.simantics.db.Resource;\r
5 import org.simantics.g3d.scenegraph.IG3DNode;\r
6 import org.simantics.g3d.scenegraph.base.INode;\r
7 import org.simantics.objmap.structural.StructuralResource;\r
8 \r
9 import vtk.vtkProp;\r
10 \r
11 public class VTKSelectionItem<DBObject> implements IAdaptable{\r
12 \r
13         private vtkProp prop;\r
14         private IG3DNode node;\r
15         private DBObject resource;\r
16 \r
17         //private VTKpropSet actors;\r
18         \r
19         \r
20         public VTKSelectionItem(vtkProp prop, IG3DNode node, DBObject res) {\r
21                 this.prop = prop;\r
22                 this.node = node;\r
23                 this.resource = res;\r
24         }\r
25         \r
26 //      public VTKSelectionItem(Resource res, Collection<vtkProp> actors) {\r
27 //              this.resource = res;\r
28 //              this.actors = new VTKpropSet();\r
29 //              this.actors.addAll(actors);\r
30 //      }\r
31 //      \r
32 //      public VTKSelectionItem(Resource res, vtkProp... actors) {\r
33 //              this.resource = res;\r
34 //              this.actors = new VTKpropSet();\r
35 //              for (vtkProp a : actors)\r
36 //                      this.actors.add(a);\r
37 //      }\r
38 \r
39         @SuppressWarnings("rawtypes")\r
40         @Override\r
41         public Object getAdapter(Class adapter) {\r
42                 if (adapter == Resource.class)\r
43                         if (resource instanceof Resource)\r
44                                 return resource;\r
45                         else\r
46                                 return null;\r
47                 if (adapter == StructuralResource.class)\r
48                         if (resource instanceof StructuralResource)\r
49                                 return resource;\r
50                         else\r
51                                 return null;\r
52                 if (adapter == vtkProp.class)\r
53                         return prop;\r
54                 if (adapter == IG3DNode.class)\r
55                         return node;\r
56                 if (adapter == INode.class)\r
57                         return node;\r
58                 return null;\r
59         }\r
60         \r
61 //      @SuppressWarnings("rawtypes")\r
62 //      @Override\r
63 //      public Object getAdapter(Class adapter) {\r
64 //              if (adapter == Resource.class)\r
65 //                      return resource;\r
66 //              if (adapter == VTKpropSet.class)\r
67 //                      return actors;\r
68 //              return null;\r
69 //      }\r
70         \r
71 //      public Resource getResource() {\r
72 //              return resource;\r
73 //      }\r
74 //      \r
75 //      public VTKpropSet getActors() {\r
76 //              return actors;\r
77 //      }\r
78         \r
79         @SuppressWarnings("rawtypes")\r
80         @Override\r
81         public boolean equals(Object obj) {\r
82                 if (obj == null)\r
83                         return false;\r
84                 if (obj.getClass() != this.getClass())\r
85                         return false;\r
86                 VTKSelectionItem other = (VTKSelectionItem)obj;\r
87                 if (prop != null)\r
88                         return prop.equals(other.prop);\r
89                 if (node != null)\r
90                         return node.equals(other.node);\r
91                 return resource.equals(other.resource);\r
92                 //return resource.equals(other.resource);\r
93                         \r
94         }\r
95 }\r