VTK
|
ray-cast cell picker for all kinds of Prop3Ds More...
#include <vtkCellPicker.h>
Public Types | |
typedef vtkPicker | Superclass |
![]() | |
typedef vtkAbstractPropPicker | Superclass |
![]() | |
typedef vtkAbstractPicker | Superclass |
![]() | |
typedef vtkObject | Superclass |
![]() | |
typedef vtkObjectBase | Superclass |
Public Member Functions | |
virtual int | IsA (const char *type) |
vtkCellPicker * | NewInstance () const |
void | PrintSelf (ostream &os, vtkIndent indent) |
void | AddLocator (vtkAbstractCellLocator *locator) |
void | RemoveLocator (vtkAbstractCellLocator *locator) |
void | RemoveAllLocators () |
vtkTexture * | GetTexture () |
virtual int | Pick (double selectionX, double selectionY, double selectionZ, vtkRenderer *renderer) |
virtual void | SetVolumeOpacityIsovalue (double) |
virtual double | GetVolumeOpacityIsovalue () |
virtual void | SetUseVolumeGradientOpacity (int) |
virtual void | UseVolumeGradientOpacityOn () |
virtual void | UseVolumeGradientOpacityOff () |
virtual int | GetUseVolumeGradientOpacity () |
virtual void | SetPickClippingPlanes (int) |
virtual void | PickClippingPlanesOn () |
virtual void | PickClippingPlanesOff () |
virtual int | GetPickClippingPlanes () |
virtual int | GetClippingPlaneId () |
virtual double * | GetPickNormal () |
virtual void | GetPickNormal (double data[3]) |
virtual double * | GetMapperNormal () |
virtual void | GetMapperNormal (double &, double &, double &) |
virtual void | GetMapperNormal (double[3]) |
virtual int * | GetPointIJK () |
virtual void | GetPointIJK (int &, int &, int &) |
virtual void | GetPointIJK (int[3]) |
virtual int * | GetCellIJK () |
virtual void | GetCellIJK (int &, int &, int &) |
virtual void | GetCellIJK (int[3]) |
virtual vtkIdType | GetPointId () |
virtual vtkIdType | GetCellId () |
virtual int | GetSubId () |
virtual double * | GetPCoords () |
virtual void | GetPCoords (double &, double &, double &) |
virtual void | GetPCoords (double[3]) |
virtual void | SetPickTextureData (int) |
virtual void | PickTextureDataOn () |
virtual void | PickTextureDataOff () |
virtual int | GetPickTextureData () |
![]() | |
vtkPicker * | NewInstance () const |
void | PrintSelf (ostream &os, vtkIndent indent) |
vtkActorCollection * | GetActors () |
virtual void | SetTolerance (double) |
virtual double | GetTolerance () |
virtual double * | GetMapperPosition () |
virtual void | GetMapperPosition (double data[3]) |
virtual vtkAbstractMapper3D * | GetMapper () |
virtual vtkDataSet * | GetDataSet () |
vtkProp3DCollection * | GetProp3Ds () |
vtkPoints * | GetPickedPositions () |
int | Pick (double selectionPt[3], vtkRenderer *ren) |
![]() | |
vtkAbstractPropPicker * | NewInstance () const |
virtual vtkProp * | GetViewProp () |
virtual vtkProp3D * | GetProp3D () |
virtual vtkActor * | GetActor () |
virtual vtkActor2D * | GetActor2D () |
virtual vtkVolume * | GetVolume () |
virtual vtkAssembly * | GetAssembly () |
virtual vtkPropAssembly * | GetPropAssembly () |
virtual void | SetPath (vtkAssemblyPath *) |
virtual vtkAssemblyPath * | GetPath () |
![]() | |
vtkAbstractPicker * | NewInstance () const |
void | InitializePickList () |
void | AddPickList (vtkProp *) |
void | DeletePickList (vtkProp *) |
vtkPropCollection * | GetPickList () |
virtual vtkRenderer * | GetRenderer () |
virtual double * | GetSelectionPoint () |
virtual void | GetSelectionPoint (double data[3]) |
virtual double * | GetPickPosition () |
virtual void | GetPickPosition (double data[3]) |
int | Pick (double selectionPt[3], vtkRenderer *ren) |
virtual void | SetPickFromList (int) |
virtual int | GetPickFromList () |
virtual void | PickFromListOn () |
virtual void | PickFromListOff () |
![]() | |
vtkObject * | NewInstance () const |
virtual void | DebugOn () |
virtual void | DebugOff () |
bool | GetDebug () |
void | SetDebug (bool debugFlag) |
virtual void | Modified () |
virtual unsigned long | GetMTime () |
unsigned long | AddObserver (unsigned long event, vtkCommand *, float priority=0.0f) |
unsigned long | AddObserver (const char *event, vtkCommand *, float priority=0.0f) |
vtkCommand * | GetCommand (unsigned long tag) |
void | RemoveObserver (vtkCommand *) |
void | RemoveObservers (unsigned long event, vtkCommand *) |
void | RemoveObservers (const char *event, vtkCommand *) |
int | HasObserver (unsigned long event, vtkCommand *) |
int | HasObserver (const char *event, vtkCommand *) |
void | RemoveObserver (unsigned long tag) |
void | RemoveObservers (unsigned long event) |
void | RemoveObservers (const char *event) |
void | RemoveAllObservers () |
int | HasObserver (unsigned long event) |
int | HasObserver (const char *event) |
template<class U , class T > | |
unsigned long | AddObserver (unsigned long event, U observer, void(T::*callback)(), float priority=0.0f) |
template<class U , class T > | |
unsigned long | AddObserver (unsigned long event, U observer, void(T::*callback)(vtkObject *, unsigned long, void *), float priority=0.0f) |
template<class U , class T > | |
unsigned long | AddObserver (unsigned long event, U observer, bool(T::*callback)(vtkObject *, unsigned long, void *), float priority=0.0f) |
int | InvokeEvent (unsigned long event, void *callData) |
int | InvokeEvent (const char *event, void *callData) |
int | InvokeEvent (unsigned long event) |
int | InvokeEvent (const char *event) |
![]() | |
const char * | GetClassName () const |
virtual void | Delete () |
virtual void | FastDelete () |
void | Print (ostream &os) |
virtual void | Register (vtkObjectBase *o) |
virtual void | UnRegister (vtkObjectBase *o) |
void | SetReferenceCount (int) |
void | PrintRevisions (ostream &) |
virtual void | PrintHeader (ostream &os, vtkIndent indent) |
virtual void | PrintTrailer (ostream &os, vtkIndent indent) |
int | GetReferenceCount () |
Static Public Member Functions | |
static vtkCellPicker * | New () |
static int | IsTypeOf (const char *type) |
static vtkCellPicker * | SafeDownCast (vtkObjectBase *o) |
![]() | |
static vtkPicker * | New () |
static int | IsTypeOf (const char *type) |
static vtkPicker * | SafeDownCast (vtkObjectBase *o) |
![]() | |
static int | IsTypeOf (const char *type) |
static vtkAbstractPropPicker * | SafeDownCast (vtkObjectBase *o) |
![]() | |
static int | IsTypeOf (const char *type) |
static vtkAbstractPicker * | SafeDownCast (vtkObjectBase *o) |
![]() | |
static int | IsTypeOf (const char *type) |
static vtkObject * | SafeDownCast (vtkObjectBase *o) |
static vtkObject * | New () |
static void | BreakOnError () |
static void | SetGlobalWarningDisplay (int val) |
static void | GlobalWarningDisplayOn () |
static void | GlobalWarningDisplayOff () |
static int | GetGlobalWarningDisplay () |
![]() | |
static int | IsTypeOf (const char *name) |
static vtkObjectBase * | New () |
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 int | 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) |
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.
Definition at line 68 of file vtkCellPicker.h.
typedef vtkPicker vtkCellPicker::Superclass |
Definition at line 72 of file vtkCellPicker.h.
|
protected |
|
protected |
|
static |
|
static |
|
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.
|
static |
|
protectedvirtual |
Reimplemented from vtkPicker.
Reimplemented in vtkVolumePicker.
vtkCellPicker* vtkCellPicker::NewInstance | ( | ) | const |
|
virtual |
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.
|
virtual |
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.
Reimplemented from vtkPicker.
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. As well, you must either build the locator before doing the pick, or you must turn on LazyEvaluation in the locator to make it build itself on the first pick. Note that if you try to add the same locator to the picker twice, the second addition will be ignored.
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.
void vtkCellPicker::RemoveAllLocators | ( | ) |
Remove all locators associated with this picker.
|
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.
|
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.
|
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.
|
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.
|
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.
|
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.
|
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.
|
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.
|
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.
|
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.
|
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.
|
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.
|
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.
|
virtual |
Return the normal of the surface at the PickPosition in mapper coordinates. The result is undefined if no prop was picked.
Return the normal of the surface at the PickPosition in mapper coordinates. The result is undefined if no prop was picked.
|
virtual |
Return the normal of the surface at the PickPosition in mapper coordinates. The result is undefined if no prop was picked.
|
virtual |
Get the structured coordinates of the point at the PickPosition. Only valid for image actors and volumes with vtkImageData.
Get the structured coordinates of the point at the PickPosition. Only valid for image actors and volumes with vtkImageData.
|
virtual |
Get the structured coordinates of the point at the PickPosition. Only valid for image actors and volumes with vtkImageData.
|
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.
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.
|
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.
|
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.
|
virtual |
Get the id of the picked cell. If CellId = -1, nothing was picked.
|
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.
|
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.
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.
|
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.
|
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 199 of file vtkCellPicker.h.
|
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".
|
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".
|
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".
|
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".
|
protectedvirtual |
Reimplemented from vtkPicker.
|
protectedvirtual |
Reimplemented in vtkVolumePicker.
|
protectedvirtual |
Reimplemented from vtkPicker.
|
protectedvirtual |
|
protectedvirtual |
Reimplemented in vtkVolumePicker.
|
protectedvirtual |
|
protectedvirtual |
|
staticprotected |
|
staticprotected |
|
staticprotected |
|
staticprotected |
|
staticprotected |
|
staticprotected |
|
staticprotected |
|
protected |
|
protected |
Definition at line 280 of file vtkCellPicker.h.
|
protected |
Definition at line 282 of file vtkCellPicker.h.
|
protected |
Definition at line 283 of file vtkCellPicker.h.
|
protected |
Definition at line 284 of file vtkCellPicker.h.
|
protected |
Definition at line 285 of file vtkCellPicker.h.
|
protected |
Definition at line 287 of file vtkCellPicker.h.
|
protected |
Definition at line 288 of file vtkCellPicker.h.
|
protected |
Definition at line 289 of file vtkCellPicker.h.
|
protected |
Definition at line 290 of file vtkCellPicker.h.
|
protected |
Definition at line 292 of file vtkCellPicker.h.
|
protected |
Definition at line 293 of file vtkCellPicker.h.
|
protected |
Definition at line 295 of file vtkCellPicker.h.
|
protected |
Definition at line 296 of file vtkCellPicker.h.
|
protected |
Definition at line 298 of file vtkCellPicker.h.
|
protected |
Definition at line 299 of file vtkCellPicker.h.