27 #ifndef vtkHardwarePicker_h
28 #define vtkHardwarePicker_h
32 #include "vtkRenderingCoreModule.h"
35 VTK_ABI_NAMESPACE_BEGIN
54 vtkSetMacro(SnapToMeshPoint,
bool);
55 vtkGetMacro(SnapToMeshPoint,
bool);
56 vtkBooleanMacro(SnapToMeshPoint,
bool);
64 vtkSetMacro(PixelTolerance,
int);
65 vtkGetMacro(PixelTolerance,
int);
147 vtkGetMacro(SubId,
int);
163 vtkGetVector3Macro(PCoords,
double);
180 vtkGetVectorMacro(PickNormal,
double, 3);
189 vtkGetMacro(NormalFlipped,
bool);
200 int Pick(
double selectionX,
double selectionY,
double selectionZ,
vtkRenderer* renderer)
override;
237 double NearRayPoint[3];
238 double FarRayPoint[3];
249 double PickNormal[3];
257 VTK_ABI_NAMESPACE_END
abstract class specifies interface to map 3D data
abstract API for pickers that can pick an instance of vtkProp
abstract class to specify cell behavior
abstract superclass for composite (multi-block or AMR) datasets
abstract class to specify dataset behavior
pick a point or snap to point of an actor/prop using graphics hardware
void Initialize() override
~vtkHardwarePicker() override
vtkAbstractMapper3D * Mapper
void ComputeIntersectionFromDataSet(vtkDataSet *ds)
Compute the intersection using provided dataset.
int Pick(double selectionX, double selectionY, double selectionZ, vtkRenderer *renderer) override
Perform the pick operation set the PickedProp.
static vtkHardwarePicker * New()
void FixNormalSign()
Fix normal sign in case the orientation of the picked cell is wrong.
vtkNew< vtkPropCollection > PickableProps
int TypeDecipher(vtkProp *, vtkAbstractMapper3D **)
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkCompositeDataSet * CompositeDataSet
vtkSmartPointer< vtkSelection > HardwareSelection
int ComputeSurfaceNormal(vtkDataSet *data, vtkCell *cell, double *weights)
Compute the intersection normal either by interpolating the point normals at the intersected point,...
a simple class to control print indentation
abstract superclass for all actors, volumes and annotations
abstract specification for renderers
data object that represents a "selection" in VTK.
std::map< std::string, DataArray > DataSet
key: variable name, value: DataArray