diff --git a/Core/Code/IO/mitkAbstractFileReader.cpp b/Core/Code/IO/mitkAbstractFileReader.cpp index 77f309986a..411e83bd99 100644 --- a/Core/Code/IO/mitkAbstractFileReader.cpp +++ b/Core/Code/IO/mitkAbstractFileReader.cpp @@ -1,399 +1,414 @@ /*=================================================================== The Medical Imaging Interaction Toolkit (MITK) Copyright (c) German Cancer Research Center, Division of Medical and Biological Informatics. All rights reserved. This software is distributed WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See LICENSE.txt or http://www.mitk.org for details. ===================================================================*/ #include #include #include +#include #include #include #include #include #include #include namespace mitk { AbstractFileReader::InputStream::InputStream(IFileReader* reader, std::ios_base::openmode mode) : std::istream(NULL) , m_Stream(NULL) { std::istream* stream = reader->GetInputStream(); if (stream) { this->init(stream->rdbuf()); } else { m_Stream = new std::ifstream(reader->GetInputLocation().c_str(), mode); this->init(m_Stream->rdbuf()); } } AbstractFileReader::InputStream::~InputStream() { delete m_Stream; } class AbstractFileReader::Impl : public FileReaderWriterBase { public: Impl() : FileReaderWriterBase() , m_Stream(NULL) , m_PrototypeFactory(NULL) {} Impl(const Impl& other) : FileReaderWriterBase(other) , m_Stream(NULL) , m_PrototypeFactory(NULL) {} std::string m_Location; std::string m_TmpFile; std::istream* m_Stream; us::PrototypeServiceFactory* m_PrototypeFactory; us::ServiceRegistration m_Reg; }; AbstractFileReader::AbstractFileReader() : d(new Impl) { } AbstractFileReader::~AbstractFileReader() { UnregisterService(); delete d->m_PrototypeFactory; if (!d->m_TmpFile.empty()) { std::remove(d->m_TmpFile.c_str()); } } AbstractFileReader::AbstractFileReader(const AbstractFileReader& other) : IFileReader(), d(new Impl(*other.d.get())) - { } AbstractFileReader::AbstractFileReader(const CustomMimeType& mimeType, const std::string& description) : d(new Impl) { d->SetMimeType(mimeType); d->SetDescription(description); } ////////////////////// Reading ///////////////////////// +std::vector AbstractFileReader::Read() +{ + std::vector result; + + DataStorage::Pointer ds = StandaloneDataStorage::New().GetPointer(); + this->Read(*ds); + DataStorage::SetOfObjects::ConstPointer dataNodes = ds->GetAll(); + for (DataStorage::SetOfObjects::ConstIterator iter = dataNodes->Begin(), + iterEnd = dataNodes->End(); iter != iterEnd; ++iter) + { + result.push_back(iter.Value()->GetData()); + } + return result; +} + DataStorage::SetOfObjects::Pointer AbstractFileReader::Read(DataStorage& ds) { DataStorage::SetOfObjects::Pointer result = DataStorage::SetOfObjects::New(); std::vector data = this->Read(); for (std::vector::iterator iter = data.begin(); iter != data.end(); ++iter) { mitk::DataNode::Pointer node = mitk::DataNode::New(); node->SetData(*iter); this->SetDefaultDataNodeProperties(node, this->GetInputLocation()); ds.Add(node); result->InsertElement(result->Size(), node); } return result; } IFileReader::ConfidenceLevel AbstractFileReader::GetConfidenceLevel() const { if (d->m_Stream) { if (*d->m_Stream) return Supported; } else { if (itksys::SystemTools::FileExists(this->GetInputLocation().c_str(), true)) { return Supported; } } return Unsupported; } //////////// µS Registration & Properties ////////////// us::ServiceRegistration AbstractFileReader::RegisterService(us::ModuleContext* context) { if (d->m_PrototypeFactory) return us::ServiceRegistration(); if(context == NULL) { context = us::GetModuleContext(); } d->RegisterMimeType(context); if (this->GetMimeType()->GetName().empty()) { MITK_WARN << "Not registering reader due to empty MIME type."; return us::ServiceRegistration(); } struct PrototypeFactory : public us::PrototypeServiceFactory { AbstractFileReader* const m_Prototype; PrototypeFactory(AbstractFileReader* prototype) : m_Prototype(prototype) {} us::InterfaceMap GetService(us::Module* /*module*/, const us::ServiceRegistrationBase& /*registration*/) { return us::MakeInterfaceMap(m_Prototype->Clone()); } void UngetService(us::Module* /*module*/, const us::ServiceRegistrationBase& /*registration*/, const us::InterfaceMap& service) { delete us::ExtractInterface(service); } }; d->m_PrototypeFactory = new PrototypeFactory(this); us::ServiceProperties props = this->GetServiceProperties(); d->m_Reg = context->RegisterService(d->m_PrototypeFactory, props); return d->m_Reg; } void AbstractFileReader::UnregisterService() { try { d->m_Reg.Unregister(); } catch (const std::exception&) {} } us::ServiceProperties AbstractFileReader::GetServiceProperties() const { us::ServiceProperties result; result[IFileReader::PROP_DESCRIPTION()] = this->GetDescription(); result[IFileReader::PROP_MIMETYPE()] = this->GetMimeType()->GetName(); result[us::ServiceConstants::SERVICE_RANKING()] = this->GetRanking(); return result; } us::ServiceRegistration AbstractFileReader::RegisterMimeType(us::ModuleContext* context) { return d->RegisterMimeType(context); } void AbstractFileReader::SetMimeType(const CustomMimeType& mimeType) { d->SetMimeType(mimeType); } void AbstractFileReader::SetDescription(const std::string& description) { d->SetDescription(description); } void AbstractFileReader::SetRanking(int ranking) { d->SetRanking(ranking); } int AbstractFileReader::GetRanking() const { return d->GetRanking(); } std::string AbstractFileReader::GetLocalFileName() const { std::string localFileName; if (d->m_Stream) { if (d->m_TmpFile.empty()) { // write the stream contents to temporary file std::string ext = itksys::SystemTools::GetFilenameExtension(this->GetInputLocation()); std::ofstream tmpStream; localFileName = mitk::IOUtil::CreateTemporaryFile(tmpStream, std::ios_base::out | std::ios_base::trunc | std::ios_base::binary, "XXXXXX" + ext); tmpStream << d->m_Stream->rdbuf(); d->m_TmpFile = localFileName; } else { localFileName = d->m_TmpFile; } } else { localFileName = d->m_Location; } return localFileName; } //////////////////////// Options /////////////////////// void AbstractFileReader::SetDefaultOptions(const IFileReader::Options& defaultOptions) { d->SetDefaultOptions(defaultOptions); } IFileReader::Options AbstractFileReader::GetDefaultOptions() const { return d->GetDefaultOptions(); } void AbstractFileReader::SetInput(const std::string& location) { d->m_Location = location; d->m_Stream = NULL; } void AbstractFileReader::SetInput(const std::string& location, std::istream* is) { if (d->m_Stream != is && !d->m_TmpFile.empty()) { std::remove(d->m_TmpFile.c_str()); d->m_TmpFile.clear(); } d->m_Location = location; d->m_Stream = is; } std::string AbstractFileReader::GetInputLocation() const { return d->m_Location; } std::istream*AbstractFileReader::GetInputStream() const { return d->m_Stream; } MimeType AbstractFileReader::GetRegisteredMimeType() const { return d->GetRegisteredMimeType(); } IFileReader::Options AbstractFileReader::GetOptions() const { return d->GetOptions(); } us::Any AbstractFileReader::GetOption(const std::string& name) const { return d->GetOption(name); } void AbstractFileReader::SetOptions(const Options& options) { d->SetOptions(options); } void AbstractFileReader::SetOption(const std::string& name, const us::Any& value) { d->SetOption(name, value); } ////////////////// MISC ////////////////// void AbstractFileReader::AddProgressCallback(const ProgressCallback& callback) { d->AddProgressCallback(callback); } void AbstractFileReader::RemoveProgressCallback(const ProgressCallback& callback) { d->RemoveProgressCallback(callback); } ////////////////// µS related Getters ////////////////// const CustomMimeType* AbstractFileReader::GetMimeType() const { return d->GetMimeType(); } void AbstractFileReader::SetMimeTypePrefix(const std::string& prefix) { d->SetMimeTypePrefix(prefix); } std::string AbstractFileReader::GetMimeTypePrefix() const { return d->GetMimeTypePrefix(); } std::string AbstractFileReader::GetDescription() const { return d->GetDescription(); } void AbstractFileReader::SetDefaultDataNodeProperties(DataNode* node, const std::string& filePath) { // path if (!filePath.empty()) { mitk::StringProperty::Pointer pathProp = mitk::StringProperty::New( itksys::SystemTools::GetFilenamePath(filePath) ); node->SetProperty(StringProperty::PATH, pathProp); } // name already defined? mitk::StringProperty::Pointer nameProp = dynamic_cast(node->GetProperty("name")); if(nameProp.IsNull() || (strcmp(nameProp->GetValue(),"No Name!")==0)) { // name already defined in BaseData mitk::StringProperty::Pointer baseDataNameProp = dynamic_cast(node->GetData()->GetProperty("name").GetPointer() ); if(baseDataNameProp.IsNull() || (strcmp(baseDataNameProp->GetValue(),"No Name!")==0)) { // name neither defined in node, nor in BaseData -> name = filebasename; nameProp = mitk::StringProperty::New(itksys::SystemTools::GetFilenameWithoutExtension(itksys::SystemTools::GetFilenameName(filePath))); node->SetProperty("name", nameProp); } else { // name defined in BaseData! nameProp = mitk::StringProperty::New(baseDataNameProp->GetValue()); node->SetProperty("name", nameProp); } } // visibility if(!node->GetProperty("visible")) { node->SetVisibility(true); } } } diff --git a/Modules/CMakeLists.txt b/Modules/CMakeLists.txt index 0fb53ff5aa..8656ec9f6b 100644 --- a/Modules/CMakeLists.txt +++ b/Modules/CMakeLists.txt @@ -1,80 +1,80 @@ # Modules must be listed according to their dependencies set(module_dirs LegacyIO DataTypesExt AlgorithmsExt MapperExt - IOExt DICOMReader DICOMTesting Qt4Qt5TestModule SceneSerializationBase PlanarFigure ImageDenoising ImageExtraction ImageStatistics LegacyAdaptors SceneSerialization GraphAlgorithms ContourModel SurfaceInterpolation Segmentation PlanarFigureSegmentation OpenViewCore QmlItems Overlays QtWidgets QtWidgetsExt SegmentationUI DiffusionImaging GPGPU IGTBase IGT CameraCalibration RigidRegistration RigidRegistrationUI DeformableRegistration DeformableRegistrationUI OpenCL OpenCVVideoSupport QtOverlays InputDevices ToFHardware ToFProcessing ToFUI US USUI DicomUI Simulation Remeshing Python Persistence IGTUI VtkShaders DicomRT + IOExt ) if(MITK_ENABLE_PIC_READER) list(APPEND module_dirs IpPicSupportIO) endif() set(MITK_DEFAULT_SUBPROJECTS MITK-Modules) foreach(module_dir ${module_dirs}) add_subdirectory(${module_dir}) endforeach() if(MITK_PRIVATE_MODULES) file(GLOB all_subdirs RELATIVE ${MITK_PRIVATE_MODULES} ${MITK_PRIVATE_MODULES}/*) foreach(subdir ${all_subdirs}) string(FIND ${subdir} "." _result) if(_result EQUAL -1) if(EXISTS ${MITK_PRIVATE_MODULES}/${subdir}/CMakeLists.txt) message(STATUS "Found private module ${subdir}") add_subdirectory(${MITK_PRIVATE_MODULES}/${subdir} private_modules/${subdir}) endif() endif() endforeach() endif(MITK_PRIVATE_MODULES) diff --git a/Modules/IOExt/CMakeLists.txt b/Modules/IOExt/CMakeLists.txt index 8df499dcc4..512b40e4b1 100644 --- a/Modules/IOExt/CMakeLists.txt +++ b/Modules/IOExt/CMakeLists.txt @@ -1,4 +1,4 @@ -MITK_CREATE_MODULE(DEPENDS MitkDataTypesExt MitkMapperExt MitkLegacyIO +MITK_CREATE_MODULE(DEPENDS MitkDataTypesExt MitkMapperExt MitkSceneSerialization MitkLegacyIO WARNINGS_AS_ERRORS AUTOLOAD_WITH MitkCore ) diff --git a/Modules/SceneSerialization/mitkSceneDataNodeReader.h b/Modules/IOExt/Internal/mitkIOExtActivator.cpp similarity index 65% copy from Modules/SceneSerialization/mitkSceneDataNodeReader.h copy to Modules/IOExt/Internal/mitkIOExtActivator.cpp index 58320d7e5e..d9af19f4c3 100644 --- a/Modules/SceneSerialization/mitkSceneDataNodeReader.h +++ b/Modules/IOExt/Internal/mitkIOExtActivator.cpp @@ -1,35 +1,34 @@ /*=================================================================== The Medical Imaging Interaction Toolkit (MITK) Copyright (c) German Cancer Research Center, Division of Medical and Biological Informatics. All rights reserved. This software is distributed WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See LICENSE.txt or http://www.mitk.org for details. ===================================================================*/ +#include "mitkIOExtActivator.h" -#ifndef MITKSCENEDATANODEREADER_H -#define MITKSCENEDATANODEREADER_H - -#include +#include "mitkSceneFileReader.h" namespace mitk { -class SceneDataNodeReader : public mitk::IDataNodeReader +void IOExtActivator::Load(us::ModuleContext*) { + m_SceneReader.reset(new SceneFileReader()); +} -public: - - int Read(const std::string& fileName, mitk::DataStorage& storage); -}; +void IOExtActivator::Unload(us::ModuleContext*) +{ +} } -#endif // MITKSCENEDATANODEREADER_H +US_EXPORT_MODULE_ACTIVATOR(mitk::IOExtActivator) diff --git a/Modules/SceneSerialization/mitkSceneDataNodeReader.cpp b/Modules/IOExt/Internal/mitkIOExtActivator.h similarity index 55% rename from Modules/SceneSerialization/mitkSceneDataNodeReader.cpp rename to Modules/IOExt/Internal/mitkIOExtActivator.h index 6453c33574..87662f7be8 100644 --- a/Modules/SceneSerialization/mitkSceneDataNodeReader.cpp +++ b/Modules/IOExt/Internal/mitkIOExtActivator.h @@ -1,37 +1,42 @@ /*=================================================================== The Medical Imaging Interaction Toolkit (MITK) Copyright (c) German Cancer Research Center, Division of Medical and Biological Informatics. All rights reserved. This software is distributed WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See LICENSE.txt or http://www.mitk.org for details. ===================================================================*/ +#ifndef MITKIOEXTACTIVATOR_H +#define MITKIOEXTACTIVATOR_H -#include "mitkSceneDataNodeReader.h" +#include -#include "mitkSceneIO.h" +#include namespace mitk { -int mitk::SceneDataNodeReader::Read(const std::string &fileName, mitk::DataStorage &storage) +struct IFileReader; + +class IOExtActivator : public us::ModuleActivator { - int n = 0; - if (fileName.substr(fileName.size()-5) == ".mitk") - { - SceneIO::Pointer sceneIO = SceneIO::New(); - int oldSize = storage.GetAll()->Size(); - sceneIO->LoadScene(fileName, &storage, false); - n = storage.GetAll()->Size() - oldSize; - } - return n; -} +public: + + void Load(us::ModuleContext*context); + void Unload(us::ModuleContext* context); + +private: + + std::auto_ptr m_SceneReader; +}; } + +#endif // MITKIOEXTACTIVATOR_H diff --git a/Modules/IOExt/Internal/mitkSceneFileReader.cpp b/Modules/IOExt/Internal/mitkSceneFileReader.cpp new file mode 100644 index 0000000000..7ea663efc5 --- /dev/null +++ b/Modules/IOExt/Internal/mitkSceneFileReader.cpp @@ -0,0 +1,70 @@ +/*=================================================================== + +The Medical Imaging Interaction Toolkit (MITK) + +Copyright (c) German Cancer Research Center, +Division of Medical and Biological Informatics. +All rights reserved. + +This software is distributed WITHOUT ANY WARRANTY; without +even the implied warranty of MERCHANTABILITY or FITNESS FOR +A PARTICULAR PURPOSE. + +See LICENSE.txt or http://www.mitk.org for details. + +===================================================================*/ + +#include "mitkSceneFileReader.h" + +#include +#include +#include + +namespace mitk { + +SceneFileReader::SceneFileReader() + : AbstractFileReader() +{ + CustomMimeType mimeType(IOMimeTypes::DEFAULT_BASE_NAME() + ".scene"); + mimeType.SetComment("MITK Scene Files"); + mimeType.SetCategory("MITK Scenes"); + mimeType.AddExtension("mitk"); + + this->SetDescription("MITK Scene Reader"); + this->SetMimeType(mimeType); + + this->RegisterService(); +} + +DataStorage::SetOfObjects::Pointer SceneFileReader::Read(DataStorage& ds) +{ + const DataStorage::SetOfObjects::STLContainerType& oldNodes = ds.GetAll()->CastToSTLConstContainer(); + SceneIO::Pointer sceneIO = SceneIO::New(); + sceneIO->LoadScene(this->GetLocalFileName(), &ds, false); + DataStorage::SetOfObjects::ConstPointer newNodes = ds.GetAll(); + + // Compute the difference + DataStorage::SetOfObjects::Pointer result = DataStorage::SetOfObjects::New(); + unsigned int index = 0; + for (DataStorage::SetOfObjects::ConstIterator iter = newNodes->Begin(), + iterEnd = newNodes->End(); iter != iterEnd; ++iter) + { + if (std::find(oldNodes.begin(), oldNodes.end(), iter.Value()) == oldNodes.end()) + { + result->InsertElement(index++, iter.Value()); + } + } + return result; +} + +std::vector SceneFileReader::Read() +{ + return AbstractFileReader::Read(); +} + +SceneFileReader* SceneFileReader::Clone() const +{ + return new SceneFileReader(*this); +} + +} diff --git a/Modules/SceneSerialization/mitkSceneDataNodeReader.h b/Modules/IOExt/Internal/mitkSceneFileReader.h similarity index 52% rename from Modules/SceneSerialization/mitkSceneDataNodeReader.h rename to Modules/IOExt/Internal/mitkSceneFileReader.h index 58320d7e5e..fb7e6eb2a0 100644 --- a/Modules/SceneSerialization/mitkSceneDataNodeReader.h +++ b/Modules/IOExt/Internal/mitkSceneFileReader.h @@ -1,35 +1,43 @@ /*=================================================================== The Medical Imaging Interaction Toolkit (MITK) Copyright (c) German Cancer Research Center, Division of Medical and Biological Informatics. All rights reserved. This software is distributed WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See LICENSE.txt or http://www.mitk.org for details. ===================================================================*/ +#ifndef SceneFileReader_H_HEADER_INCLUDED +#define SceneFileReader_H_HEADER_INCLUDED -#ifndef MITKSCENEDATANODEREADER_H -#define MITKSCENEDATANODEREADER_H - -#include +// MITK +#include namespace mitk { -class SceneDataNodeReader : public mitk::IDataNodeReader +class SceneFileReader : public mitk::AbstractFileReader { public: - int Read(const std::string& fileName, mitk::DataStorage& storage); + SceneFileReader(); + + using AbstractFileReader::Read; + virtual std::vector > Read(); + virtual DataStorage::SetOfObjects::Pointer Read(DataStorage& ds); + +private: + + SceneFileReader* Clone() const; }; -} +} // namespace mitk -#endif // MITKSCENEDATANODEREADER_H +#endif /* SceneFileReader_H_HEADER_INCLUDED_C1E7E521 */ diff --git a/Modules/IOExt/files.cmake b/Modules/IOExt/files.cmake index b97c66b508..05ac7aa15d 100644 --- a/Modules/IOExt/files.cmake +++ b/Modules/IOExt/files.cmake @@ -1,15 +1,17 @@ set(CPP_FILES + Internal/mitkIOExtActivator.cpp Internal/mitkIOExtObjectFactory.cpp Internal/mitkObjFileIOFactory.cpp Internal/mitkObjFileReader.cpp Internal/mitkParRecFileIOFactory.cpp Internal/mitkParRecFileReader.cpp + Internal/mitkSceneFileReader.cpp Internal/mitkStlVolumeTimeSeriesIOFactory.cpp Internal/mitkStlVolumeTimeSeriesReader.cpp Internal/mitkUnstructuredGridVtkWriter.cpp Internal/mitkUnstructuredGridVtkWriterFactory.cpp Internal/mitkVtkUnstructuredGridIOFactory.cpp Internal/mitkVtkUnstructuredGridReader.cpp Internal/mitkVtkVolumeTimeSeriesIOFactory.cpp Internal/mitkVtkVolumeTimeSeriesReader.cpp ) diff --git a/Modules/SceneSerialization/mitkSceneFileReader.cpp b/Modules/SceneSerialization/mitkSceneFileReader.cpp deleted file mode 100644 index 1591ebea84..0000000000 --- a/Modules/SceneSerialization/mitkSceneFileReader.cpp +++ /dev/null @@ -1,78 +0,0 @@ -/*=================================================================== - -The Medical Imaging Interaction Toolkit (MITK) - -Copyright (c) German Cancer Research Center, -Division of Medical and Biological Informatics. -All rights reserved. - -This software is distributed WITHOUT ANY WARRANTY; without -even the implied warranty of MERCHANTABILITY or FITNESS FOR -A PARTICULAR PURPOSE. - -See LICENSE.txt or http://www.mitk.org for details. - -===================================================================*/ - -#include - -#include -#include -#include -#include - -#include - -mitk::SceneFileReader::SceneFileReader(const mitk::SceneFileReader& other) - : mitk::AbstractFileReader(other) -{ -} - -mitk::SceneFileReader::SceneFileReader() - : AbstractFileReader() -{ - //this->SetMimeTypePrefix(IOMimeTypes::DEFAULT_BASE_NAME() + ".legacy."); - - std::string category = "MITK Scene Files"; - CustomMimeType customMimeType; - customMimeType.SetCategory(category); - customMimeType.AddExtension("mitk"); - - this->SetDescription(category); - this->SetMimeType(customMimeType); - - m_ServiceReg = this->RegisterService(); -} - -mitk::SceneFileReader::~SceneFileReader() -{ -} - -std::vector > mitk::SceneFileReader::Read() -{ - std::vector > result; - mitk::SceneIO::Pointer sceneIO = mitk::SceneIO::New(); - - std::string location = GetInputLocation(); - mitk::DataStorage::Pointer storage = sceneIO->LoadScene(location); - - typedef itk::VectorContainer VectorContainerType; - VectorContainerType::ConstPointer nodes = storage->GetAll(); - VectorContainerType::ConstIterator it = nodes->Begin(); - - // Iterate over result and extract BaseDatas - it = nodes->Begin(); - while(it != nodes->End()) - { - mitk::DataNode::Pointer n = it->Value(); - result.push_back(n->GetData()); - ++it; - } - - return result; -} - -mitk::SceneFileReader* mitk::SceneFileReader::Clone() const -{ - return new SceneFileReader(*this); -} \ No newline at end of file diff --git a/Modules/SceneSerialization/mitkSceneFileReader.h b/Modules/SceneSerialization/mitkSceneFileReader.h deleted file mode 100644 index 8c15568a37..0000000000 --- a/Modules/SceneSerialization/mitkSceneFileReader.h +++ /dev/null @@ -1,66 +0,0 @@ -/*=================================================================== - -The Medical Imaging Interaction Toolkit (MITK) - -Copyright (c) German Cancer Research Center, -Division of Medical and Biological Informatics. -All rights reserved. - -This software is distributed WITHOUT ANY WARRANTY; without -even the implied warranty of MERCHANTABILITY or FITNESS FOR -A PARTICULAR PURPOSE. - -See LICENSE.txt or http://www.mitk.org for details. - -===================================================================*/ - -#ifndef SceneFileReader_H_HEADER_INCLUDED -#define SceneFileReader_H_HEADER_INCLUDED - -// MITK -#include -#include -#include - -// Microservices -#include -#include -#include - -namespace us { - struct PrototypeServiceFactory; -} - -namespace mitk { - - class CustomMimeType; - - /** - * @brief TODO - * @ingroup IO - */ - class SceneFileReader : public mitk::AbstractFileReader - { - - public: - - SceneFileReader(const SceneFileReader& other); - - SceneFileReader(); - - virtual ~SceneFileReader(); - - using AbstractFileReader::Read; - virtual std::vector > Read(); - - protected: - - private: - - SceneFileReader* Clone() const; - - us::ServiceRegistration m_ServiceReg; - }; -} // namespace mitk - -#endif /* SceneFileReader_H_HEADER_INCLUDED_C1E7E521 */ \ No newline at end of file diff --git a/Modules/SceneSerialization/mitkSceneSerializationActivator.cpp b/Modules/SceneSerialization/mitkSceneSerializationActivator.cpp deleted file mode 100644 index 77208cbf43..0000000000 --- a/Modules/SceneSerialization/mitkSceneSerializationActivator.cpp +++ /dev/null @@ -1,53 +0,0 @@ -/*=================================================================== - -The Medical Imaging Interaction Toolkit (MITK) - -Copyright (c) German Cancer Research Center, -Division of Medical and Biological Informatics. -All rights reserved. - -This software is distributed WITHOUT ANY WARRANTY; without -even the implied warranty of MERCHANTABILITY or FITNESS FOR -A PARTICULAR PURPOSE. - -See LICENSE.txt or http://www.mitk.org for details. - -===================================================================*/ - -#include "mitkSceneDataNodeReader.h" - -#include -#include -#include - -namespace mitk { - -/* - * This is the module activator for the "SceneSerialization" module. - */ -class SceneSerializationActivator : public us::ModuleActivator -{ -public: - - void Load(us::ModuleContext* context) - { - m_SceneDataNodeReader.reset(new mitk::SceneDataNodeReader); - context->RegisterService(m_SceneDataNodeReader.get()); - - m_SceneFileReader = new SceneFileReader(); - } - - void Unload(us::ModuleContext* ) - { - delete m_SceneFileReader; - } - -private: - - std::auto_ptr m_SceneDataNodeReader; - mitk::SceneFileReader* m_SceneFileReader; -}; - -} - -US_EXPORT_MODULE_ACTIVATOR(mitk::SceneSerializationActivator)