Medical Imaging Interaction Toolkit  2023.12.99-ed252ae7
Medical Imaging Interaction Toolkit
mitkLabelAnnotation3D.h
Go to the documentation of this file.
1 /*============================================================================
2 
3 The Medical Imaging Interaction Toolkit (MITK)
4 
5 Copyright (c) German Cancer Research Center (DKFZ)
6 All rights reserved.
7 
8 Use of this source code is governed by a 3-clause BSD license that can be
9 found in the LICENSE file.
10 
11 ============================================================================*/
12 
13 #ifndef mitkLabelAnnotation3D_h
14 #define mitkLabelAnnotation3D_h
15 
16 #include "MitkAnnotationExports.h"
18 #include <mitkVtkAnnotation3D.h>
19 #include <vtkSmartPointer.h>
20 
21 class vtkStringArray;
22 class vtkPolyDataMapper;
23 class vtkPolyData;
24 class vtkActor2D;
25 class vtkProperty2D;
26 class vtkPointSetToLabelHierarchy;
27 class vtkLabelPlacementMapper;
28 class vtkIntArray;
29 
30 namespace mitk
31 {
32  class PointSet;
33 
36  {
37  public:
40  {
41  public:
48 
50  itk::TimeStamp m_LastUpdateTime;
51 
53  LocalStorage();
55  ~LocalStorage();
56  };
57 
59  itkFactorylessNewMacro(Self);
60  itkCloneMacro(Self);
61 
64  void SetLabelVector(const std::vector<std::string> &LabelVector);
65 
68  void SetPriorityVector(const std::vector<int> &PriorityVector);
69 
71  void SetLabelCoordinates(itk::SmartPointer<PointSet> LabelCoordinates);
72 
73  void PointSetModified(const itk::Object *, const itk::EventObject &);
74 
75  protected:
78 
79  vtkProp *GetVtkProp(BaseRenderer *renderer) const override;
80  void UpdateVtkAnnotation(mitk::BaseRenderer *renderer) override;
81 
83  explicit LabelAnnotation3D();
84 
86  ~LabelAnnotation3D() override;
87 
88  private:
90  std::vector<std::string> m_LabelVector;
91 
94  std::vector<int> m_PriorityVector;
95 
97  itk::SmartPointer<PointSet> m_LabelCoordinates;
98 
99  unsigned long m_PointSetModifiedObserverTag;
100 
103 
105  LabelAnnotation3D &operator=(const LabelAnnotation3D &);
106  };
107 
108 } // namespace mitk
109 #endif
mitk::VtkAnnotation3D
The VtkAnnotation3D class is the basis for all VTK based Annotation which create any 3D element as a ...
Definition: mitkVtkAnnotation3D.h:26
mitkLocalStorageHandler.h
mitk::LabelAnnotation3D::LocalStorage::m_Labels
vtkSmartPointer< vtkStringArray > m_Labels
Definition: mitkLabelAnnotation3D.h:45
mitk::LabelAnnotation3D::LocalStorage::m_LabelsActor
vtkSmartPointer< vtkActor2D > m_LabelsActor
Definition: mitkLabelAnnotation3D.h:43
vtkSmartPointer< vtkPolyData >
mitk::LabelAnnotation3D::LocalStorage::m_LabelMapper
vtkSmartPointer< vtkLabelPlacementMapper > m_LabelMapper
Definition: mitkLabelAnnotation3D.h:46
mitk::LabelAnnotation3D::m_LSH
mitk::LocalStorageHandler< LocalStorage > m_LSH
The LocalStorageHandler holds all LocalStorages for the render windows.
Definition: mitkLabelAnnotation3D.h:77
itk::SmartPointer
Definition: mitkIFileReader.h:30
MitkAnnotationExports.h
mitk
Find image slices visible on a given plane.
Definition: RenderingTests.dox:1
mitk::LabelAnnotation3D::LocalStorage::m_PointSetToLabelHierarchyFilter
vtkSmartPointer< vtkPointSetToLabelHierarchy > m_PointSetToLabelHierarchyFilter
Definition: mitkLabelAnnotation3D.h:47
mitk::LocalStorageHandler< LocalStorage >
MITKANNOTATION_EXPORT
#define MITKANNOTATION_EXPORT
Definition: MitkAnnotationExports.h:15
mitk::LabelAnnotation3D::LocalStorage
Internal class holding the vtkActor, etc. for each of the render windows.
Definition: mitkLabelAnnotation3D.h:39
mitk::LabelAnnotation3D::LocalStorage::m_Points
vtkSmartPointer< vtkPolyData > m_Points
Definition: mitkLabelAnnotation3D.h:42
mitk::LabelVector
std::vector< Label::Pointer > LabelVector
Definition: mitkLabel.h:91
mitk::LabelAnnotation3D
Can display a high amount of 3D labels to a PointSet.
Definition: mitkLabelAnnotation3D.h:35
mitk::LabelAnnotation3D::LocalStorage::m_LastUpdateTime
itk::TimeStamp m_LastUpdateTime
Timestamp of last update of stored data.
Definition: mitkLabelAnnotation3D.h:50
mitkClassMacro
#define mitkClassMacro(className, SuperClassName)
Definition: mitkCommon.h:36
mitk::BaseRenderer
Definition: mitkBaseRenderer.h:56
mitkVtkAnnotation3D.h
mitk::LabelAnnotation3D::LocalStorage::m_Sizes
vtkSmartPointer< vtkIntArray > m_Sizes
Definition: mitkLabelAnnotation3D.h:44
mitk::Annotation::BaseLocalStorage
Base class for mapper specific rendering resources.
Definition: mitkAnnotation.h:39