-
- Collection<vtkProp> selectedActors = AdaptationUtils.adaptToCollection(s, vtkProp.class);
- if (selectedActors.size() > 0) {
- for (vtkProp a : selectedActors) {
- IG3DNode node = (IG3DNode)nodeMap.getNode((vtkProp)a);
- if (node == null)
- continue;
- if (!selectedNodes.contains(node))
- selectedNodes.add(node);
- DBObject r = mapping.inverseGet((JavaObject)node);
- selectedItems.add(new VTKSelectionItem<DBObject>(a, node,r));
- }
- } else {
- Collection<IG3DNode> selectedNds = AdaptationUtils.adaptToCollection(s, IG3DNode.class);
- for (INode node : selectedNds) {
- if (!selectedNodes.contains(node))
- selectedNodes.add((IG3DNode)node);
- DBObject r = mapping.inverseGet((JavaObject)node);
- selectedItems.add(new VTKSelectionItem<DBObject>(null, (IG3DNode)node,r));
- }
- }
-
-
- selection = new StructuredSelection(selectedItems);
+ _processSelection(s);
+ }
+
+ protected void _processSelection(ISelection s) {
+ Collection<vtkProp> selectedActors = AdaptationUtils.adaptToCollection(s, vtkProp.class);
+ if (selectedActors.size() > 0) {
+ for (vtkProp a : selectedActors) {
+ INode node = nodeMap.getNode(a);
+ if (node == null)
+ continue;
+ if (!selectedNodes.contains(node))
+ selectedNodes.add(node);
+ @SuppressWarnings("unchecked")
+ DBObject r = mapping.inverseGet((JavaObject)node);
+ selectedItems.add(new VTKSelectionItem<DBObject>(a, node,r));
+ }
+ } else {
+ Collection<IG3DNode> selectedNds = AdaptationUtils.adaptToCollection(s, IG3DNode.class);
+ for (INode node : selectedNds) {
+ if (!selectedNodes.contains(node))
+ selectedNodes.add((IG3DNode)node);
+ @SuppressWarnings("unchecked")
+ DBObject r = mapping.inverseGet((JavaObject)node);
+ selectedItems.add(new VTKSelectionItem<DBObject>(null, (IG3DNode)node,r));
+ }
+ }
+
+
+ selection = new StructuredSelection(selectedItems);