VTK  9.3.1
vtkLightWidget.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
37 #ifndef vtkLightWidget_h
38 #define vtkLightWidget_h
39 
40 #include "vtkAbstractWidget.h"
41 #include "vtkInteractionWidgetsModule.h" // For export macro
42 
43 VTK_ABI_NAMESPACE_BEGIN
44 class vtkHandleWidget;
46 
47 class VTKINTERACTIONWIDGETS_EXPORT vtkLightWidget : public vtkAbstractWidget
48 {
49 public:
50  static vtkLightWidget* New();
52  void PrintSelf(ostream& os, vtkIndent indent) override;
53 
59  void SetRepresentation(vtkLightRepresentation* r);
60 
64  vtkLightRepresentation* GetLightRepresentation();
65 
69  void CreateDefaultRepresentation() override;
70 
71 protected:
73  ~vtkLightWidget() override = default;
74 
75  bool WidgetActive = false;
76 
77  // These methods handle events
78  static void SelectAction(vtkAbstractWidget*);
79  static void EndSelectAction(vtkAbstractWidget*);
80  static void MoveAction(vtkAbstractWidget*);
81  static void ScaleAction(vtkAbstractWidget*);
82 
83 private:
84  vtkLightWidget(const vtkLightWidget&) = delete;
85  void operator=(const vtkLightWidget&) = delete;
86 };
87 
88 VTK_ABI_NAMESPACE_END
89 #endif
represent a vtkLight
void PrintSelf(ostream &os, vtkIndent indent) override
Standard macros implementing standard VTK methods.
a general widget for moving handles
virtual void CreateDefaultRepresentation()=0
Create the default widget representation if one is not set.
a simple class to control print indentation
Definition: vtkIndent.h:28
define the API for widget / widget representation
3D widget for showing a LightRepresentation
static vtkObject * New()
Create an object with Debug turned off, modified time initialized to zero, and reference counting on...