DataPtr DataManagerImpl::loadData(const QString& uid, const QString& path) { if (mData.count(uid)) // dont load same image twice return mData[uid]; QString type = DataReaderWriter().findDataTypeFromFile(path); if(!mDataFactory) reportError("DataManagerImpl::loadData() Got no DataFactory"); DataPtr data = mDataFactory->create(type, uid); if (!data) { reportError("Failed to find loaded for: [" + path + "]"); return DataPtr(); } bool loaded = data->load(path); if (!loaded) { reportError("Failed to load file: [" + path + "]"); return DataPtr(); } this->loadData(data); return data; }
bool Image::load(QString path) { ImagePtr self = ImagePtr(this, null_deleter()); DataReaderWriter().readInto(self, path); return this->getBaseVtkImageData()!=0; }