X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;f=org.simantics.g3d.vtk%2Fsrc%2Forg%2Fsimantics%2Fg3d%2Fvtk%2Fcommon%2FVTKSelectionItem.java;h=deb812722b238065fc512e0525a9e9d1d0f67190;hb=refs%2Fchanges%2F50%2F3950%2F1;hp=f332322f27287d68b855669ffd46cc94796c2fe5;hpb=db7a5dfe7c90c6752e871f84de0f70a182dd527a;p=simantics%2F3d.git diff --git a/org.simantics.g3d.vtk/src/org/simantics/g3d/vtk/common/VTKSelectionItem.java b/org.simantics.g3d.vtk/src/org/simantics/g3d/vtk/common/VTKSelectionItem.java index f332322f..deb81272 100644 --- a/org.simantics.g3d.vtk/src/org/simantics/g3d/vtk/common/VTKSelectionItem.java +++ b/org.simantics.g3d.vtk/src/org/simantics/g3d/vtk/common/VTKSelectionItem.java @@ -31,25 +31,24 @@ public class VTKSelectionItem implements IAdaptable{ this.resource = res; } - @SuppressWarnings("rawtypes") @Override - public Object getAdapter(Class adapter) { - if (adapter == Resource.class) + public T getAdapter(Class adapter) { + if (adapter.isAssignableFrom(Resource.class)) if (resource instanceof Resource) - return resource; + return adapter.cast(resource); else return null; - if (adapter == StructuralResource.class) + if (adapter.isAssignableFrom(StructuralResource.class)) if (resource instanceof StructuralResource) - return resource; + return adapter.cast(resource); else return null; - if (adapter == vtkProp.class) - return prop; - if (adapter == IG3DNode.class && node instanceof IG3DNode) - return node; - if (adapter == INode.class) - return node; + if (adapter.isAssignableFrom(vtkProp.class)) + return adapter.cast(prop); + if (adapter.isAssignableFrom(IG3DNode.class) && node instanceof IG3DNode) + return adapter.cast(node); + if (adapter.isAssignableFrom(INode.class)) + return adapter.cast(node); return null; }