VTK: vtkCellPicker Class Reference

| VTK 9.3.1

Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Static Protected Member Functions | Protected Attributes | List of all members
vtkCellPicker Class Reference

ray-cast cell picker for all kinds of Prop3Ds More...

`#include <vtkCellPicker.h>`

Inheritance diagram for vtkCellPicker:
[legend]
Collaboration diagram for vtkCellPicker:
[legend]

## Public Types
typedef vtkPicker | Superclass
Public Types inherited from vtkPicker
typedef vtkAbstractPropPicker | Superclass
Public Types inherited from vtkAbstractPropPicker
typedef vtkAbstractPicker | Superclass
Public Types inherited from vtkAbstractPicker
typedef vtkObject | Superclass

## Public Member Functions
virtual vtkTypeBool | IsA (const char *type)
| Return 1 if this class is the same type of (or a subclass of) the named class. More...
vtkCellPicker * | NewInstance () const
void | PrintSelf (ostream &os, vtkIndent indent) override
| Methods invoked by print to print information about the object including superclasses. More...
int | Pick (double selectionX, double selectionY, double selectionZ, vtkRenderer *renderer) override
| Perform pick operation with selection point provided. More...
int | Pick3DRay (double selectionPt[3], double orient[4], vtkRenderer *ren) override
| Perform pick operation with selection point provided. More...
void | AddLocator (vtkAbstractCellLocator *locator)
| Add a locator for one of the data sets that will be included in the scene. More...
void | RemoveLocator (vtkAbstractCellLocator *locator)
| Remove a locator that was previously added. More...
void | RemoveAllLocators ()
| Remove all locators associated with this picker. More...
vtkTexture * | GetTexture ()
| Get the texture that was picked. More...
virtual void | SetVolumeOpacityIsovalue (double)
| Set the opacity isovalue to use for defining volume surfaces. More...
virtual double | GetVolumeOpacityIsovalue ()
| Set the opacity isovalue to use for defining volume surfaces. More...
virtual void | SetUseVolumeGradientOpacity (vtkTypeBool)
| Use the product of the scalar and gradient opacity functions when computing the opacity isovalue, instead of just using the scalar opacity. More...
virtual void | UseVolumeGradientOpacityOn ()
| Use the product of the scalar and gradient opacity functions when computing the opacity isovalue, instead of just using the scalar opacity. More...
virtual void | UseVolumeGradientOpacityOff ()
| Use the product of the scalar and gradient opacity functions when computing the opacity isovalue, instead of just using the scalar opacity. More...
virtual vtkTypeBool | GetUseVolumeGradientOpacity ()
| Use the product of the scalar and gradient opacity functions when computing the opacity isovalue, instead of just using the scalar opacity. More...
virtual void | SetPickClippingPlanes (vtkTypeBool)
| The PickClippingPlanes setting controls how clipping planes are handled by the pick. More...
virtual void | PickClippingPlanesOn ()
| The PickClippingPlanes setting controls how clipping planes are handled by the pick. More...
virtual void | PickClippingPlanesOff ()
| The PickClippingPlanes setting controls how clipping planes are handled by the pick. More...
virtual vtkTypeBool | GetPickClippingPlanes ()
| The PickClippingPlanes setting controls how clipping planes are handled by the pick. More...
virtual int | GetClippingPlaneId ()
| Get the index of the clipping plane that was intersected during the pick. More...
virtual double * | GetPickNormal ()
| Return the normal of the picked surface at the PickPosition. More...
virtual void | GetPickNormal (double data[3])
| Return the normal of the picked surface at the PickPosition. More...
virtual double * | GetMapperNormal ()
| Return the normal of the surface at the PickPosition in mapper coordinates. More...
virtual void | GetMapperNormal (double &, double &, double &)
| Return the normal of the surface at the PickPosition in mapper coordinates. More...
virtual void | GetMapperNormal (double[3])
| Return the normal of the surface at the PickPosition in mapper coordinates. More...
virtual int * | GetPointIJK ()
| Get the structured coordinates of the point at the PickPosition. More...
virtual void | GetPointIJK (int &, int &, int &)
| Get the structured coordinates of the point at the PickPosition. More...
virtual void | GetPointIJK (int[3])
| Get the structured coordinates of the point at the PickPosition. More...
virtual int * | GetCellIJK ()
| Get the structured coordinates of the cell at the PickPosition. More...
virtual void | GetCellIJK (int &, int &, int &)
| Get the structured coordinates of the cell at the PickPosition. More...
virtual void | GetCellIJK (int[3])
| Get the structured coordinates of the cell at the PickPosition. More...
virtual vtkIdType | GetPointId ()
| Get the id of the picked point. More...
virtual vtkIdType | GetCellId ()
| Get the id of the picked cell. More...
virtual int | GetSubId ()
| Get the subId of the picked cell. More...
virtual double * | GetPCoords ()
| Get the parametric coordinates of the picked cell. More...
virtual void | GetPCoords (double &, double &, double &)
| Get the parametric coordinates of the picked cell. More...
virtual void | GetPCoords (double[3])
| Get the parametric coordinates of the picked cell. More...
virtual void | SetPickTextureData (vtkTypeBool)
| If this is "On" and if the picked prop has a texture, then the data returned by GetDataSet() will be the texture's data instead of the mapper's data. More...
virtual void | PickTextureDataOn ()
| If this is "On" and if the picked prop has a texture, then the data returned by GetDataSet() will be the texture's data instead of the mapper's data. More...
virtual void | PickTextureDataOff ()
| If this is "On" and if the picked prop has a texture, then the data returned by GetDataSet() will be the texture's data instead of the mapper's data. More...
virtual vtkTypeBool | GetPickTextureData ()
| If this is "On" and if the picked prop has a texture, then the data returned by GetDataSet() will be the texture's data instead of the mapper's data. More...
Public Member Functions inherited from vtkPicker
vtkPicker * | NewInstance () const
void | PrintSelf (ostream &os, vtkIndent indent) override
| Methods invoked by print to print information about the object including superclasses. More...
vtkProp3DCollection * | GetProp3Ds ()
| Return a collection of all the prop 3D's that were intersected by the pick ray. More...
vtkActorCollection * | GetActors ()
| Return a collection of all the actors that were intersected. More...
vtkPoints * | GetPickedPositions ()
| Return a list of the points the actors returned by GetProp3Ds were intersected at. More...
int | Pick (double selectionX, double selectionY, double selectionZ, vtkRenderer *renderer) override
| Perform pick operation with selection point provided. More...
int | Pick (double selectionPt[3], vtkRenderer *ren)
| Perform pick operation with selection point provided. More...
int | Pick3DPoint (double selectionPt[3], vtkRenderer *ren) override
| Perform pick operation with selection point provided. More...
virtual int | Pick3DPoint (double p1World[3], double p2World[3], vtkRenderer *ren)
int | Pick3DRay (double selectionPt[3], double orient[4], vtkRenderer *ren) override
| Perform pick operation with selection point and orientation provided. More...
virtual void | SetTolerance (double)
| Specify tolerance for performing pick operation. More...
virtual double | GetTolerance ()
| Specify tolerance for performing pick operation. More...
virtual double * | GetMapperPosition ()
| Return position in mapper (i.e., non-transformed) coordinates of pick point. More...
virtual void | GetMapperPosition (double data[3])
| Return position in mapper (i.e., non-transformed) coordinates of pick point. More...
virtual vtkAbstractMapper3D * | GetMapper ()
| Return mapper that was picked (if any). More...
virtual vtkDataSet * | GetDataSet ()
| Get a pointer to the dataset that was picked (if any). More...
virtual vtkCompositeDataSet * | GetCompositeDataSet ()
| Get a pointer to the composite dataset that was picked (if any). More...
virtual vtkIdType | GetFlatBlockIndex ()
| Get the flat block index of the vtkDataSet in the composite dataset that was picked (if any). More...
Public Member Functions inherited from vtkAbstractPropPicker
vtkAbstractPropPicker * | NewInstance () const
virtual vtkProp * | GetViewProp ()
| Return the vtkProp that has been picked. More...
virtual vtkProp3D * | GetProp3D ()
| Return the vtkProp that has been picked. More...
virtual vtkActor * | GetActor ()
| Return the vtkActor that has been picked. More...
virtual vtkActor2D * | GetActor2D ()
| Return the vtkActor2D that has been picked. More...
virtual vtkVolume * | GetVolume ()
| Return the vtkVolume that has been picked. More...
virtual vtkAssembly * | GetAssembly ()
| Return the vtkAssembly that has been picked. More...
virtual vtkPropAssembly * | GetPropAssembly ()
| Return the vtkPropAssembly that has been picked. More...
virtual void | SetPath (vtkAssemblyPath *)
| Return the vtkAssemblyPath that has been picked. More...
virtual vtkAssemblyPath * | GetPath ()
| Return the vtkAssemblyPath that has been picked. More...
Public Member Functions inherited from vtkAbstractPicker
vtkAbstractPicker * | NewInstance () const
int | Pick (double selectionPt[3], vtkRenderer *ren)
| provided. More...
void | InitializePickList ()
| Initialize list of actors in pick list. More...
void | AddPickList (vtkProp *)
| Add an actor to the pick list. More...
void | DeletePickList (vtkProp *)
| Delete an actor from the pick list. More...
vtkPropCollection * | GetPickList ()
| Return the list of actors in the PickList. More...
virtual vtkRenderer * | GetRenderer ()
| Get the renderer in which pick event occurred. More...
virtual double * | GetSelectionPoint ()
| Get the selection point in screen (pixel) coordinates. More...
virtual void | GetSelectionPoint (double data[3])
| Get the selection point in screen (pixel) coordinates. More...
virtual double * | GetPickPosition ()
| Return position in global coordinates of pick point. More...
virtual void | GetPickPosition (double data[3])
| Return position in global coordinates of pick point. More...
virtual void | SetPickFromList (vtkTypeBool)
| Use these methods to control whether to limit the picking to this list (rather than renderer's actors). More...
virtual vtkTypeBool | GetPickFromList ()
| Use these methods to control whether to limit the picking to this list (rather than renderer's actors). More...
virtual void | PickFromListOn ()
| Use these methods to control whether to limit the picking to this list (rather than renderer's actors). More...
virtual void | PickFromListOff ()
| Use these methods to control whether to limit the picking to this list (rather than renderer's actors). More...
Public Member Functions inherited from vtkObject
| vtkBaseTypeMacro (vtkObject, vtkObjectBase)
virtual void | DebugOn ()
| Turn debugging output on. More...
virtual void | DebugOff ()
| Turn debugging output off. More...
bool | GetDebug ()
| Get the value of the debug flag. More...
void | SetDebug (bool debugFlag)
| Set the value of the debug flag. More...
virtual void | Modified ()
| Update the modification time for this object. More...
virtual vtkMTimeType | GetMTime ()
| Return this object's modified time. More...
void | RemoveObserver (unsigned long tag)
void | RemoveObservers (unsigned long event)
void | RemoveObservers (const char *event)
void | RemoveAllObservers ()
vtkTypeBool | HasObserver (unsigned long event)
vtkTypeBool | HasObserver (const char *event)
vtkTypeBool | InvokeEvent (unsigned long event)
vtkTypeBool | InvokeEvent (const char *event)
std::string | GetObjectDescription () const override
| The object description printed in messages and PrintSelf output. More...
unsigned long | AddObserver (unsigned long event, vtkCommand *, float priority=0.0f)
| Allow people to add/remove/invoke observers (callbacks) to any VTK object. More...
unsigned long | AddObserver (const char *event, vtkCommand *, float priority=0.0f)
| Allow people to add/remove/invoke observers (callbacks) to any VTK object. More...
vtkCommand * | GetCommand (unsigned long tag)
| Allow people to add/remove/invoke observers (callbacks) to any VTK object. More...
void | RemoveObserver (vtkCommand *)
| Allow people to add/remove/invoke observers (callbacks) to any VTK object. More...
void | RemoveObservers (unsigned long event, vtkCommand *)
| Allow people to add/remove/invoke observers (callbacks) to any VTK object. More...
void | RemoveObservers (const char *event, vtkCommand *)
| Allow people to add/remove/invoke observers (callbacks) to any VTK object. More...
vtkTypeBool | HasObserver (unsigned long event, vtkCommand *)
| Allow people to add/remove/invoke observers (callbacks) to any VTK object. More...
vtkTypeBool | HasObserver (const char *event, vtkCommand *)
| Allow people to add/remove/invoke observers (callbacks) to any VTK object. More...
template<class U , class T >
unsigned long | AddObserver (unsigned long event, U observer, void(T::*callback)(), float priority=0.0f)
| Overloads to AddObserver that allow developers to add class member functions as callbacks for events. More...
template<class U , class T >
unsigned long | AddObserver (unsigned long event, U observer, void(T::*callback)(vtkObject *, unsigned long, void *), float priority=0.0f)
| Overloads to AddObserver that allow developers to add class member functions as callbacks for events. More...
template<class U , class T >
unsigned long | AddObserver (unsigned long event, U observer, bool(T::*callback)(vtkObject *, unsigned long, void *), float priority=0.0f)
| Allow user to set the AbortFlagOn() with the return value of the callback method. More...
vtkTypeBool | InvokeEvent (unsigned long event, void *callData)
| This method invokes an event and return whether the event was aborted or not. More...
vtkTypeBool | InvokeEvent (const char *event, void *callData)
| This method invokes an event and return whether the event was aborted or not. More...
virtual void | SetObjectName (const std::string &objectName)
| Set/get the name of this object for reporting purposes. More...
virtual std::string | GetObjectName () const
| Set/get the name of this object for reporting purposes. More...
Public Member Functions inherited from vtkObjectBase
const char * | GetClassName () const
| Return the class name as a string. More...
virtual vtkIdType | GetNumberOfGenerationsFromBase (const char *name)
| Given the name of a base class of this class type, return the distance of inheritance between this class type and the named class (how many generations of inheritance are there between this class and the named class). More...
virtual void | Delete ()
| Delete a VTK object. More...
virtual void | FastDelete ()
| Delete a reference to this object. More...
void | InitializeObjectBase ()
void | Print (ostream &os)
| Print an object to an ostream. More...
virtual void | Register (vtkObjectBase *o)
| Increase the reference count (mark as used by another object). More...
virtual void | UnRegister (vtkObjectBase *o)
| Decrease the reference count (release by another object). More...
int | GetReferenceCount ()
| Return the current reference count of this object. More...
void | SetReferenceCount (int)
| Sets the reference count. More...
bool | GetIsInMemkind () const
| A local state flag that remembers whether this object lives in the normal or extended memory space. More...
virtual void | PrintHeader (ostream &os, vtkIndent indent)
| Methods invoked by print to print information about the object including superclasses. More...
virtual void | PrintTrailer (ostream &os, vtkIndent indent)
| Methods invoked by print to print information about the object including superclasses. More...
virtual bool | UsesGarbageCollector () const
| Indicate whether the class uses `vtkGarbageCollector` or not. More...

## Static Public Member Functions
static vtkCellPicker * | New ()
static vtkTypeBool | IsTypeOf (const char *type)
static vtkCellPicker * | SafeDownCast (vtkObjectBase *o)
Static Public Member Functions inherited from vtkPicker
static vtkPicker * | New ()
static vtkTypeBool | IsTypeOf (const char *type)
static vtkPicker * | SafeDownCast (vtkObjectBase *o)
Static Public Member Functions inherited from vtkAbstractPropPicker
static vtkTypeBool | IsTypeOf (const char *type)
static vtkAbstractPropPicker * | SafeDownCast (vtkObjectBase *o)
Static Public Member Functions inherited from vtkAbstractPicker
static vtkTypeBool | IsTypeOf (const char *type)
static vtkAbstractPicker * | SafeDownCast (vtkObjectBase *o)
Static Public Member Functions inherited from vtkObject
static vtkObject * | New ()
| Create an object with Debug turned off, modified time initialized to zero, and reference counting on. More...
static void | BreakOnError ()
| This method is called when vtkErrorMacro executes. More...
static void | SetGlobalWarningDisplay (vtkTypeBool val)
| This is a global flag that controls whether any debug, warning or error messages are displayed. More...
static void | GlobalWarningDisplayOn ()
| This is a global flag that controls whether any debug, warning or error messages are displayed. More...
static void | GlobalWarningDisplayOff ()
| This is a global flag that controls whether any debug, warning or error messages are displayed. More...
static vtkTypeBool | GetGlobalWarningDisplay ()
| This is a global flag that controls whether any debug, warning or error messages are displayed. More...
Static Public Member Functions inherited from vtkObjectBase
static vtkTypeBool | IsTypeOf (const char *name)
| Return 1 if this class type is the same type of (or a subclass of) the named class. More...
static vtkIdType | GetNumberOfGenerationsFromBaseType (const char *name)
| Given a the name of a base class of this class type, return the distance of inheritance between this class type and the named class (how many generations of inheritance are there between this class and the named class). More...
static vtkObjectBase * | New ()
| Create an object with Debug turned off, modified time initialized to zero, and reference counting on. More...
static void | SetMemkindDirectory (const char *directoryname)
| The name of a directory, ideally mounted -o dax, to memory map an extended memory space within. More...
static bool | GetUsingMemkind ()
| A global state flag that controls whether vtkObjects are constructed in the usual way (the default) or within the extended memory space. More...

## Protected Member Functions
virtual vtkObjectBase * | NewInstanceInternal () const
| vtkCellPicker ()
| ~vtkCellPicker () override
void | Initialize () override
virtual void | ResetPickInfo ()
double | IntersectWithLine (const double p1[3], const double p2[3], double tol, vtkAssemblyPath *path, vtkProp3D *p, vtkAbstractMapper3D *m) override
virtual double | IntersectActorWithLine (const double p1[3], const double p2[3], double t1, double t2, double tol, vtkProp3D *prop, vtkMapper *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])
virtual double | IntersectVolumeWithLine (const double p1[3], const double p2[3], double t1, double t2, vtkProp3D *prop, vtkAbstractVolumeMapper *mapper)
virtual double | IntersectImageWithLine (const double p1[3], const double p2[3], double t1, double t2, vtkProp3D *prop, vtkImageMapper3D *mapper)
virtual double | IntersectProp3DWithLine (const double p1[3], const double p2[3], double t1, double t2, double tol, vtkProp3D *prop, vtkAbstractMapper3D *mapper)
void | SetImageDataPickInfo (const double x[3], const int extent[6])
double | ComputeVolumeOpacity (const int xi[3], const double pcoords[3], vtkImageData *data, vtkDataArray *scalars, vtkPiecewiseFunction *scalarOpacity, vtkPiecewiseFunction *gradientOpacity)
virtual double | IntersectHyperTreeGridWithLine (const double[3], const double[3], double, double, vtkAbstractHyperTreeGridMapper *)
| Intersect a vtkAbstractHyperTreeGridMapper with a line by ray casting. More...
virtual bool | RecursivelyProcessTree (vtkHyperTreeGridNonOrientedGeometryCursor *, int)
| Intersect a vtkAbstractHyperTreeGridMapper with a line by ray casting. More...
Protected Member Functions inherited from vtkPicker
| vtkPicker ()
| ~vtkPicker () override
virtual int | Pick3DInternal (vtkRenderer *ren, double p1World[4], double p2World[4])
void | MarkPicked (vtkAssemblyPath *path, vtkProp3D *p, vtkAbstractMapper3D *m, double tMin, double mapperPos[3])
void | MarkPickedData (vtkAssemblyPath *path, double tMin, double mapperPos[3], vtkAbstractMapper3D *mapper, vtkDataSet *input, vtkIdType flatBlockIndex=-1)
void | Initialize () override
Protected Member Functions inherited from vtkAbstractPropPicker
| vtkAbstractPropPicker ()
| ~vtkAbstractPropPicker () override
Protected Member Functions inherited from vtkAbstractPicker
| vtkAbstractPicker ()
| ~vtkAbstractPicker () override
Protected Member Functions inherited from vtkObject
| vtkObject ()
| ~vtkObject () override
void | RegisterInternal (vtkObjectBase *, vtkTypeBool check) override
void | UnRegisterInternal (vtkObjectBase *, vtkTypeBool check) override
void | InternalGrabFocus (vtkCommand *mouseEvents, vtkCommand *keypressEvents=nullptr)
| These methods allow a command to exclusively grab all events. More...
void | InternalReleaseFocus ()
| These methods allow a command to exclusively grab all events. More...
Protected Member Functions inherited from vtkObjectBase
| vtkObjectBase ()
virtual | ~vtkObjectBase ()
virtual void | ReportReferences (vtkGarbageCollector *)
| vtkObjectBase (const vtkObjectBase &)
void | operator= (const vtkObjectBase &)

## Static Protected Member Functions
static int | ClipLineWithPlanes (vtkAbstractMapper3D *mapper, vtkMatrix4x4 *propMatrix, const double p1[3], const double p2[3], double &t1, double &t2, int &planeId)
static int | ClipLineWithExtent (const int extent[6], const double x1[3], const double x2[3], double &t1, double &t2, int &planeId)
static int | ComputeSurfaceNormal (vtkDataSet *data, vtkCell *cell, const double *weights, double normal[3])
static int | ComputeSurfaceTCoord (vtkDataSet *data, vtkCell *cell, const double *weights, double tcoord[3])
static vtkTypeBool | HasSubCells (int cellType)
static int | GetNumberOfSubCells (vtkIdList *pointIds, int cellType)
static void | GetSubCell (vtkDataSet *data, vtkIdList *pointIds, int subId, int cellType, vtkGenericCell *cell)
static void | SubCellFromCell (vtkGenericCell *cell, int subId)
Static Protected Member Functions inherited from vtkPicker
static bool | CalculateRay (const double p1[3], const double p2[3], double ray[3], double &rayFactor)
Static Protected Member Functions inherited from vtkObjectBase
static vtkMallocingFunction | GetCurrentMallocFunction ()
static vtkReallocingFunction | GetCurrentReallocFunction ()
static vtkFreeingFunction | GetCurrentFreeFunction ()
static vtkFreeingFunction | GetAlternateFreeFunction ()

## Protected Attributes
vtkCollection * | Locators
double | VolumeOpacityIsovalue
vtkTypeBool | UseVolumeGradientOpacity
vtkTypeBool | PickClippingPlanes
int | ClippingPlaneId
vtkIdType | PointId
vtkIdType | CellId
int | SubId
double | PCoords [3]
int | PointIJK [3]
int | CellIJK [3]
double | PickNormal [3]
double | MapperNormal [3]
vtkTexture * | Texture
vtkTypeBool | PickTextureData
vtkBitArray * | InMask
double | WordlPoint [3]
Protected Attributes inherited from vtkPicker
double | Tolerance
double | MapperPosition [3]
vtkAbstractMapper3D * | Mapper
vtkDataSet * | DataSet
vtkCompositeDataSet * | CompositeDataSet
vtkIdType | FlatBlockIndex
double | GlobalTMin
vtkTransform * | Transform
vtkActorCollection * | Actors
vtkProp3DCollection * | Prop3Ds
vtkPoints * | PickedPositions
Protected Attributes inherited from vtkAbstractPropPicker
vtkAssemblyPath * | Path
Protected Attributes inherited from vtkAbstractPicker
vtkRenderer * | Renderer
double | SelectionPoint [3]
double | PickPosition [3]
vtkTypeBool | PickFromList
vtkPropCollection * | PickList
Protected Attributes inherited from vtkObject
bool | Debug
vtkTimeStamp | MTime
vtkSubjectHelper * | SubjectHelper
std::string | ObjectName
Protected Attributes inherited from vtkObjectBase
std::atomic< int32_t > | ReferenceCount
vtkWeakPointerBase ** | WeakPointers

## Detailed Description

ray-cast cell picker for all kinds of Prop3Ds

vtkCellPicker will shoot a ray into a 3D scene and return information about the first object that the ray hits. It works for all Prop3Ds. For vtkVolume objects, it shoots a ray into the volume and returns the point where the ray intersects an isosurface of a chosen opacity. For vtkImage objects, it intersects the ray with the displayed slice. For vtkActor objects, it intersects the actor's polygons. If the object's mapper has ClippingPlanes, then it takes the clipping into account, and will return the Id of the clipping plane that was intersected. For all prop types, it returns point and cell information, plus the normal of the surface that was intersected at the pick position. For volumes and images, it also returns (i,j,k) coordinates for the point and the cell that were picked.

See also
  vtkPicker vtkPointPicker vtkVolumePicker

Thanks:
  This class was contributed to VTK by David Gobbi on behalf of Atamai Inc., as an enhancement to the original vtkCellPicker.

Examples:
  vtkCellPicker (Examples)

Online Examples:

Tests:
  vtkCellPicker (Tests)

Definition at line 70 of file vtkCellPicker.h.

## Member Typedef Documentation

## ◆ Superclass

typedef vtkPicker vtkCellPicker::Superclass

Definition at line 74 of file vtkCellPicker.h.

## Constructor & Destructor Documentation

## ◆ vtkCellPicker()

vtkCellPicker::vtkCellPicker | ( |  | ) |
| protected

## ◆ ~vtkCellPicker()

vtkCellPicker::~vtkCellPicker | ( |  | ) |
| overrideprotected

## Member Function Documentation

## ◆ New()

static vtkCellPicker* vtkCellPicker::New | ( |  | ) |
| static

## ◆ IsTypeOf()

static vtkTypeBool vtkCellPicker::IsTypeOf | ( | const char * | type | ) |
| static

## ◆ IsA()

virtual vtkTypeBool vtkCellPicker::IsA | ( | const char * | name | ) |
| virtual

Return 1 if this class is the same type of (or a subclass of) the named class.

Returns 0 otherwise. This method works in combination with vtkTypeMacro found in vtkSetGet.h.

Reimplemented from vtkPicker.

Reimplemented in vtkVolumePicker.

## ◆ SafeDownCast()

static vtkCellPicker* vtkCellPicker::SafeDownCast | ( | vtkObjectBase * | o | ) |
| static

## ◆ NewInstanceInternal()

virtual vtkObjectBase* vtkCellPicker::NewInstanceInternal | ( |  | ) | const
| protectedvirtual

Reimplemented from vtkPicker.

Reimplemented in vtkVolumePicker.

## ◆ NewInstance()

vtkCellPicker* vtkCellPicker::NewInstance | ( |  | ) | const

## ◆ PrintSelf()

void vtkCellPicker::PrintSelf | ( | ostream & | os,
|  | vtkIndent | indent
| ) |  |
| overridevirtual

Methods invoked by print to print information about the object including superclasses.

Typically not called by the user (use Print() instead) but used in the hierarchical print process to combine the output of several classes.

Reimplemented from vtkAbstractPropPicker.

Reimplemented in vtkVolumePicker.

## ◆ Pick()

int vtkCellPicker::Pick | ( | double | selectionX,
|  | double | selectionY,
|  | double | selectionZ,
|  | vtkRenderer * | renderer
| ) |  |
| overridevirtual

Perform pick operation with selection point provided.

Normally the first two values are the (x,y) pixel coordinates for the pick, and the third value is z=0. The return value will be non-zero if something was successfully picked.

Implements vtkAbstractPicker.

## ◆ Pick3DRay()

int vtkCellPicker::Pick3DRay | ( | double | selectionPt[3],
|  | double | orient[4],
|  | vtkRenderer * | ren
| ) |  |
| overridevirtual

Perform pick operation with selection point provided.

The selectionPt is in world coordinates. Return non-zero if something was successfully picked.

Reimplemented from vtkAbstractPicker.

## ◆ AddLocator()

void vtkCellPicker::AddLocator | ( | vtkAbstractCellLocator * | locator | ) |

Add a locator for one of the data sets that will be included in the scene.

You must set up the locator with exactly the same data set that was input to the mapper of one or more of the actors in the scene. Note that if you try to add the same locator to the picker twice, the second addition will be ignored.

## ◆ RemoveLocator()

void vtkCellPicker::RemoveLocator | ( | vtkAbstractCellLocator * | locator | ) |

Remove a locator that was previously added.

If you try to remove a nonexistent locator, then nothing will happen and no errors will be raised.

## ◆ RemoveAllLocators()

void vtkCellPicker::RemoveAllLocators | ( |  | ) |

Remove all locators associated with this picker.

## ◆ SetVolumeOpacityIsovalue()

virtual void vtkCellPicker::SetVolumeOpacityIsovalue | ( | double |  | ) |
| virtual

Set the opacity isovalue to use for defining volume surfaces.

The pick will occur at the location along the pick ray where the opacity of the volume is equal to this isovalue. If you want to do the pick based on an actual data isovalue rather than the opacity, then pass the data value through the scalar opacity function before using this method.

## ◆ GetVolumeOpacityIsovalue()

virtual double vtkCellPicker::GetVolumeOpacityIsovalue | ( |  | ) |
| virtual

Set the opacity isovalue to use for defining volume surfaces.

The pick will occur at the location along the pick ray where the opacity of the volume is equal to this isovalue. If you want to do the pick based on an actual data isovalue rather than the opacity, then pass the data value through the scalar opacity function before using this method.

## ◆ SetUseVolumeGradientOpacity()

virtual void vtkCellPicker::SetUseVolumeGradientOpacity | ( | vtkTypeBool |  | ) |
| virtual

Use the product of the scalar and gradient opacity functions when computing the opacity isovalue, instead of just using the scalar opacity.

This parameter is only relevant to volume picking and is off by default.

## ◆ UseVolumeGradientOpacityOn()

virtual void vtkCellPicker::UseVolumeGradientOpacityOn | ( |  | ) |
| virtual

Use the product of the scalar and gradient opacity functions when computing the opacity isovalue, instead of just using the scalar opacity.

This parameter is only relevant to volume picking and is off by default.

## ◆ UseVolumeGradientOpacityOff()

virtual void vtkCellPicker::UseVolumeGradientOpacityOff | ( |  | ) |
| virtual

Use the product of the scalar and gradient opacity functions when computing the opacity isovalue, instead of just using the scalar opacity.

This parameter is only relevant to volume picking and is off by default.

## ◆ GetUseVolumeGradientOpacity()

virtual vtkTypeBool vtkCellPicker::GetUseVolumeGradientOpacity | ( |  | ) |
| virtual

Use the product of the scalar and gradient opacity functions when computing the opacity isovalue, instead of just using the scalar opacity.

This parameter is only relevant to volume picking and is off by default.

## ◆ SetPickClippingPlanes()

virtual void vtkCellPicker::SetPickClippingPlanes | ( | vtkTypeBool |  | ) |
| virtual

The PickClippingPlanes setting controls how clipping planes are handled by the pick.

If it is On, then the clipping planes become pickable objects, even though they are usually invisible. This means that if the pick ray intersects a clipping plane before it hits anything else, the pick will stop at that clipping plane. The GetProp3D() and GetMapper() methods will return the Prop3D and Mapper that the clipping plane belongs to. The GetClippingPlaneId() method will return the index of the clipping plane so that you can retrieve it from the mapper, or -1 if no clipping plane was picked.

## ◆ PickClippingPlanesOn()

virtual void vtkCellPicker::PickClippingPlanesOn | ( |  | ) |
| virtual

The PickClippingPlanes setting controls how clipping planes are handled by the pick.

If it is On, then the clipping planes become pickable objects, even though they are usually invisible. This means that if the pick ray intersects a clipping plane before it hits anything else, the pick will stop at that clipping plane. The GetProp3D() and GetMapper() methods will return the Prop3D and Mapper that the clipping plane belongs to. The GetClippingPlaneId() method will return the index of the clipping plane so that you can retrieve it from the mapper, or -1 if no clipping plane was picked.

## ◆ PickClippingPlanesOff()

virtual void vtkCellPicker::PickClippingPlanesOff | ( |  | ) |
| virtual

The PickClippingPlanes setting controls how clipping planes are handled by the pick.

If it is On, then the clipping planes become pickable objects, even though they are usually invisible. This means that if the pick ray intersects a clipping plane before it hits anything else, the pick will stop at that clipping plane. The GetProp3D() and GetMapper() methods will return the Prop3D and Mapper that the clipping plane belongs to. The GetClippingPlaneId() method will return the index of the clipping plane so that you can retrieve it from the mapper, or -1 if no clipping plane was picked.

## ◆ GetPickClippingPlanes()

virtual vtkTypeBool vtkCellPicker::GetPickClippingPlanes | ( |  | ) |
| virtual

The PickClippingPlanes setting controls how clipping planes are handled by the pick.

If it is On, then the clipping planes become pickable objects, even though they are usually invisible. This means that if the pick ray intersects a clipping plane before it hits anything else, the pick will stop at that clipping plane. The GetProp3D() and GetMapper() methods will return the Prop3D and Mapper that the clipping plane belongs to. The GetClippingPlaneId() method will return the index of the clipping plane so that you can retrieve it from the mapper, or -1 if no clipping plane was picked.

## ◆ GetClippingPlaneId()

virtual int vtkCellPicker::GetClippingPlaneId | ( |  | ) |
| virtual

Get the index of the clipping plane that was intersected during the pick.

This will be set regardless of whether PickClippingPlanes is On, all that is required is that the pick intersected a clipping plane of the Prop3D that was picked. The result will be -1 if the Prop3D that was picked has no clipping planes, or if the ray didn't intersect the planes.

## ◆ GetPickNormal() [1/2]

virtual double* vtkCellPicker::GetPickNormal | ( |  | ) |
| virtual

Return the normal of the picked surface at the PickPosition.

If no surface was picked, then a vector pointing back at the camera is returned.

## ◆ GetPickNormal() [2/2]

virtual void vtkCellPicker::GetPickNormal | ( | double | data[3] | ) |
| virtual

Return the normal of the picked surface at the PickPosition.

If no surface was picked, then a vector pointing back at the camera is returned.

## ◆ GetMapperNormal() [1/3]

virtual double* vtkCellPicker::GetMapperNormal | ( |  | ) |
| virtual

Return the normal of the surface at the PickPosition in mapper coordinates.

The result is undefined if no prop was picked.

## ◆ GetMapperNormal() [2/3]

virtual void vtkCellPicker::GetMapperNormal | ( | double & | ,
|  | double & | ,
|  | double & |
| ) |  |
| virtual

Return the normal of the surface at the PickPosition in mapper coordinates.

The result is undefined if no prop was picked.

## ◆ GetMapperNormal() [3/3]

virtual void vtkCellPicker::GetMapperNormal | ( | double | [3] | ) |
| virtual

Return the normal of the surface at the PickPosition in mapper coordinates.

The result is undefined if no prop was picked.

## ◆ GetPointIJK() [1/3]

virtual int* vtkCellPicker::GetPointIJK | ( |  | ) |
| virtual

Get the structured coordinates of the point at the PickPosition.

Only valid for image actors and volumes with vtkImageData.

## ◆ GetPointIJK() [2/3]

virtual void vtkCellPicker::GetPointIJK | ( | int & | ,
|  | int & | ,
|  | int & |
| ) |  |
| virtual

Get the structured coordinates of the point at the PickPosition.

Only valid for image actors and volumes with vtkImageData.

## ◆ GetPointIJK() [3/3]

virtual void vtkCellPicker::GetPointIJK | ( | int | [3] | ) |
| virtual

Get the structured coordinates of the point at the PickPosition.

Only valid for image actors and volumes with vtkImageData.

## ◆ GetCellIJK() [1/3]

virtual int* vtkCellPicker::GetCellIJK | ( |  | ) |
| virtual

Get the structured coordinates of the cell at the PickPosition.

Only valid for image actors and volumes with vtkImageData. Combine this with the PCoords to get the position within the cell.

## ◆ GetCellIJK() [2/3]

virtual void vtkCellPicker::GetCellIJK | ( | int & | ,
|  | int & | ,
|  | int & |
| ) |  |
| virtual

Get the structured coordinates of the cell at the PickPosition.

Only valid for image actors and volumes with vtkImageData. Combine this with the PCoords to get the position within the cell.

## ◆ GetCellIJK() [3/3]

virtual void vtkCellPicker::GetCellIJK | ( | int | [3] | ) |
| virtual

Get the structured coordinates of the cell at the PickPosition.

Only valid for image actors and volumes with vtkImageData. Combine this with the PCoords to get the position within the cell.

## ◆ GetPointId()

virtual vtkIdType vtkCellPicker::GetPointId | ( |  | ) |
| virtual

Get the id of the picked point.

If PointId = -1, nothing was picked. This point will be a member of any cell that is picked.

## ◆ GetCellId()

virtual vtkIdType vtkCellPicker::GetCellId | ( |  | ) |
| virtual

Get the id of the picked cell.

If CellId = -1, nothing was picked.

## ◆ GetSubId()

virtual int vtkCellPicker::GetSubId | ( |  | ) |
| virtual

Get the subId of the picked cell.

This is useful, for example, if the data is made of triangle strips. If SubId = -1, nothing was picked.

## ◆ GetPCoords() [1/3]

virtual double* vtkCellPicker::GetPCoords | ( |  | ) |
| virtual

Get the parametric coordinates of the picked cell.

Only valid if a prop was picked. The PCoords can be used to compute the weights that are needed to interpolate data values within the cell.

## ◆ GetPCoords() [2/3]

virtual void vtkCellPicker::GetPCoords | ( | double & | ,
|  | double & | ,
|  | double & |
| ) |  |
| virtual

Get the parametric coordinates of the picked cell.

Only valid if a prop was picked. The PCoords can be used to compute the weights that are needed to interpolate data values within the cell.

## ◆ GetPCoords() [3/3]

virtual void vtkCellPicker::GetPCoords | ( | double | [3] | ) |
| virtual

Get the parametric coordinates of the picked cell.

Only valid if a prop was picked. The PCoords can be used to compute the weights that are needed to interpolate data values within the cell.

## ◆ GetTexture()

vtkTexture* vtkCellPicker::GetTexture | ( |  | ) |
| inline

Get the texture that was picked.

This will always be set if the picked prop has a texture, and will always be null otherwise.

Definition at line 238 of file vtkCellPicker.h.

## ◆ SetPickTextureData()

virtual void vtkCellPicker::SetPickTextureData | ( | vtkTypeBool |  | ) |
| virtual

If this is "On" and if the picked prop has a texture, then the data returned by GetDataSet() will be the texture's data instead of the mapper's data.

The GetPointId(), GetCellId(), GetPCoords() etc. will all return information for use with the texture's data. If the picked prop does not have any texture, then GetDataSet() will return the mapper's data instead and GetPointId() etc. will return information related to the mapper's data. The default value of PickTextureData is "Off".

## ◆ PickTextureDataOn()

virtual void vtkCellPicker::PickTextureDataOn | ( |  | ) |
| virtual

If this is "On" and if the picked prop has a texture, then the data returned by GetDataSet() will be the texture's data instead of the mapper's data.

The GetPointId(), GetCellId(), GetPCoords() etc. will all return information for use with the texture's data. If the picked prop does not have any texture, then GetDataSet() will return the mapper's data instead and GetPointId() etc. will return information related to the mapper's data. The default value of PickTextureData is "Off".

## ◆ PickTextureDataOff()

virtual void vtkCellPicker::PickTextureDataOff | ( |  | ) |
| virtual

If this is "On" and if the picked prop has a texture, then the data returned by GetDataSet() will be the texture's data instead of the mapper's data.

The GetPointId(), GetCellId(), GetPCoords() etc. will all return information for use with the texture's data. If the picked prop does not have any texture, then GetDataSet() will return the mapper's data instead and GetPointId() etc. will return information related to the mapper's data. The default value of PickTextureData is "Off".

## ◆ GetPickTextureData()

virtual vtkTypeBool vtkCellPicker::GetPickTextureData | ( |  | ) |
| virtual

If this is "On" and if the picked prop has a texture, then the data returned by GetDataSet() will be the texture's data instead of the mapper's data.

The GetPointId(), GetCellId(), GetPCoords() etc. will all return information for use with the texture's data. If the picked prop does not have any texture, then GetDataSet() will return the mapper's data instead and GetPointId() etc. will return information related to the mapper's data. The default value of PickTextureData is "Off".

## ◆ Initialize()

void vtkCellPicker::Initialize | ( |  | ) |
| overrideprotectedvirtual

Reimplemented from vtkAbstractPropPicker.

## ◆ ResetPickInfo()

virtual void vtkCellPicker::ResetPickInfo | ( |  | ) |
| protectedvirtual

Reimplemented in vtkVolumePicker.

## ◆ IntersectWithLine()

double vtkCellPicker::IntersectWithLine | ( | const double | p1[3],
|  | const double | p2[3],
|  | double | tol,
|  | vtkAssemblyPath * | path,
|  | vtkProp3D * | p,
|  | vtkAbstractMapper3D * | m
| ) |  |
| overrideprotectedvirtual

Reimplemented from vtkPicker.

## ◆ IntersectActorWithLine()

virtual double vtkCellPicker::IntersectActorWithLine | ( | const double | p1[3],
|  | const double | p2[3],
|  | double | t1,
|  | double | t2,
|  | double | tol,
|  | vtkProp3D * | prop,
|  | vtkMapper * | mapper
| ) |  |
| protectedvirtual

## ◆ IntersectDataSetWithLine()

virtual bool vtkCellPicker::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]
| ) |  |
| protectedvirtual

## ◆ IntersectHyperTreeGridWithLine()

virtual double vtkCellPicker::IntersectHyperTreeGridWithLine | ( | const double | [3],
|  | const double | [3],
|  | double | ,
|  | double | ,
|  | vtkAbstractHyperTreeGridMapper * |
| ) |  |
| protectedvirtual

Intersect a vtkAbstractHyperTreeGridMapper with a line by ray casting.

## ◆ RecursivelyProcessTree()

virtual bool vtkCellPicker::RecursivelyProcessTree | ( | vtkHyperTreeGridNonOrientedGeometryCursor * | ,
|  | int |
| ) |  |
| protectedvirtual

Intersect a vtkAbstractHyperTreeGridMapper with a line by ray casting.

## ◆ IntersectVolumeWithLine()

virtual double vtkCellPicker::IntersectVolumeWithLine | ( | const double | p1[3],
|  | const double | p2[3],
|  | double | t1,
|  | double | t2,
|  | vtkProp3D * | prop,
|  | vtkAbstractVolumeMapper * | mapper
| ) |  |
| protectedvirtual

Reimplemented in vtkVolumePicker.

## ◆ IntersectImageWithLine()

virtual double vtkCellPicker::IntersectImageWithLine | ( | const double | p1[3],
|  | const double | p2[3],
|  | double | t1,
|  | double | t2,
|  | vtkProp3D * | prop,
|  | vtkImageMapper3D * | mapper
| ) |  |
| protectedvirtual

## ◆ IntersectProp3DWithLine()

virtual double vtkCellPicker::IntersectProp3DWithLine | ( | const double | p1[3],
|  | const double | p2[3],
|  | double | t1,
|  | double | t2,
|  | double | tol,
|  | vtkProp3D * | prop,
|  | vtkAbstractMapper3D * | mapper
| ) |  |
| protectedvirtual

## ◆ ClipLineWithPlanes()

static int vtkCellPicker::ClipLineWithPlanes | ( | vtkAbstractMapper3D * | mapper,
|  | vtkMatrix4x4 * | propMatrix,
|  | const double | p1[3],
|  | const double | p2[3],
|  | double & | t1,
|  | double & | t2,
|  | int & | planeId
| ) |  |
| staticprotected

## ◆ ClipLineWithExtent()

static int vtkCellPicker::ClipLineWithExtent | ( | const int | extent[6],
|  | const double | x1[3],
|  | const double | x2[3],
|  | double & | t1,
|  | double & | t2,
|  | int & | planeId
| ) |  |
| staticprotected

## ◆ ComputeSurfaceNormal()

static int vtkCellPicker::ComputeSurfaceNormal | ( | vtkDataSet * | data,
|  | vtkCell * | cell,
|  | const double * | weights,
|  | double | normal[3]
| ) |  |
| staticprotected

## ◆ ComputeSurfaceTCoord()

static int vtkCellPicker::ComputeSurfaceTCoord | ( | vtkDataSet * | data,
|  | vtkCell * | cell,
|  | const double * | weights,
|  | double | tcoord[3]
| ) |  |
| staticprotected

## ◆ HasSubCells()

static vtkTypeBool vtkCellPicker::HasSubCells | ( | int | cellType | ) |
| staticprotected

## ◆ GetNumberOfSubCells()

static int vtkCellPicker::GetNumberOfSubCells | ( | vtkIdList * | pointIds,
|  | int | cellType
| ) |  |
| staticprotected

## ◆ GetSubCell()

static void vtkCellPicker::GetSubCell | ( | vtkDataSet * | data,
|  | vtkIdList * | pointIds,
|  | int | subId,
|  | int | cellType,
|  | vtkGenericCell * | cell
| ) |  |
| staticprotected

## ◆ SubCellFromCell()

static void vtkCellPicker::SubCellFromCell | ( | vtkGenericCell * | cell,
|  | int | subId
| ) |  |
| staticprotected

## ◆ SetImageDataPickInfo()

void vtkCellPicker::SetImageDataPickInfo | ( | const double | x[3],
|  | const int | extent[6]
| ) |  |
| protected

## ◆ ComputeVolumeOpacity()

double vtkCellPicker::ComputeVolumeOpacity | ( | const int | xi[3],
|  | const double | pcoords[3],
|  | vtkImageData * | data,
|  | vtkDataArray * | scalars,
|  | vtkPiecewiseFunction * | scalarOpacity,
|  | vtkPiecewiseFunction * | gradientOpacity
| ) |  |
| protected

## Member Data Documentation

## ◆ Locators

vtkCollection* vtkCellPicker::Locators
| protected

Definition at line 319 of file vtkCellPicker.h.

## ◆ VolumeOpacityIsovalue

double vtkCellPicker::VolumeOpacityIsovalue
| protected

Definition at line 321 of file vtkCellPicker.h.

## ◆ UseVolumeGradientOpacity

vtkTypeBool vtkCellPicker::UseVolumeGradientOpacity
| protected

Definition at line 322 of file vtkCellPicker.h.

## ◆ PickClippingPlanes

vtkTypeBool vtkCellPicker::PickClippingPlanes
| protected

Definition at line 323 of file vtkCellPicker.h.

## ◆ ClippingPlaneId

int vtkCellPicker::ClippingPlaneId
| protected

Definition at line 324 of file vtkCellPicker.h.

## ◆ PointId

vtkIdType vtkCellPicker::PointId
| protected

Definition at line 326 of file vtkCellPicker.h.

## ◆ CellId

vtkIdType vtkCellPicker::CellId
| protected

Definition at line 327 of file vtkCellPicker.h.

## ◆ SubId

int vtkCellPicker::SubId
| protected

Definition at line 328 of file vtkCellPicker.h.

## ◆ PCoords

double vtkCellPicker::PCoords[3]
| protected

Definition at line 329 of file vtkCellPicker.h.

## ◆ PointIJK

int vtkCellPicker::PointIJK[3]
| protected

Definition at line 331 of file vtkCellPicker.h.

## ◆ CellIJK

int vtkCellPicker::CellIJK[3]
| protected

Definition at line 332 of file vtkCellPicker.h.

## ◆ PickNormal

double vtkCellPicker::PickNormal[3]
| protected

Definition at line 334 of file vtkCellPicker.h.

## ◆ MapperNormal

double vtkCellPicker::MapperNormal[3]
| protected

Definition at line 335 of file vtkCellPicker.h.

## ◆ Texture

vtkTexture* vtkCellPicker::Texture
| protected

Definition at line 337 of file vtkCellPicker.h.

## ◆ PickTextureData

vtkTypeBool vtkCellPicker::PickTextureData
| protected

Definition at line 338 of file vtkCellPicker.h.

## ◆ InMask

vtkBitArray* vtkCellPicker::InMask
| protected

Definition at line 340 of file vtkCellPicker.h.

## ◆ WordlPoint

double vtkCellPicker::WordlPoint[3]
| protected

Definition at line 341 of file vtkCellPicker.h.

The documentation for this class was generated from the following file:

- Rendering/Core/vtkCellPicker.h