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 
00008 Copyright (c) 1993-2001 Ken Martin, Will Schroeder, Bill Lorensen.
00009 
00010 This software is copyrighted by Ken Martin, Will Schroeder and Bill Lorensen.
00011 The following terms apply to all files associated with the software unless
00012 explicitly disclaimed in individual files. This copyright specifically does
00013 not apply to the related textbook "The Visualization Toolkit" ISBN
00014 013199837-4 published by Prentice Hall which is covered by its own copyright.
00015 
00016 The authors hereby grant permission to use, copy, and distribute this
00017 software and its documentation for any purpose, provided that existing
00018 copyright notices are retained in all copies and that this notice is included
00019 verbatim in any distributions. Additionally, the authors grant permission to
00020 modify this software and its documentation for any purpose, provided that
00021 such modifications are not distributed without the explicit consent of the
00022 authors and that existing copyright notices are retained in all copies. Some
00023 of the algorithms implemented by this software are patented, observe all
00024 applicable patent law.
00025 
00026 IN NO EVENT SHALL THE AUTHORS OR DISTRIBUTORS BE LIABLE TO ANY PARTY FOR
00027 DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING OUT
00028 OF THE USE OF THIS SOFTWARE, ITS DOCUMENTATION, OR ANY DERIVATIVES THEREOF,
00029 EVEN IF THE AUTHORS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00030 
00031 THE AUTHORS AND DISTRIBUTORS SPECIFICALLY DISCLAIM ANY WARRANTIES, INCLUDING,
00032 BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
00033 PARTICULAR PURPOSE, AND NON-INFRINGEMENT.  THIS SOFTWARE IS PROVIDED ON AN
00034 "AS IS" BASIS, AND THE AUTHORS AND DISTRIBUTORS HAVE NO OBLIGATION TO PROVIDE
00035 MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
00036 
00037 
00038 =========================================================================*/
00090 #ifndef __vtkAbstractPropPicker_h
00091 #define __vtkAbstractPropPicker_h
00092 
00093 #include "vtkAbstractPicker.h"
00094 
00095 class vtkProp;
00096 class vtkPropAssembly;
00097 class vtkAssembly;
00098 class vtkActor;
00099 class vtkVolume;
00100 class vtkProp3D;
00101 
00102 class VTK_RENDERING_EXPORT vtkAbstractPropPicker : public vtkAbstractPicker
00103 {
00104 public:
00105   vtkTypeMacro(vtkAbstractPropPicker,vtkAbstractPicker);
00106   void PrintSelf(ostream& os, vtkIndent indent);
00107 
00109 
00116   vtkSetObjectMacro(Path,vtkAssemblyPath);
00117   vtkGetObjectMacro(Path,vtkAssemblyPath);
00119 
00120   // The following are convenience methods to maintain API with older
00121   // versions of VTK, and to allow query for the return type of a pick. Note:
00122   // the functionality of these methods can also be obtained by using the
00123   // returned vtkAssemblyPath and using the IsA() to determine type.
00124 
00127   virtual vtkProp *GetProp();
00128   
00131   virtual vtkProp3D *GetProp3D();
00132   
00135   virtual vtkActor *GetActor();
00136   
00139   virtual vtkActor2D *GetActor2D();
00140   
00143   virtual vtkVolume *GetVolume();
00144   
00150   virtual vtkAssembly *GetAssembly();
00151   
00157   virtual vtkPropAssembly *GetPropAssembly();
00158   
00159 protected:
00160   vtkAbstractPropPicker();
00161   ~vtkAbstractPropPicker();
00162 
00163   void Initialize();
00164   
00165   vtkAssemblyPath *Path; //this is what is picked, and includes the prop
00166 private:
00167   vtkAbstractPropPicker(const vtkAbstractPropPicker&);  // Not implemented.
00168   void operator=(const vtkAbstractPropPicker&);  // Not implemented.
00169 };
00170 
00171 #endif

Generated on Thu Mar 28 14:19:31 2002 for VTK by doxygen1.2.11.1 written by Dimitri van Heesch, © 1997-2001