VTK
vtkInteractorStyleAreaSelectHover.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkInteractorStyleAreaSelectHover.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 =========================================================================*/
15 /*-------------------------------------------------------------------------
16  Copyright 2008 Sandia Corporation.
17  Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation,
18  the U.S. Government retains certain rights in this software.
19 -------------------------------------------------------------------------*/
36 #ifndef __vtkInteractorStyleAreaSelectHover_h
37 #define __vtkInteractorStyleAreaSelectHover_h
38 
40 
41 class vtkAreaLayout;
43 class vtkPoints;
44 class vtkRenderer;
45 class vtkTree;
47 class vtkPolyData;
48 
50 {
51 public:
54  void PrintSelf(ostream& os, vtkIndent indent);
55 
57 
59  void SetLayout(vtkAreaLayout* layout);
60  vtkGetObjectMacro(Layout, vtkAreaLayout);
62 
64 
66  vtkSetStringMacro(LabelField);
67  vtkGetStringMacro(LabelField);
69 
71 
73  vtkSetMacro(UseRectangularCoordinates, bool);
74  vtkGetMacro(UseRectangularCoordinates, bool);
75  vtkBooleanMacro(UseRectangularCoordinates, bool);
77 
80  void OnMouseMove();
81 
83  virtual void SetInteractor(vtkRenderWindowInteractor *rwi);
84 
86  void SetHighLightColor(double r, double g, double b);
87 
89 
90  void SetHighLightWidth(double lw);
91  double GetHighLightWidth();
93 
95  vtkIdType GetIdAtPos(int x, int y);
96 
97 protected:
100 
101 private:
103  void operator=(const vtkInteractorStyleAreaSelectHover&); // Not implemented
104 
105  // These methods are used internally
106  void GetBoundingAreaForItem(vtkIdType id, float *sinfo);
107 
108  vtkWorldPointPicker* Picker;
109  vtkBalloonRepresentation* Balloon;
110  vtkPolyData *HighlightData;
111  vtkActor *HighlightActor;
112  vtkAreaLayout* Layout;
113  char *LabelField;
114  bool UseRectangularCoordinates;
115 };
116 
117 #endif