VTK  9.3.1
vtkZSpaceHardwarePicker.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
22 #ifndef vtkZSpaceHardwarePicker_h
23 #define vtkZSpaceHardwarePicker_h
24 
25 #include "vtkPropPicker.h"
26 #include "vtkRenderingZSpaceModule.h" // for export macro
27 #include "vtkSmartPointer.h" // for ivar
28 
29 VTK_ABI_NAMESPACE_BEGIN
30 class vtkSelection;
31 class vtkTransform;
32 
33 class VTKRENDERINGZSPACE_EXPORT vtkZSpaceHardwarePicker : public vtkPropPicker
34 {
35 public:
36  static vtkZSpaceHardwarePicker* New();
37 
39 
40  void PrintSelf(ostream& os, vtkIndent indent) override;
41 
45  virtual int PickProp(const double pos[3], const double wxyz[4], int fieldAssociation,
46  vtkRenderer* renderer, bool actorPassOnly);
47 
51  vtkSelection* GetSelection();
52 
54 
58  vtkSetMacro(PointPickingRadius, int);
59  vtkGetMacro(PointPickingRadius, int);
61 
62 protected:
63  vtkZSpaceHardwarePicker() = default;
64  ~vtkZSpaceHardwarePicker() override = default;
65 
67  int PointPickingRadius = 30;
68 
69 private:
71  void operator=(const vtkZSpaceHardwarePicker&) = delete;
72 };
73 
74 VTK_ABI_NAMESPACE_END
75 #endif
vtkSmartPointer< vtkSelection > Selection
pick an actor/prop using graphics hardware
Definition: vtkPropPicker.h:34
abstract specification for renderers
Definition: vtkRenderer.h:61
data object that represents a "selection" in VTK.
Definition: vtkSelection.h:49
describes linear transformations via a 4x4 matrix
Definition: vtkTransform.h:49
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
static vtkPropPicker * New()
a simple class to control print indentation
Definition: vtkIndent.h:28
int PickProp(double selectionX, double selectionY, vtkRenderer *renderer)
Perform the pick and set the PickedProp ivar.
Pick an actor/prop given the stylus position and orientation.