Medical Imaging Interaction Toolkit  2016.11.0
Medical Imaging Interaction Toolkit
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
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.