VTK  9.4.20241121
vtkImplicitFrustumWidget.h
Go to the documentation of this file.
1// SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
2// SPDX-License-Identifier: BSD-3-Clause
3
44#ifndef vtkImplicitFrustumWidget_h
45#define vtkImplicitFrustumWidget_h
46
47#include "vtkAbstractWidget.h"
48#include "vtkInteractionWidgetsModule.h" // For export macro
49#include "vtkWrappingHints.h" // For VTK_MARSHALAUTO
50
51VTK_ABI_NAMESPACE_BEGIN
53
54class VTKINTERACTIONWIDGETS_EXPORT VTK_MARSHALAUTO vtkImplicitFrustumWidget
55 : public vtkAbstractWidget
56{
57public:
60
67
72 {
73 return reinterpret_cast<vtkImplicitFrustumRepresentation*>(this->WidgetRep);
74 }
75
80
81private:
82 enum class WidgetStateType
83 {
84 Idle,
85 Active
86 };
87
89 ~vtkImplicitFrustumWidget() override = default;
90
92 void operator=(const vtkImplicitFrustumWidget&) = delete;
93
95
98 static void SelectAction(vtkAbstractWidget* widget);
99 static void EndSelectAction(vtkAbstractWidget* widget);
100 static void TranslateAction(vtkAbstractWidget* widget);
101 static void MoveAction(vtkAbstractWidget* widget);
102 static void TranslationAxisLock(vtkAbstractWidget* widget);
103 static void TranslationAxisUnLock(vtkAbstractWidget* widget);
105
110 bool UpdateCursorShape(int interactionState);
111
112 WidgetStateType State = WidgetStateType::Idle;
113};
114
115VTK_ABI_NAMESPACE_END
116#endif
define the API for widget / widget representation
vtkWidgetRepresentation * WidgetRep
The representation for a vtkImplicitFrustumWidget.
3D widget for manipulating an infinite frustum
void CreateDefaultRepresentation() override
Create the default widget representation if one is not set.
static vtkImplicitFrustumWidget * New()
void SetRepresentation(vtkImplicitFrustumRepresentation *rep)
Specify an instance of vtkWidgetRepresentation used to represent this widget in the scene.
vtkImplicitFrustumRepresentation * GetFrustumRepresentation()
Return the representation as a vtkImplicitFrustumRepresentation.
#define VTK_MARSHALAUTO