VTK
vtkAbstractPropPicker.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkAbstractPropPicker.h
5 
6  Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7  All rights reserved.
8  See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9 
10  This software is distributed WITHOUT ANY WARRANTY; without even
11  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12  PURPOSE. See the above copyright notice for more information.
13 
14 =========================================================================*/
63 #ifndef vtkAbstractPropPicker_h
64 #define vtkAbstractPropPicker_h
65 
66 #include "vtkRenderingCoreModule.h" // For export macro
67 #include "vtkAbstractPicker.h"
68 
69 class vtkProp;
70 class vtkPropAssembly;
71 class vtkAssembly;
72 class vtkActor;
73 class vtkVolume;
74 class vtkProp3D;
75 class vtkAssemblyPath;
76 class vtkActor2D;
77 
79 {
80 public:
82  void PrintSelf(ostream& os, vtkIndent indent);
83 
85 
92  virtual void SetPath(vtkAssemblyPath*);
93  vtkGetObjectMacro(Path,vtkAssemblyPath);
95 
96  // The following are convenience methods to maintain API with older
97  // versions of VTK, and to allow query for the return type of a pick. Note:
98  // the functionality of these methods can also be obtained by using the
99  // returned vtkAssemblyPath and using the IsA() to determine type.
100 
103  virtual vtkProp* GetViewProp();
104 
107  virtual vtkProp3D *GetProp3D();
108 
111  virtual vtkActor *GetActor();
112 
115  virtual vtkActor2D *GetActor2D();
116 
119  virtual vtkVolume *GetVolume();
120 
126  virtual vtkAssembly *GetAssembly();
127 
133  virtual vtkPropAssembly *GetPropAssembly();
134 
135 protected:
138 
139  void Initialize();
140 
141  vtkAssemblyPath *Path; //this is what is picked, and includes the prop
142 private:
143  vtkAbstractPropPicker(const vtkAbstractPropPicker&); // Not implemented.
144  void operator=(const vtkAbstractPropPicker&); // Not implemented.
145 };
146 
147 #endif
abstract superclass for all actors, volumes and annotations
Definition: vtkProp.h:52
represents a volume (data & properties) in a rendered scene
Definition: vtkVolume.h:49
represents an object (geometry & properties) in a rendered scene
Definition: vtkActor.h:50
void PrintSelf(ostream &os, vtkIndent indent)
a actor that draws 2D data
Definition: vtkActor2D.h:44
create hierarchies of props
virtual void Initialize()
represents an 3D object for placement in a rendered scene
Definition: vtkProp3D.h:42
a list of nodes that form an assembly path
a simple class to control print indentation
Definition: vtkIndent.h:38
create hierarchies of vtkProp3Ds (transformable props)
Definition: vtkAssembly.h:74
abstract API for pickers that can pick an instance of vtkProp
#define VTKRENDERINGCORE_EXPORT
define API for picking subclasses