VTK
vtkAbstractPicker.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkAbstractPicker.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 =========================================================================*/
57 #ifndef vtkAbstractPicker_h
58 #define vtkAbstractPicker_h
59 
60 #include "vtkRenderingCoreModule.h" // For export macro
61 #include "vtkObject.h"
62 
63 class vtkRenderer;
64 class vtkProp;
65 class vtkPropCollection;
66 
68 {
69 public:
71  void PrintSelf(ostream& os, vtkIndent indent);
72 
74 
77 
79 
81  vtkGetVectorMacro(SelectionPoint,double,3);
83 
85 
86  vtkGetVectorMacro(PickPosition,double,3);
88 
90 
94  virtual int Pick(double selectionX, double selectionY, double selectionZ,
95  vtkRenderer *renderer) = 0;
97 
99 
102  int Pick(double selectionPt[3], vtkRenderer *ren)
103  {return this->Pick(selectionPt[0],selectionPt[1],selectionPt[2],ren);};
105 
107 
110  vtkSetMacro(PickFromList,int);
111  vtkGetMacro(PickFromList,int);
112  vtkBooleanMacro(PickFromList,int);
114 
117 
120 
123 
125  vtkPropCollection *GetPickList() {return this->PickList;}
126 
127 protected:
130 
131  virtual void Initialize();
132 
133  vtkRenderer *Renderer; //pick occurred in this renderer's viewport
134  double SelectionPoint[3]; //selection point in window (pixel) coordinates
135  double PickPosition[3]; //selection point in world coordinates
136 
137  // use the following to control picking from a list
140 private:
141  vtkAbstractPicker(const vtkAbstractPicker&); // Not implemented.
142  void operator=(const vtkAbstractPicker&); // Not implemented.
143 };
144 
145 #endif
146 
147 
vtkAbstractPicker::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent)
vtkGetObjectMacro
#define vtkGetObjectMacro(name, type)
Definition: vtkSetGet.h:232
vtkAbstractPicker::AddPickList
void AddPickList(vtkProp *)
vtkAbstractPicker::GetPickList
vtkPropCollection * GetPickList()
Definition: vtkAbstractPicker.h:125
vtkAbstractPicker::Pick
int Pick(double selectionPt[3], vtkRenderer *ren)
Definition: vtkAbstractPicker.h:102
vtkAbstractPicker::Renderer
vtkRenderer * Renderer
Definition: vtkAbstractPicker.h:133
vtkTypeMacro
#define vtkTypeMacro(thisClass, superclass)
Definition: vtkSetGet.h:642
vtkObject
abstract base class for most VTK objects
Definition: vtkObject.h:62
vtkAbstractPicker
define API for picking subclasses
Definition: vtkAbstractPicker.h:68
vtkGetVectorMacro
#define vtkGetVectorMacro(name, type, count)
Definition: vtkSetGet.h:424
vtkAbstractPicker::vtkAbstractPicker
vtkAbstractPicker()
vtkAbstractPicker::PickFromList
int PickFromList
Definition: vtkAbstractPicker.h:138
vtkAbstractPicker::Initialize
virtual void Initialize()
vtkIndent
a simple class to control print indentation
Definition: vtkIndent.h:39
vtkRenderingCoreModule.h
vtkGetMacro
#define vtkGetMacro(name, type)
Definition: vtkSetGet.h:93
vtkObject.h
vtkBooleanMacro
vtkBooleanMacro(IgnoreDriverBugs, bool)
vtkSetMacro
vtkSetMacro(IgnoreDriverBugs, bool)
vtkProp
abstract superclass for all actors, volumes and annotations
Definition: vtkProp.h:50
vtkRenderer
abstract specification for renderers
Definition: vtkRenderer.h:64
vtkAbstractPicker::DeletePickList
void DeletePickList(vtkProp *)
vtkAbstractPicker::InitializePickList
void InitializePickList()
vtkAbstractPicker::~vtkAbstractPicker
~vtkAbstractPicker()
VTKRENDERINGCORE_EXPORT
#define VTKRENDERINGCORE_EXPORT
Definition: vtkRenderingCoreModule.h:15
vtkAbstractPicker::PickList
vtkPropCollection * PickList
Definition: vtkAbstractPicker.h:139
vtkAbstractPicker::Pick
virtual int Pick(double selectionX, double selectionY, double selectionZ, vtkRenderer *renderer)=0
vtkPropCollection
a list of Props
Definition: vtkPropCollection.h:38