diff --git a/Modules/AwesomeMapperService/CMakeLists.txt b/Modules/AwesomeMapperService/CMakeLists.txt new file mode 100644 index 0000000000..b51b3076bd --- /dev/null +++ b/Modules/AwesomeMapperService/CMakeLists.txt @@ -0,0 +1,5 @@ +MITK_CREATE_MODULE( +# INCLUDE_DIRS . + DEPENDS MitkCore + PACKAGE_DEPENDS +) \ No newline at end of file diff --git a/Modules/AwesomeMapperService/files.cmake b/Modules/AwesomeMapperService/files.cmake new file mode 100644 index 0000000000..fb93a6cc08 --- /dev/null +++ b/Modules/AwesomeMapperService/files.cmake @@ -0,0 +1,4 @@ +set(CPP_FILES + mitkAwesomeMapperService.cpp +) + diff --git a/Modules/AwesomeMapperService/mitkAwesomeMapperService.cpp b/Modules/AwesomeMapperService/mitkAwesomeMapperService.cpp new file mode 100644 index 0000000000..732297376a --- /dev/null +++ b/Modules/AwesomeMapperService/mitkAwesomeMapperService.cpp @@ -0,0 +1,57 @@ +/*=================================================================== + +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 "mitkAwesomeMapperService.h" + +#include "mitkMapper.h" +#include +#include +#include +#include + +mitk::AwesomeMapperService::AwesomeMapperService() +{ + RegisterAtServiceRegistry(mitk::Image::GetStaticNameOfClass(), 1, 200); +} + +vtkProp *mitk::AwesomeMapperService::GetVtkProp(mitk::BaseRenderer *renderer) +{ + vtkSmartPointer src = vtkSphereSource::New(); + src->SetCenter(0.0, 0.0, 0.0); + src->SetRadius(20); + vtkSmartPointer mapper = vtkPolyDataMapper::New(); + mapper->SetInputConnection(src->GetOutputPort()); + vtkSmartPointer actor = vtkActor::New(); + actor->SetMapper(mapper); + + return actor; +} + +class AwesomeMapperServiceActivator : public us::ModuleActivator +{ +public: + AwesomeMapperServiceActivator() : m_Service(nullptr) {} + ~AwesomeMapperServiceActivator() override {} + + void Load(us::ModuleContext *context) override { m_Service = std::make_shared(); } + + void Unload(us::ModuleContext *) override {} + +private: + std::shared_ptr m_Service; +}; + +US_EXPORT_MODULE_ACTIVATOR(AwesomeMapperServiceActivator) diff --git a/Modules/AwesomeMapperService/mitkAwesomeMapperService.h b/Modules/AwesomeMapperService/mitkAwesomeMapperService.h new file mode 100644 index 0000000000..e072edde6c --- /dev/null +++ b/Modules/AwesomeMapperService/mitkAwesomeMapperService.h @@ -0,0 +1,38 @@ +/*=================================================================== + +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 MITKAWESOMEMAPPERSERVICE_H +#define MITKAWESOMEMAPPERSERVICE_H +#include "MitkAwesomeMapperServiceExports.h" +#include "mitkVtkMapper.h" + +namespace mitk +{ + class MITKAWESOMEMAPPERSERVICE_EXPORT AwesomeMapperService : public VtkMapper + { + public: + /** Standard class typedefs. */ + mitkClassMacro(AwesomeMapperService, VtkMapper); + /** Method for creation through the object factory. */ + itkFactorylessNewMacro(Self) itkCloneMacro(Self) + + AwesomeMapperService(); + ~AwesomeMapperService() = default; + virtual vtkProp *GetVtkProp(mitk::BaseRenderer *renderer) override; + }; +} + +#endif diff --git a/Modules/ModuleList.cmake b/Modules/ModuleList.cmake index 93f36bf535..23d37ed944 100644 --- a/Modules/ModuleList.cmake +++ b/Modules/ModuleList.cmake @@ -1,83 +1,84 @@ # The entries in the mitk_modules list must be # ordered according to their dependencies. set(MITK_MODULES Core CommandLine AppUtil RDF LegacyIO DataTypesExt Annotation LegacyGL AlgorithmsExt MapperExt DICOMReader DICOMReaderServices DICOMTesting SceneSerializationBase PlanarFigure ImageDenoising ImageExtraction SceneSerialization Gizmo GraphAlgorithms Multilabel ImageStatistics ContourModel SurfaceInterpolation Segmentation PlanarFigureSegmentation QtWidgets QtWidgetsExt Chart SegmentationUI MatchPointRegistration MatchPointRegistrationUI Classification GPGPU OpenIGTLink IGTBase IGT CameraCalibration OpenCL OpenCVVideoSupport QtOverlays ToFHardware ToFProcessing ToFUI PhotoacousticsHardware PhotoacousticsAlgorithms PhotoacousticsLib US USUI DicomUI Remeshing Python QtPython Persistence OpenIGTLinkUI IGTUI DicomRT RTUI IOExt XNAT TubeGraph BiophotonicsHardware DiffusionImaging TumorInvasionAnalysis BoundingShape RenderWindowManager RenderWindowManagerUI CEST BasicImageProcessing ModelFit ModelFitUI Pharmacokinetics PharmacokineticsUI DynamicMappers + AwesomeMapperService ) if(MITK_ENABLE_PIC_READER) list(APPEND MITK_MODULES IpPicSupportIO) endif()