Main Page | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members | Related Pages

dox/Rendering/vtkCellPicker.h

Go to the documentation of this file.
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: $RCSfile: vtkCellPicker.h,v $ 00005 00006 Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen 00007 All rights reserved. 00008 See Copyright.txt or http://www.kitware.com/Copyright.htm for details. 00009 00010 This software is distributed WITHOUT ANY WARRANTY; without even 00011 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00012 PURPOSE. See the above copyright notice for more information. 00013 00014 =========================================================================*/ 00033 #ifndef __vtkCellPicker_h 00034 #define __vtkCellPicker_h 00035 00036 #include "vtkPicker.h" 00037 00038 class vtkGenericCell; 00039 00040 class VTK_RENDERING_EXPORT vtkCellPicker : public vtkPicker 00041 { 00042 public: 00043 static vtkCellPicker *New(); 00044 vtkTypeRevisionMacro(vtkCellPicker,vtkPicker); 00045 void PrintSelf(ostream& os, vtkIndent indent); 00046 00048 00049 vtkGetMacro(CellId, vtkIdType); 00051 00053 00054 vtkGetMacro(SubId, int); 00056 00058 00060 vtkGetVectorMacro(PCoords, double,3); 00062 00063 protected: 00064 vtkCellPicker(); 00065 ~vtkCellPicker(); 00066 00067 vtkIdType CellId; // picked cell 00068 int SubId; // picked cell subId 00069 double PCoords[3]; // picked cell parametric coordinates 00070 00071 virtual double IntersectWithLine(double p1[3], double p2[3], double tol, 00072 vtkAssemblyPath *path, vtkProp3D *p, 00073 vtkAbstractMapper3D *m); 00074 void Initialize(); 00075 00076 private: 00077 vtkGenericCell *Cell; //used to accelerate picking 00078 00079 private: 00080 vtkCellPicker(const vtkCellPicker&); // Not implemented. 00081 void operator=(const vtkCellPicker&); // Not implemented. 00082 }; 00083 00084 #endif 00085 00086