Medical Imaging Interaction Toolkit  2016.11.0
Medical Imaging Interaction Toolkit
mitkLandmarkProjectorBasedCurvedGeometry.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,
6 Division of Medical and Biological Informatics.
7 All rights reserved.
8 
9 This software is distributed WITHOUT ANY WARRANTY; without
10 even the implied warranty of MERCHANTABILITY or FITNESS FOR
11 A PARTICULAR PURPOSE.
12 
13 See LICENSE.txt or http://www.mitk.org for details.
14 
15 ===================================================================*/
16 
17 #ifndef MITKLANDMARKPROJECTORBASEDCURVEDGEOMETRY_H_HEADER_INCLUDED_C1C68A2C
18 #define MITKLANDMARKPROJECTORBASEDCURVEDGEOMETRY_H_HEADER_INCLUDED_C1C68A2C
19 
20 #include "mitkLandmarkProjector.h"
21 
23 #include "mitkPointSet.h"
24 
25 namespace mitk
26 {
27  //##Documentation
28  //## @brief Superclass of AbstractTransformGeometry sub-classes defined
29  //## by a set of landmarks.
30  //##
31  //## @ingroup Geometry
33  {
34  public:
36 
37  void SetLandmarkProjector(mitk::LandmarkProjector *aLandmarkProjector);
38  itkGetConstObjectMacro(LandmarkProjector, mitk::LandmarkProjector);
39 
40  virtual void SetFrameGeometry(const mitk::BaseGeometry *frameGeometry) override;
41 
42  virtual void ComputeGeometry();
43 
44  itkGetConstMacro(InterpolatingAbstractTransform, vtkAbstractTransform *);
45 
46  itk::LightObject::Pointer InternalClone() const override;
47 
48  //##Documentation
49  //## @brief Set the landmarks through which the geometry shall pass
50  itkSetConstObjectMacro(TargetLandmarks, mitk::PointSet::DataType::PointsContainer);
51  //##Documentation
52  //## @brief Get the landmarks through which the geometry shall pass
53  itkGetConstObjectMacro(TargetLandmarks, mitk::PointSet::DataType::PointsContainer);
54 
55  protected:
57 
59 
61 
63 
64  vtkAbstractTransform *m_InterpolatingAbstractTransform;
65 
67 
68  //##Documentation
69  //## @brief PreSetSpacing
70  //##
71  //## These virtual function allows a different beahiour in subclasses.
72  //## Do implement them in every subclass of BaseGeometry. If not needed, use
73  //## {Superclass::PreSetSpacing();};
74  virtual void PreSetSpacing(const mitk::Vector3D &aSpacing) override { Superclass::PreSetSpacing(aSpacing); };
75  };
76 } // namespace mitk
77 
78 #endif /* MITKLANDMARKPROJECTORBASEDCURVEDGEOMETRY_H_HEADER_INCLUDED_C1C68A2C */
itk::SmartPointer< Self > Pointer
Superclass of AbstractTransformGeometry sub-classes defined by a set of landmarks.
#define MITKCORE_EXPORT
DataCollection - Class to facilitate loading/accessing structured data.
itk::SmartPointer< const Self > ConstPointer
Base-class of landmark-projectors, which project the target landmarks to create source landmarks...
#define mitkClassMacro(className, SuperClassName)
Definition: mitkCommon.h:44
Describes a geometry defined by an vtkAbstractTransform and a plane.
mitk::PointSet::DataType::PointsContainer::ConstPointer m_TargetLandmarks
virtual void PreSetSpacing(const mitk::Vector3D &aSpacing) override
PreSetSpacing.
BaseGeometry Describes the geometry of a data object.