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

ray-cast picker enhanced for volumes More...

#include <vtkVolumePicker.h>

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

Public Types

typedef vtkCellPicker Superclass
 
- Public Types inherited from vtkCellPicker
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 Types inherited from vtkObject
typedef vtkObjectBase Superclass
 

Public Member Functions

virtual int IsA (const char *type)
 
vtkVolumePicker * NewInstance () const
 
void PrintSelf (ostream &os, vtkIndent indent)
 
virtual void SetPickCroppingPlanes (int)
 
virtual void PickCroppingPlanesOn ()
 
virtual void PickCroppingPlanesOff ()
 
virtual int GetPickCroppingPlanes ()
 
virtual int GetCroppingPlaneId ()
 
- Public Member Functions inherited from vtkCellPicker
vtkCellPicker * NewInstance () const
 
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 ()
 
- Public Member Functions inherited from vtkPicker
vtkPicker * NewInstance () const
 
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)
 
- Public Member Functions inherited from vtkAbstractPropPicker
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 ()
 
- Public Member Functions inherited from vtkAbstractPicker
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 ()
 
- Public Member Functions inherited from vtkObject
vtkObject * NewInstance () const
 
virtual void DebugOn ()
 
virtual void DebugOff ()
 
unsigned char GetDebug ()
 
void SetDebug (unsigned char 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)
 
- Public Member Functions inherited from vtkObjectBase
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 vtkVolumePicker * New ()
 
static int IsTypeOf (const char *type)
 
static vtkVolumePicker * SafeDownCast (vtkObjectBase *o)
 
- Static Public Member Functions inherited from vtkCellPicker
static vtkCellPicker * New ()
 
static int IsTypeOf (const char *type)
 
static vtkCellPicker * SafeDownCast (vtkObjectBase *o)
 
- Static Public Member Functions inherited from vtkPicker
static vtkPicker * New ()
 
static int IsTypeOf (const char *type)
 
static vtkPicker * SafeDownCast (vtkObjectBase *o)
 
- Static Public Member Functions inherited from vtkAbstractPropPicker
static int IsTypeOf (const char *type)
 
static vtkAbstractPropPicker * SafeDownCast (vtkObjectBase *o)
 
- Static Public Member Functions inherited from vtkAbstractPicker
static int IsTypeOf (const char *type)
 
static vtkAbstractPicker * SafeDownCast (vtkObjectBase *o)
 
- Static Public Member Functions inherited from vtkObject
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 Public Member Functions inherited from vtkObjectBase
static int IsTypeOf (const char *name)
 
static vtkObjectBase * New ()
 

Protected Member Functions

virtual vtkObjectBase * NewInstanceInternal () const
 
 vtkVolumePicker ()
 
 ~vtkVolumePicker ()
 
virtual void ResetPickInfo ()
 
virtual double IntersectVolumeWithLine (const double p1[3], const double p2[3], double t1, double t2, vtkProp3D *prop, vtkAbstractVolumeMapper *mapper)
 
- Protected Member Functions inherited from vtkCellPicker
 vtkCellPicker ()
 
 ~vtkCellPicker ()
 
void Initialize ()
 
virtual double IntersectWithLine (double p1[3], double p2[3], double tol, vtkAssemblyPath *path, vtkProp3D *p, vtkAbstractMapper3D *m)
 
virtual double IntersectActorWithLine (const double p1[3], const double p2[3], double t1, double t2, double tol, vtkProp3D *prop, vtkMapper *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)
 
- Protected Member Functions inherited from vtkPicker
 vtkPicker ()
 
 ~vtkPicker ()
 
void MarkPicked (vtkAssemblyPath *path, vtkProp3D *p, vtkAbstractMapper3D *m, double tMin, double mapperPos[3])
 
- Protected Member Functions inherited from vtkAbstractPropPicker
 vtkAbstractPropPicker ()
 
 ~vtkAbstractPropPicker ()
 
- Protected Member Functions inherited from vtkAbstractPicker
 vtkAbstractPicker ()
 
 ~vtkAbstractPicker ()
 
- Protected Member Functions inherited from vtkObject
 vtkObject ()
 
virtual ~vtkObject ()
 
virtual void RegisterInternal (vtkObjectBase *, int check)
 
virtual void UnRegisterInternal (vtkObjectBase *, int check)
 
void InternalGrabFocus (vtkCommand *mouseEvents, vtkCommand *keypressEvents=NULL)
 
void InternalReleaseFocus ()
 
- Protected Member Functions inherited from vtkObjectBase
 vtkObjectBase ()
 
virtual ~vtkObjectBase ()
 
virtual void CollectRevisions (ostream &)
 
virtual void ReportReferences (vtkGarbageCollector *)
 
 vtkObjectBase (const vtkObjectBase &)
 
void operator= (const vtkObjectBase &)
 

Static Protected Member Functions

static int ClipLineWithCroppingRegion (const double bounds[6], const int extent[6], int flags, const double x1[3], const double x2[3], double t1, double t2, int &extentPlaneId, int &numSegments, double *t1List, double *t2List, double *s1List, int *planeIdList)
 
