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();