Medical Imaging Interaction Toolkit  2016.11.0
Medical Imaging Interaction Toolkit
vtkThickPlane.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 // .NAME vtkPlane - perform various plane computations
18 // .SECTION Description
19 // vtkPlane provides methods for various plane computations. These include
20 // projecting points onto a plane, evaluating the plane equation, and
21 // returning plane normal. vtkPlane is a concrete implementation of the
22 // abstract class vtkImplicitFunction.
23 
24 #ifndef __vtkThickPlane_h
25 #define __vtkThickPlane_h
26 
28 
29 #include "vtkImplicitFunction.h"
30 #include "mitkCommon.h"
31 
32 class MITKDIFFUSIONCORE_EXPORT vtkThickPlane : public vtkImplicitFunction
33 {
34 public:
35  // Description
36  // Construct plane passing through origin and normal to z-axis.
37  static vtkThickPlane *New();
38 
39  vtkTypeMacro(vtkThickPlane,vtkImplicitFunction);
40  void PrintSelf(ostream& os, vtkIndent indent) override;
41 
42  // Description
43  // Evaluate plane equation for point x[3].
44  double EvaluateFunction(double x[3]) override;
45  double EvaluateFunction(double x, double y, double z);
46 
47  // Description
48  // Evaluate function gradient at point x[3].
49  void EvaluateGradient(double x[3], double g[3]) override;
50 
51  // Description:
52  // Set/get plane normal. Plane is defined by point and normal.
53  virtual void SetPose (double _n1, double _n2, double _n3, double _o1, double _o2, double _o3);
54  virtual void SetPose (double _n[3], double _o[3]);
55 
56  vtkGetVectorMacro(Normal,double,3);
57  vtkGetVectorMacro(Origin,double,3);
58 
59  // Description:
60  // Set/get point through which plane passes. Plane is defined by point
61  // and normal.
62  virtual void SetThickness (double _arg);
63  vtkGetMacro(Thickness,double);
64 
65  int count;
66 
67 protected:
68  vtkThickPlane();
70 
71  // Description:
72  // Set/get plane normal. Plane is defined by point and normal.
73  virtual void SetNormal (double _arg1, double _arg2, double _arg3);
74  virtual void SetNormal (double _arg[3]);
75 
76  // Description:
77  // Set/get point through which plane passes. Plane is defined by point
78  // and normal.
79  virtual void SetOrigin (double _arg1, double _arg2, double _arg3);
80  virtual void SetOrigin (double _arg[3]);
81 
82  double Normal[3];
83  double Origin[3];
84  double Thickness;
85  double Distance;
86 
87 private:
88  vtkThickPlane(const vtkThickPlane&); // Not implemented.
89  void operator=(const vtkThickPlane&); // Not implemented.
90 };
91 
92 #endif
93 
94 
95 
#define MITKDIFFUSIONCORE_EXPORT
double Thickness
Definition: vtkThickPlane.h:84
static itkEventMacro(BoundingShapeInteractionEvent, itk::AnyEvent) class MITKBOUNDINGSHAPE_EXPORT BoundingShapeInteractor Pointer New()
Basic interaction methods for mitk::GeometryData.