VTK  9.4.20250511
vtkAbstractPropPicker.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
52#ifndef vtkAbstractPropPicker_h
53#define vtkAbstractPropPicker_h
54
55#include "vtkAbstractPicker.h"
56#include "vtkRenderingCoreModule.h" // For export macro
57#include "vtkWrappingHints.h" // For VTK_MARSHALAUTO
58
59VTK_ABI_NAMESPACE_BEGIN
60class vtkProp;
61class vtkPropAssembly;
62class vtkAssembly;
63class vtkActor;
64class vtkVolume;
65class vtkProp3D;
66class vtkAssemblyPath;
67class vtkActor2D;
68
69class VTKRENDERINGCORE_EXPORT VTK_MARSHALAUTO vtkAbstractPropPicker : public vtkAbstractPicker
70{
71public:
73 void PrintSelf(ostream& os, vtkIndent indent) override;
74
76
84 virtual void SetPath(vtkAssemblyPath*);
85 vtkGetObjectMacro(Path, vtkAssemblyPath);
87
88 // The following are convenience methods to maintain API with older
89 // versions of VTK, and to allow query for the return type of a pick. Note:
90 // the functionality of these methods can also be obtained by using the
91 // returned vtkAssemblyPath and using the IsA() to determine type.
92
97 virtual vtkProp* GetViewProp();
98
103
107 virtual vtkActor* GetActor();
108
114
119
127
136
137protected:
140
141 void Initialize() override;
142
143 vtkAssemblyPath* Path; // this is what is picked, and includes the prop
144private:
146 void operator=(const vtkAbstractPropPicker&) = delete;
147};
148
149VTK_ABI_NAMESPACE_END
150#endif
define API for picking subclasses
abstract API for pickers that can pick an instance of vtkProp
virtual void SetPath(vtkAssemblyPath *)
Return the vtkAssemblyPath that has been picked.
virtual vtkProp3D * GetProp3D()
Return the vtkProp that has been picked.
virtual vtkVolume * GetVolume()
Return the vtkVolume that has been picked.
void Initialize() override
virtual vtkAssembly * GetAssembly()
Return the vtkAssembly that has been picked.
virtual vtkPropAssembly * GetPropAssembly()
Return the vtkPropAssembly that has been picked.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
virtual vtkProp * GetViewProp()
Return the vtkProp that has been picked.
virtual vtkActor * GetActor()
Return the vtkActor that has been picked.
~vtkAbstractPropPicker() override
virtual vtkActor2D * GetActor2D()
Return the vtkActor2D that has been picked.
a actor that draws 2D data
Definition vtkActor2D.h:145
represents an object (geometry & properties) in a rendered scene
Definition vtkActor.h:151
a list of nodes that form an assembly path
create hierarchies of vtkProp3Ds (transformable props)
Definition vtkAssembly.h:91
a simple class to control print indentation
Definition vtkIndent.h:108
represents an 3D object for placement in a rendered scene
Definition vtkProp3D.h:89
create hierarchies of props
abstract superclass for all actors, volumes and annotations
Definition vtkProp.h:66
represents a volume (data & properties) in a rendered scene
Definition vtkVolume.h:130
#define VTK_MARSHALAUTO