35 #ifndef vtkCellPicker_h
36 #define vtkCellPicker_h
39 #include "vtkRenderingCoreModule.h"
42 VTK_ABI_NAMESPACE_BEGIN
75 int Pick(
double selectionX,
double selectionY,
double selectionZ,
vtkRenderer* renderer)
override;
82 int Pick3DRay(VTK_FUTURE_CONST
double selectionPt[3], VTK_FUTURE_CONST
double orient[4],
106 void RemoveAllLocators();
117 vtkSetMacro(VolumeOpacityIsovalue,
double);
118 vtkGetMacro(VolumeOpacityIsovalue,
double);
128 vtkSetMacro(UseVolumeGradientOpacity,
vtkTypeBool);
129 vtkBooleanMacro(UseVolumeGradientOpacity, vtkTypeBool);
130 vtkGetMacro(UseVolumeGradientOpacity, vtkTypeBool);
146 vtkSetMacro(PickClippingPlanes, vtkTypeBool);
147 vtkBooleanMacro(PickClippingPlanes, vtkTypeBool);
148 vtkGetMacro(PickClippingPlanes, vtkTypeBool);
160 vtkGetMacro(ClippingPlaneId,
int);
169 vtkGetVectorMacro(PickNormal,
double, 3);
177 vtkGetVector3Macro(MapperNormal,
double);
185 vtkGetVector3Macro(PointIJK,
int);
194 vtkGetVector3Macro(CellIJK,
int);
209 vtkGetMacro(CellId, vtkIdType);
217 vtkGetMacro(SubId,
int);
226 vtkGetVector3Macro(PCoords,
double);
257 virtual void ResetPickInfo();
262 virtual double IntersectActorWithLine(
const double p1[3],
const double p2[3],
double t1,
265 virtual bool IntersectDataSetWithLine(
vtkDataSet* dataSet,
const double p1[3],
const double p2[3],
267 int& subId,
double& tMin,
double& pDistMin,
double xyz[3],
double minPCoords[3]);
273 virtual double IntersectHyperTreeGridWithLine(
278 virtual double IntersectVolumeWithLine(
const double p1[3],
const double p2[3],
double t1,
281 virtual double IntersectImageWithLine(
const double p1[3],
const double p2[3],
double t1,
284 virtual double IntersectProp3DWithLine(
const double p1[3],
const double p2[3],
double t1,
288 const double p1[3],
const double p2[3],
double& t1,
double&
t2,
int& planeId);
290 static int ClipLineWithExtent(
const int extent[6],
const double x1[3],
const double x2[3],
291 double& t1,
double&
t2,
int& planeId);
293 static int ComputeSurfaceNormal(
296 static int ComputeSurfaceTCoord(
303 static void GetSubCell(
308 void SetImageDataPickInfo(
const double x[3],
const int extent[6]);
310 double ComputeVolumeOpacity(
const int xi[3],
const double pcoords[3],
vtkImageData*
data,
329 double PickNormal[3];
330 double MapperNormal[3];
336 double WordlPoint[3];
339 void ResetCellPickerInfo();
349 VTK_ABI_NAMESPACE_END
represent and manipulate 4x4 transformation matrices
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
Defines a 1D piecewise function.
int Pick3DRay(VTK_FUTURE_CONST double selectionPt[3], VTK_FUTURE_CONST double orient[4], vtkRenderer *ren) override
Perform pick operation with selection point and orientation provided.
abstract class to specify dataset behavior
maintain a list of planes
an abstract base class for locators which find cells
Abstract class for a volume mapper.
abstract specification for renderers
virtual double IntersectWithLine(const double p1[3], const double p2[3], double tol, vtkAssemblyPath *path, vtkProp3D *p, vtkAbstractMapper3D *m)
double VolumeOpacityIsovalue
represents an 3D object for placement in a rendered scene
vtkTypeBool UseVolumeGradientOpacity
provides thread-safe access to cells
superclass for 3D geometric pickers (uses ray cast)
Objects for traversal a HyperTreeGrid.
dynamic, self-adjusting array of double
abstract class to specify cell behavior
a list of nodes that form an assembly path
a simple class to control print indentation
abstract class for mapping images to the screen
topologically and geometrically regular array of data
list of point or cell ids
vtkTypeBool PickClippingPlanes
abstract superclass for arrays of numeric data
const std::string pointIds
handles properties associated with a texture map
abstract class specifies interface to map 3D data
abstract class specifies interface to map data to graphics primitives
#define VTK_MARSHALEXCLUDE(reason)
void Initialize() override
dynamic, self-adjusting array of bits
create and manipulate ordered lists of objects
vtkTypeBool PickTextureData
ray-cast cell picker for all kinds of Prop3Ds
#define VTK_MARSHAL_EXCLUDE_REASON_NOT_SUPPORTED
int Pick(double selectionX, double selectionY, double selectionZ, vtkRenderer *renderer) override
Perform pick operation with selection point provided.
Abstract class for a HyperTreeGrid mapper.