- Static Protected Member Functions inherited from vtkCellPicker
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)
 

Protected Attributes

int PickCroppingPlanes
 
int CroppingPlaneId
 
- Protected Attributes inherited from vtkCellPicker
vtkCollection * Locators
 
double VolumeOpacityIsovalue
 
int UseVolumeGradientOpacity
 
int 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
 
int PickTextureData
 
- Protected Attributes inherited from vtkPicker
double Tolerance
 
double MapperPosition [3]
 
vtkAbstractMapper3D * Mapper
 
vtkDataSet * DataSet
 
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]
 
int PickFromList
 
vtkPropCollection * PickList
 
- Protected Attributes inherited from vtkObject
unsigned char Debug
 
vtkTimeStamp MTime
 
vtkSubjectHelper * SubjectHelper
 
- Protected Attributes inherited from vtkObjectBase
vtkAtomicInt< vtkTypeInt32 > ReferenceCount
 
vtkWeakPointerBase ** WeakPointers
 

Detailed Description

ray-cast picker enhanced for volumes

vtkVolumePicker is a subclass of vtkCellPicker. It has one advantage over vtkCellPicker for volumes: it will be able to correctly perform picking when CroppingPlanes are present. This isn't possible for vtkCellPicker since it doesn't link to the VolumeRendering classes and hence cannot access information about the CroppingPlanes.

See also
vtkPicker vtkPointPicker vtkCellPicker
Thanks:
This class was contributed to VTK by David Gobbi on behalf of Atamai Inc.
Examples:
vtkVolumePicker (Examples)
Tests:
vtkVolumePicker (Tests)

Definition at line 44 of file vtkVolumePicker.h.

Member Typedef Documentation

Definition at line 48 of file vtkVolumePicker.h.

Constructor & Destructor Documentation

vtkVolumePicker::vtkVolumePicker ( )
protected
vtkVolumePicker::~vtkVolumePicker ( )
protected

Member Function Documentation

static vtkVolumePicker* vtkVolumePicker::New ( )
static
static int vtkVolumePicker::IsTypeOf ( const char *  type)
static
virtual int vtkVolumePicker::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 vtkCellPicker.

static vtkVolumePicker* vtkVolumePicker::SafeDownCast ( vtkObjectBase *  o)
static
virtual vtkObjectBase* vtkVolumePicker::NewInstanceInternal ( ) const
protectedvirtual

Reimplemented from vtkCellPicker.

vtkVolumePicker* vtkVolumePicker::NewInstance ( ) const
void vtkVolumePicker::PrintSelf ( ostream &  os,
vtkIndent  indent 
)
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 vtkCellPicker.

virtual void vtkVolumePicker::SetPickCroppingPlanes ( int  )
virtual

Set whether to pick the cropping planes of props that have them. If this is set, then the pick will be done on the cropping planes rather than on the data. The GetCroppingPlaneId() method will return the index of the cropping plane of the volume that was picked. This setting is only relevant to the picking of volumes.

virtual void vtkVolumePicker::PickCroppingPlanesOn ( )
virtual

Set whether to pick the cropping planes of props that have them. If this is set, then the pick will be done on the cropping planes rather than on the data. The GetCroppingPlaneId() method will return the index of the cropping plane of the volume that was picked. This setting is only relevant to the picking of volumes.

virtual void vtkVolumePicker::PickCroppingPlanesOff ( )
virtual

Set whether to pick the cropping planes of props that have them. If this is set, then the pick will be done on the cropping planes rather than on the data. The GetCroppingPlaneId() method will return the index of the cropping plane of the volume that was picked. This setting is only relevant to the picking of volumes.

virtual int vtkVolumePicker::GetPickCroppingPlanes ( )
virtual

Set whether to pick the cropping planes of props that have them. If this is set, then the pick will be done on the cropping planes rather than on the data. The GetCroppingPlaneId() method will return the index of the cropping plane of the volume that was picked. This setting is only relevant to the picking of volumes.

virtual int vtkVolumePicker::GetCroppingPlaneId ( )
virtual

Get the index of the cropping plane that the pick ray passed through on its way to the prop. This will be set regardless of whether PickCroppingPlanes is on. The crop planes are ordered as follows: xmin, xmax, ymin, ymax, zmin, zmax. If the volume is not cropped, the value will bet set to -1.

virtual void vtkVolumePicker::ResetPickInfo ( )
protectedvirtual

Reimplemented from vtkCellPicker.

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

Reimplemented from vtkCellPicker.

static int vtkVolumePicker::ClipLineWithCroppingRegion ( const double  bounds[6],
const int  extent[6],
int  flags,
const double  x1[3],
const double  x2[3],
double  t1,
double  t2,
int &  extentPlaneId,
int &  numSegments,
double *  t1List,
double *  t2List,
double *  s1List,
int *  planeIdList 
)
staticprotected

Member Data Documentation

int vtkVolumePicker::PickCroppingPlanes
protected

Definition at line 91 of file vtkVolumePicker.h.

int vtkVolumePicker::CroppingPlaneId
protected

Definition at line 92 of file vtkVolumePicker.h.


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