| 16 | |
| 17 | template <typename OSPRAY_TYPE> |
| 18 | inline OSPRAY_TYPE *lookupDistributedObject(OSPObject obj) |
| 19 | { |
| 20 | auto &handle = reinterpret_cast<ObjectHandle &>(obj); |
| 21 | auto *object = (OSPRAY_TYPE *)handle.lookup(); |
| 22 | |
| 23 | if (!object) { |
| 24 | throw std::runtime_error("#dmpi: ObjectHandle doesn't exist!"); |
| 25 | } |
| 26 | return object; |
| 27 | } |
| 28 | |
| 29 | struct MPIDistributedDevice : public api::Device |
| 30 | { |