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

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