Medical Imaging Interaction Toolkit  2023.12.00
Medical Imaging Interaction Toolkit
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
mitkClippingPlaneInteractor3D.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 mitkClippingPlaneInteractor3D_h
14 #define mitkClippingPlaneInteractor3D_h
15 
17 #include <mitkBaseRenderer.h>
18 #include <mitkDataInteractor.h>
19 #include <mitkGeometry3D.h>
20 
21 namespace mitk
22 {
28  // Inherit from DataInteratcor, this provides functionality of a state machine and configurable inputs.
30  {
31  public:
33  itkFactorylessNewMacro(Self);
34  itkCloneMacro(Self);
35 
36  protected : ClippingPlaneInteractor3D();
37  ~ClippingPlaneInteractor3D() override;
42  void ConnectActionsAndFunctions() override;
46  void DataNodeChanged() override;
47 
51  virtual bool CheckOverObject(const InteractionEvent *);
52  virtual void SelectObject(StateMachineAction *, InteractionEvent *);
53  virtual void DeselectObject(StateMachineAction *, InteractionEvent *);
54  virtual void InitTranslate(StateMachineAction *, InteractionEvent *);
55  virtual void InitRotate(StateMachineAction *, InteractionEvent *);
56  virtual void TranslateObject(StateMachineAction *, InteractionEvent *);
57  virtual void RotateObject(StateMachineAction *, InteractionEvent *);
58 
59  private:
60  void ColorizeSurface(BaseRenderer::Pointer renderer, double scalar = 0.0);
61 
62  double m_InitialPickedWorldPoint[4];
63  Point2D m_InitialPickedDisplayPoint;
64 
65  Geometry3D::Pointer m_OriginalGeometry;
66 
67  Vector3D m_ObjectNormal;
68  };
69 }
70 #endif
mitk::InteractionEvent
Definition: mitkInteractionEvent.h:26
MitkDataTypesExtExports.h
MITKDATATYPESEXT_EXPORT
#define MITKDATATYPESEXT_EXPORT
Definition: MitkDataTypesExtExports.h:15
itk::SmartPointer< Self >
mitkGeometry3D.h
mitk
Find image slices visible on a given plane.
Definition: RenderingTests.dox:1
mitk::Vector< ScalarType, 3 >
mitk::Point< ScalarType, 2 >
mitkDataInteractor.h
mitk::ClippingPlaneInteractor3D
Specialized interactor for clipping planes.
Definition: mitkClippingPlaneInteractor3D.h:29
mitk::StateMachineAction
Represents an action, that is executed after a certain event (in statemachine-mechanism) TODO: implem...
Definition: mitkStateMachineAction.h:30
mitkClassMacro
#define mitkClassMacro(className, SuperClassName)
Definition: mitkCommon.h:36
mitk::DataInteractor
Base class from with interactors that handle DataNodes are to be derived.
Definition: mitkDataInteractor.h:48
mitkBaseRenderer.h