VTK
|
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: vtkInteractorStyleAreaSelectHover.h 00005 00006 Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen 00007 All rights reserved. 00008 See Copyright.txt or http://www.kitware.com/Copyright.htm for details. 00009 00010 This software is distributed WITHOUT ANY WARRANTY; without even 00011 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00012 PURPOSE. See the above copyright notice for more information. 00013 00014 =========================================================================*/ 00015 /*------------------------------------------------------------------------- 00016 Copyright 2008 Sandia Corporation. 00017 Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, 00018 the U.S. Government retains certain rights in this software. 00019 -------------------------------------------------------------------------*/ 00036 #ifndef vtkInteractorStyleAreaSelectHover_h 00037 #define vtkInteractorStyleAreaSelectHover_h 00038 00039 #include "vtkViewsInfovisModule.h" // For export macro 00040 #include "vtkInteractorStyleRubberBand2D.h" 00041 00042 class vtkAreaLayout; 00043 class vtkBalloonRepresentation; 00044 class vtkPoints; 00045 class vtkRenderer; 00046 class vtkTree; 00047 class vtkWorldPointPicker; 00048 class vtkPolyData; 00049 00050 class VTKVIEWSINFOVIS_EXPORT vtkInteractorStyleAreaSelectHover : public vtkInteractorStyleRubberBand2D 00051 { 00052 public: 00053 static vtkInteractorStyleAreaSelectHover* New(); 00054 vtkTypeMacro(vtkInteractorStyleAreaSelectHover,vtkInteractorStyleRubberBand2D); 00055 void PrintSelf(ostream& os, vtkIndent indent); 00056 00058 00060 void SetLayout(vtkAreaLayout* layout); 00061 vtkGetObjectMacro(Layout, vtkAreaLayout); 00063 00065 00067 vtkSetStringMacro(LabelField); 00068 vtkGetStringMacro(LabelField); 00070 00072 00074 vtkSetMacro(UseRectangularCoordinates, bool); 00075 vtkGetMacro(UseRectangularCoordinates, bool); 00076 vtkBooleanMacro(UseRectangularCoordinates, bool); 00078 00081 void OnMouseMove(); 00082 00084 virtual void SetInteractor(vtkRenderWindowInteractor *rwi); 00085 00087 void SetHighLightColor(double r, double g, double b); 00088 00090 00091 void SetHighLightWidth(double lw); 00092 double GetHighLightWidth(); 00094 00096 vtkIdType GetIdAtPos(int x, int y); 00097 00098 protected: 00099 vtkInteractorStyleAreaSelectHover(); 00100 ~vtkInteractorStyleAreaSelectHover(); 00101 00102 private: 00103 vtkInteractorStyleAreaSelectHover(const vtkInteractorStyleAreaSelectHover&); // Not implemented 00104 void operator=(const vtkInteractorStyleAreaSelectHover&); // Not implemented 00105 00106 // These methods are used internally 00107 void GetBoundingAreaForItem(vtkIdType id, float *sinfo); 00108 00109 vtkWorldPointPicker* Picker; 00110 vtkBalloonRepresentation* Balloon; 00111 vtkPolyData *HighlightData; 00112 vtkActor *HighlightActor; 00113 vtkAreaLayout* Layout; 00114 char *LabelField; 00115 bool UseRectangularCoordinates; 00116 }; 00117 00118 #endif