64#ifndef vtkCellPicker_h
65#define vtkCellPicker_h
68#include "vtkRenderingCoreModule.h"
71VTK_ABI_NAMESPACE_BEGIN
104 int Pick(
double selectionX,
double selectionY,
double selectionZ,
vtkRenderer* renderer)
override;
134 void RemoveAllLocators();
145 vtkSetMacro(VolumeOpacityIsovalue,
double);
146 vtkGetMacro(VolumeOpacityIsovalue,
double);
188 vtkGetMacro(ClippingPlaneId,
int);
197 vtkGetVectorMacro(PickNormal,
double, 3);
205 vtkGetVector3Macro(MapperNormal,
double);
213 vtkGetVector3Macro(PointIJK,
int);
222 vtkGetVector3Macro(CellIJK,
int);
245 vtkGetMacro(SubId,
int);
254 vtkGetVector3Macro(PCoords,
double);
295 int& subId,
double& tMin,
double& pDistMin,
double xyz[3],
double minPCoords[3]);
316 const double p1[3],
const double p2[3],
double& t1,
double&
t2,
int& planeId);
319 double& t1,
double&
t2,
int& planeId);
357 double PickNormal[3];
358 double MapperNormal[3];
364 double WordlPoint[3];
367 void ResetCellPickerInfo();
an abstract base class for locators which find cells
Abstract class for a HyperTreeGrid mapper.
abstract class specifies interface to map 3D data
Abstract class for a volume mapper.
a list of nodes that form an assembly path
dynamic, self-adjusting array of bits
ray-cast cell picker for all kinds of Prop3Ds
static vtkCellPicker * New()
static int ComputeSurfaceNormal(vtkDataSet *data, vtkCell *cell, const double *weights, double normal[3])
virtual double IntersectHyperTreeGridWithLine(const double[3], const double[3], double, double, vtkAbstractHyperTreeGridMapper *)
Intersect a vtkAbstractHyperTreeGridMapper with a line by ray casting.
virtual double IntersectActorWithLine(const double p1[3], const double p2[3], double t1, double t2, double tol, vtkProp3D *prop, vtkMapper *mapper)
double IntersectWithLine(const double p1[3], const double p2[3], double tol, vtkAssemblyPath *path, vtkProp3D *p, vtkAbstractMapper3D *m) override
void Initialize() override
int Pick(double selectionX, double selectionY, double selectionZ, vtkRenderer *renderer) override
Perform pick operation with selection point provided.
virtual void ResetPickInfo()
static int ComputeSurfaceTCoord(vtkDataSet *data, vtkCell *cell, const double *weights, double tcoord[3])
vtkTypeBool PickClippingPlanes
static void SubCellFromCell(vtkGenericCell *cell, int subId)
vtkTypeBool UseVolumeGradientOpacity
void SetImageDataPickInfo(const double x[3], const int extent[6])
static int ClipLineWithPlanes(vtkAbstractMapper3D *mapper, vtkMatrix4x4 *propMatrix, const double p1[3], const double p2[3], double &t1, double &t2, int &planeId)
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
virtual bool RecursivelyProcessTree(vtkHyperTreeGridNonOrientedGeometryCursor *, int)
Intersect a vtkAbstractHyperTreeGridMapper with a line by ray casting.
static int ClipLineWithExtent(const int extent[6], const double x1[3], const double x2[3], double &t1, double &t2, int &planeId)
virtual double IntersectVolumeWithLine(const double p1[3], const double p2[3], double t1, double t2, vtkProp3D *prop, vtkAbstractVolumeMapper *mapper)
double VolumeOpacityIsovalue
virtual double IntersectImageWithLine(const double p1[3], const double p2[3], double t1, double t2, vtkProp3D *prop, vtkImageMapper3D *mapper)
virtual bool IntersectDataSetWithLine(vtkDataSet *dataSet, const double p1[3], const double p2[3], double t1, double t2, double tol, vtkAbstractCellLocator *&locator, vtkIdType &cellId, int &subId, double &tMin, double &pDistMin, double xyz[3], double minPCoords[3])
int Pick3DRay(double selectionPt[3], double orient[4], vtkRenderer *ren) override
Perform pick operation with selection point provided.
~vtkCellPicker() override
double ComputeVolumeOpacity(const int xi[3], const double pcoords[3], vtkImageData *data, vtkDataArray *scalars, vtkPiecewiseFunction *scalarOpacity, vtkPiecewiseFunction *gradientOpacity)
static void GetSubCell(vtkDataSet *data, vtkIdList *pointIds, int subId, int cellType, vtkGenericCell *cell)
virtual double IntersectProp3DWithLine(const double p1[3], const double p2[3], double t1, double t2, double tol, vtkProp3D *prop, vtkAbstractMapper3D *mapper)
vtkTypeBool PickTextureData
static int GetNumberOfSubCells(vtkIdList *pointIds, int cellType)
static vtkTypeBool HasSubCells(int cellType)
abstract class to specify cell behavior
create and manipulate ordered lists of objects
abstract superclass for arrays of numeric data
abstract class to specify dataset behavior
dynamic, self-adjusting array of double
provides thread-safe access to cells
Objects for traversal a HyperTreeGrid.
list of point or cell ids
topologically and geometrically regular array of data
abstract class for mapping images to the screen
a simple class to control print indentation
abstract class specifies interface to map data to graphics primitives
represent and manipulate 4x4 transformation matrices
superclass for 3D geometric pickers (uses ray cast)
Defines a 1D piecewise function.
maintain a list of planes
represents an 3D object for placement in a rendered scene
abstract specification for renderers
handles properties associated with a texture map
#define VTK_MARSHAL_EXCLUDE_REASON_NOT_SUPPORTED
#define VTK_MARSHALEXCLUDE(reason)