27#ifndef vtkHardwarePicker_h
28#define vtkHardwarePicker_h
32#include "vtkRenderingCoreModule.h"
37VTK_ABI_NAMESPACE_BEGIN
57 vtkSetMacro(SnapToMeshPoint,
bool);
58 vtkGetMacro(SnapToMeshPoint,
bool);
59 vtkBooleanMacro(SnapToMeshPoint,
bool);
67 vtkSetMacro(PixelTolerance,
int);
68 vtkGetMacro(PixelTolerance,
int);
160 vtkGetMacro(SubId,
int);
213 vtkGetVector3Macro(PCoords,
double);
230 vtkGetVectorMacro(PickNormal,
double, 3);
239 vtkGetMacro(NormalFlipped,
bool);
250 int Pick(
double selectionX,
double selectionY,
double selectionZ,
vtkRenderer* renderer)
override;
287 double NearRayPoint[3];
288 double FarRayPoint[3];
306 double PickNormal[3];
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
general representation of visualization data
abstract class to specify dataset behavior
pick a point or snap to point of an actor/prop using graphics hardware
void Initialize() override
static vtkHardwarePicker * New()
vtkIdType CellGridTupleId
vtkIdType CellGridCellTypeId
~vtkHardwarePicker() override
vtkAbstractMapper3D * Mapper
vtkIdType CellGridSourceSpecId
vtkDataObject * DataObject
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.
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
Allocate and hold a VTK object.
abstract superclass for all actors, volumes and annotations
abstract specification for renderers
data object that represents a "selection" in VTK.
Hold a reference to a vtkObjectBase instance.