Slicer 5.13
Slicer is a multi-platform, free and open source software package for visualization and medical image computing
Loading...
Searching...
No Matches
vtkMRMLLayerDMPipelineCallbackCreator.h
Go to the documentation of this file.
1/*==============================================================================
2
3 Program: 3D Slicer
4
5 Copyright (c) Kitware SAS
6
7 See COPYRIGHT.txt
8 or http://www.slicer.org/copyright/copyright.txt for details.
9
10 Unless required by applicable law or agreed to in writing, software
11 distributed under the License is distributed on an "AS IS" BASIS,
12 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 See the License for the specific language governing permissions and
14 limitations under the License.
15
16 This file was originally developed by Thibault Pelletier, Kitware SAS,
17 and was partially funded by ANR grants ANR-22-CE45-0034 and ANR-18-RHUS-005.
18
19==============================================================================*/
20
21#ifndef __vtkMRMLLayerDMPipelineCallbackCreator_h
22#define __vtkMRMLLayerDMPipelineCallbackCreator_h
23
24#include "vtkSlicerLayerDMModuleMRMLDisplayableManagerExport.h"
25
27
28// STL includes
29#include <functional>
30
36class VTK_SLICER_LAYERDM_MODULE_MRMLDISPLAYABLEMANAGER_EXPORT vtkMRMLLayerDMPipelineCallbackCreator : public vtkMRMLLayerDMPipelineCreator
37{
38public:
41 void PrintSelf(ostream& os, vtkIndent indent) override;
42
43 vtkSmartPointer<vtkMRMLLayerDMPipeline> CreatePipeline(vtkMRMLAbstractViewNode* viewNode, vtkMRMLNode* node) const override;
44 void SetCallback(const std::function<vtkSmartPointer<vtkMRMLLayerDMPipeline>(vtkMRMLAbstractViewNode*, vtkMRMLNode*)>& callback);
45
46protected:
49
50private:
51 std::function<vtkSmartPointer<vtkMRMLLayerDMPipeline>(vtkMRMLAbstractViewNode*, vtkMRMLNode*)> Callback;
52};
53
54#endif
Abstract MRML node to represent a view. The class holds the properties common to any view type (3D,...
void SetCallback(const std::function< vtkSmartPointer< vtkMRMLLayerDMPipeline >(vtkMRMLAbstractViewNode *, vtkMRMLNode *)> &callback)
vtkSmartPointer< vtkMRMLLayerDMPipeline > CreatePipeline(vtkMRMLAbstractViewNode *viewNode, vtkMRMLNode *node) const override
~vtkMRMLLayerDMPipelineCallbackCreator() override=default
static vtkMRMLLayerDMPipelineCallbackCreator * New()
void PrintSelf(ostream &os, vtkIndent indent) override
Abstract Superclass for all specific types of MRML nodes.