Go to the documentation of this file.
41 #ifndef vtkCellPicker_h
42 #define vtkCellPicker_h
44 #include "vtkRenderingCoreModule.h"
76 int Pick(
double selectionX,
double selectionY,
double selectionZ,
107 void RemoveAllLocators();
118 vtkSetMacro(VolumeOpacityIsovalue,
double);
119 vtkGetMacro(VolumeOpacityIsovalue,
double);
129 vtkSetMacro(UseVolumeGradientOpacity,
vtkTypeBool);
130 vtkBooleanMacro(UseVolumeGradientOpacity,
vtkTypeBool);
131 vtkGetMacro(UseVolumeGradientOpacity,
vtkTypeBool);
161 vtkGetMacro(ClippingPlaneId,
int);
170 vtkGetVectorMacro(PickNormal,
double, 3);
178 vtkGetVector3Macro(MapperNormal,
double);
186 vtkGetVector3Macro(PointIJK,
int);
195 vtkGetVector3Macro(CellIJK,
int);
218 vtkGetMacro(SubId,
int);
227 vtkGetVector3Macro(PCoords,
double);
258 virtual void ResetPickInfo();
264 virtual double IntersectActorWithLine(
const double p1[3],
const double p2[3],
265 double t1,
double t2,
double tol,
268 virtual bool IntersectDataSetWithLine(
vtkDataSet* dataSet,
269 const double p1[3],
const double p2[3],
270 double t1,
double t2,
double tol,
273 double &tMin,
double &pDistMin,
274 double xyz[3],
double minPCoords[3] );
276 virtual double IntersectVolumeWithLine(
const double p1[3],
278 double t1,
double t2,
282 virtual double IntersectImageWithLine(
const double p1[3],
284 double t1,
double t2,
288 virtual double IntersectProp3DWithLine(
const double p1[3],
290 double t1,
double t2,
double tol,
296 const double p1[3],
const double p2[3],
297 double &t1,
double &t2,
int& planeId);
299 static int ClipLineWithExtent(
const int extent[6],
300 const double x1[3],
const double x2[3],
301 double &t1,
double &t2,
int &planeId);
304 const double *weights,
double normal[3]);
307 const double *weights,
double tcoord[3]);
309 static int HasSubCells(
int cellType);
311 static int GetNumberOfSubCells(
vtkIdList *pointIds,
int cellType);
318 void SetImageDataPickInfo(
const double x[3],
const int extent[6]);
320 double ComputeVolumeOpacity(
const int xi[3],
const double pcoords[3],
340 double PickNormal[3];
341 double MapperNormal[3];
347 void ResetCellPickerInfo();
represents an 3D object for placement in a rendered scene
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.
vtkTexture * GetTexture()
Get the texture that was picked.
abstract superclass for arrays of numeric data
superclass for 3D geometric pickers (uses ray cast)
a list of nodes that form an assembly path
double VolumeOpacityIsovalue
handles properties associated with a texture map
create and manipulate ordered lists of objects
vtkTypeBool PickClippingPlanes
abstract class specifies interface to map data to graphics primitives
abstract class to specify cell behavior
virtual double IntersectWithLine(const double p1[3], const double p2[3], double tol, vtkAssemblyPath *path, vtkProp3D *p, vtkAbstractMapper3D *m)
topologically and geometrically regular array of data
a simple class to control print indentation
represent and manipulate 4x4 transformation matrices
list of point or cell ids
vtkTypeBool UseVolumeGradientOpacity
an abstract base class for locators which find cells
Defines a 1D piecewise function.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
abstract class to specify dataset behavior
vtkTypeBool PickTextureData
abstract class for mapping images to the screen
abstract class specifies interface to map 3D data
Abstract class for a volume mapper.
abstract specification for renderers
provides thread-safe access to cells
dynamic, self-adjusting array of double
maintain a list of planes
ray-cast cell picker for all kinds of Prop3Ds
void Initialize() override