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

vtkAbstractPropPicker.h

Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   Visualization Toolkit
00004   Module:    $RCSfile: vtkAbstractPropPicker.h,v $
00005   Language:  C++
00006 
00007   Copyright (c) 1993-2002 Ken Martin, Will Schroeder, Bill Lorensen 
00008   All rights reserved.
00009   See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
00010 
00011      This software is distributed WITHOUT ANY WARRANTY; without even 
00012      the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 
00013      PURPOSE.  See the above copyright notice for more information.
00014 
00015 =========================================================================*/
00067 #ifndef __vtkAbstractPropPicker_h
00068 #define __vtkAbstractPropPicker_h
00069 
00070 #include "vtkAbstractPicker.h"
00071 
00072 class vtkProp;
00073 class vtkPropAssembly;
00074 class vtkAssembly;
00075 class vtkActor;
00076 class vtkVolume;
00077 class vtkProp3D;
00078 class vtkAssemblyPath;
00079 class vtkActor2D;
00080 
00081 class VTK_RENDERING_EXPORT vtkAbstractPropPicker : public vtkAbstractPicker
00082 {
00083 public:
00084   vtkTypeRevisionMacro(vtkAbstractPropPicker,vtkAbstractPicker);
00085   void PrintSelf(ostream& os, vtkIndent indent);
00086 
00088 
00095   virtual void SetPath(vtkAssemblyPath*);
00096   vtkGetObjectMacro(Path,vtkAssemblyPath);
00098 
00099   // The following are convenience methods to maintain API with older
00100   // versions of VTK, and to allow query for the return type of a pick. Note:
00101   // the functionality of these methods can also be obtained by using the
00102   // returned vtkAssemblyPath and using the IsA() to determine type.
00103 
00106   virtual vtkProp *GetProp();
00107   
00110   virtual vtkProp3D *GetProp3D();
00111   
00114   virtual vtkActor *GetActor();
00115   
00118   virtual vtkActor2D *GetActor2D();
00119   
00122   virtual vtkVolume *GetVolume();
00123   
00129   virtual vtkAssembly *GetAssembly();
00130   
00136   virtual vtkPropAssembly *GetPropAssembly();
00137   
00138 protected:
00139   vtkAbstractPropPicker();
00140   ~vtkAbstractPropPicker();
00141 
00142   void Initialize();
00143   
00144   vtkAssemblyPath *Path; //this is what is picked, and includes the prop
00145 private:
00146   vtkAbstractPropPicker(const vtkAbstractPropPicker&);  // Not implemented.
00147   void operator=(const vtkAbstractPropPicker&);  // Not implemented.
00148 };
00149 
00150 #endif