Main Page | Directories | Class Hierarchy | Alphabetical List | Class List | 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 
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 =========================================================================*/
00075 #ifndef __vtkAbstractPropPicker_h
00076 #define __vtkAbstractPropPicker_h
00077 
00078 #include "vtkAbstractPicker.h"
00079 
00080 class vtkProp;
00081 class vtkPropAssembly;
00082 class vtkAssembly;
00083 class vtkActor;
00084 class vtkVolume;
00085 class vtkProp3D;
00086 class vtkAssemblyPath;
00087 class vtkActor2D;
00088 
00089 class VTK_RENDERING_EXPORT vtkAbstractPropPicker : public vtkAbstractPicker
00090 {
00091 public:
00092   vtkTypeRevisionMacro(vtkAbstractPropPicker,vtkAbstractPicker);
00093   void PrintSelf(ostream& os, vtkIndent indent);
00094 
00096 
00103   virtual void SetPath(vtkAssemblyPath*);
00104   vtkGetObjectMacro(Path,vtkAssemblyPath);
00106 
00107   // The following are convenience methods to maintain API with older
00108   // versions of VTK, and to allow query for the return type of a pick. Note:
00109   // the functionality of these methods can also be obtained by using the
00110   // returned vtkAssemblyPath and using the IsA() to determine type.
00111 
00114   virtual vtkProp *GetProp();
00115   
00118   virtual vtkProp3D *GetProp3D();
00119   
00122   virtual vtkActor *GetActor();
00123   
00126   virtual vtkActor2D *GetActor2D();
00127   
00130   virtual vtkVolume *GetVolume();
00131   
00137   virtual vtkAssembly *GetAssembly();
00138   
00144   virtual vtkPropAssembly *GetPropAssembly();
00145   
00146 protected:
00147   vtkAbstractPropPicker();
00148   ~vtkAbstractPropPicker();
00149 
00150   void Initialize();
00151   
00152   vtkAssemblyPath *Path; //this is what is picked, and includes the prop
00153 private:
00154   vtkAbstractPropPicker(const vtkAbstractPropPicker&);  // Not implemented.
00155   void operator=(const vtkAbstractPropPicker&);  // Not implemented.
00156 };
00157 
00158 #endif