46 #ifndef __vtkCellPicker_h
47 #define __vtkCellPicker_h
78 virtual int Pick(
double selectionX,
double selectionY,
double selectionZ,
97 void RemoveAllLocators();
106 vtkSetMacro(VolumeOpacityIsovalue,
double);
107 vtkGetMacro(VolumeOpacityIsovalue,
double);
115 vtkSetMacro(UseVolumeGradientOpacity,
int);
116 vtkBooleanMacro(UseVolumeGradientOpacity,
int);
117 vtkGetMacro(UseVolumeGradientOpacity,
int);
132 vtkSetMacro(PickClippingPlanes,
int);
133 vtkBooleanMacro(PickClippingPlanes,
int);
134 vtkGetMacro(PickClippingPlanes,
int);
144 vtkGetMacro(ClippingPlaneId,
int);
151 vtkGetVectorMacro(PickNormal,
double, 3);
157 vtkGetVector3Macro(MapperNormal,
double);
163 vtkGetVector3Macro(PointIJK,
int);
170 vtkGetVector3Macro(CellIJK,
int);
187 vtkGetMacro(SubId,
int);
194 vtkGetVector3Macro(PCoords,
double);
210 vtkSetMacro(PickTextureData,
int);
211 vtkBooleanMacro(PickTextureData,
int);
212 vtkGetMacro(PickTextureData,
int);
221 virtual void ResetPickInfo();
227 virtual double IntersectActorWithLine(
const double p1[3],
const double p2[3],
228 double t1,
double t2,
double tol,
231 virtual double IntersectVolumeWithLine(
const double p1[3],
233 double t1,
double t2,
237 virtual double IntersectImageActorWithLine(
const double p1[3],
239 double t1,
double t2,
242 virtual double IntersectProp3DWithLine(
const double p1[3],
244 double t1,
double t2,
double tol,
249 const double p1[3],
const double p2[3],
250 double &t1,
double &t2,
int& planeId);
252 static int ClipLineWithExtent(
const int extent[6],
253 const double x1[3],
const double x2[3],
254 double &t1,
double &t2,
int &planeId);
257 const double *weights,
double normal[3]);
260 const double *weights,
double tcoord[3]);
262 static int HasSubCells(
int cellType);
264 static int GetNumberOfSubCells(
vtkIdList *pointIds,
int cellType);
271 void SetImageDataPickInfo(
const double x[3],
const int extent[6]);
273 double ComputeVolumeOpacity(
const int xi[3],
const double pcoords[3],
293 double PickNormal[3];
294 double MapperNormal[3];
300 void ResetCellPickerInfo();
int UseVolumeGradientOpacity
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
double VolumeOpacityIsovalue
represents an 3D object for placement in a rendered scene
provides thread-safe access to cells
superclass for 3D geometric pickers (uses ray cast)
vtkTexture * GetTexture()
dynamic, self-adjusting array of double
abstract class to specify cell behavior
a list of nodes that form an assembly path
draw an image (data & properties) in a rendered 3D scene
a simple class to control print indentation
topologically and geometrically regular array of data
list of point or cell ids
abstract superclass for arrays of numeric data
virtual void Initialize()
handles properties associated with a texture map
virtual int Pick(double selectionX, double selectionY, double selectionZ, vtkRenderer *renderer)
abstract class specifies interface to map 3D data
virtual double IntersectWithLine(double p1[3], double p2[3], double tol, vtkAssemblyPath *path, vtkProp3D *p, vtkAbstractMapper3D *m)
abstract class specifies interface to map data to graphics primitives
void PrintSelf(ostream &os, vtkIndent indent)
create and manipulate unsorted lists of objects
ray-cast cell picker for all kinds of Prop3Ds