35 #ifndef vtkCellPicker_h
36 #define vtkCellPicker_h
39 #include "vtkRenderingCoreModule.h"
41 VTK_ABI_NAMESPACE_BEGIN
74 int Pick(
double selectionX,
double selectionY,
double selectionZ,
vtkRenderer* renderer)
override;
102 void RemoveAllLocators();
113 vtkSetMacro(VolumeOpacityIsovalue,
double);
114 vtkGetMacro(VolumeOpacityIsovalue,
double);
124 vtkSetMacro(UseVolumeGradientOpacity,
vtkTypeBool);
125 vtkBooleanMacro(UseVolumeGradientOpacity,
vtkTypeBool);
126 vtkGetMacro(UseVolumeGradientOpacity,
vtkTypeBool);
156 vtkGetMacro(ClippingPlaneId,
int);
165 vtkGetVectorMacro(PickNormal,
double, 3);
173 vtkGetVector3Macro(MapperNormal,
double);
181 vtkGetVector3Macro(PointIJK,
int);
190 vtkGetVector3Macro(CellIJK,
int);
213 vtkGetMacro(SubId,
int);
222 vtkGetVector3Macro(PCoords,
double);
253 virtual void ResetPickInfo();
258 virtual double IntersectActorWithLine(
const double p1[3],
const double p2[3],
double t1,
261 virtual bool IntersectDataSetWithLine(
vtkDataSet* dataSet,
const double p1[3],
const double p2[3],
263 int& subId,
double& tMin,
double& pDistMin,
double xyz[3],
double minPCoords[3]);
269 virtual double IntersectHyperTreeGridWithLine(
274 virtual double IntersectVolumeWithLine(
const double p1[3],
const double p2[3],
double t1,
277 virtual double IntersectImageWithLine(
const double p1[3],
const double p2[3],
double t1,
280 virtual double IntersectProp3DWithLine(
const double p1[3],
const double p2[3],
double t1,
284 const double p1[3],
const double p2[3],
double& t1,
double& t2,
int& planeId);
286 static int ClipLineWithExtent(
const int extent[6],
const double x1[3],
const double x2[3],
287 double& t1,
double& t2,
int& planeId);
289 static int ComputeSurfaceNormal(
292 static int ComputeSurfaceTCoord(
297 static int GetNumberOfSubCells(
vtkIdList* pointIds,
int cellType);
299 static void GetSubCell(
304 void SetImageDataPickInfo(
const double x[3],
const int extent[6]);
306 double ComputeVolumeOpacity(
const int xi[3],
const double pcoords[3],
vtkImageData*
data,
325 double PickNormal[3];
326 double MapperNormal[3];
332 double WordlPoint[3];
335 void ResetCellPickerInfo();
345 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.
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.
vtkTexture * GetTexture()
Get the texture that was picked.
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
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
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
int Pick(double selectionX, double selectionY, double selectionZ, vtkRenderer *renderer) override
Perform pick operation with selection point provided.
int Pick3DRay(double selectionPt[3], double orient[4], vtkRenderer *ren) override
Perform pick operation with selection point and orientation provided.
Abstract class for a HyperTreeGrid mapper.