• Main Page
  • Related Pages
  • Namespaces
  • Classes
  • Files
  • File List
  • File Members

dox/Widgets/vtkBiDimensionalWidget.h

Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   Visualization Toolkit
00004   Module:    vtkBiDimensionalWidget.h,v
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 =========================================================================*/
00099 #ifndef __vtkBiDimensionalWidget_h
00100 #define __vtkBiDimensionalWidget_h
00101 
00102 #include "vtkAbstractWidget.h"
00103 
00104 class vtkBiDimensionalRepresentation2D;
00105 class vtkHandleWidget;
00106 class vtkBiDimensionalWidgetCallback;
00107 
00108 
00109 class VTK_WIDGETS_EXPORT vtkBiDimensionalWidget : public vtkAbstractWidget
00110 {
00111 public:
00113   static vtkBiDimensionalWidget *New();
00114 
00116 
00117   vtkTypeRevisionMacro(vtkBiDimensionalWidget,vtkAbstractWidget);
00118   void PrintSelf(ostream& os, vtkIndent indent);
00120 
00124   virtual void SetEnabled(int);
00125 
00127 
00130   void SetRepresentation(vtkBiDimensionalRepresentation2D *r)
00131     {this->Superclass::SetWidgetRepresentation(reinterpret_cast<vtkWidgetRepresentation*>(r));}
00133   
00135   void CreateDefaultRepresentation();
00136 
00139   int IsMeasureValid();
00140 
00142 
00143   enum
00144   {
00145   EndWidgetSelectEvent = 10050
00146   };
00147   //ETX
00149 
00152   virtual void SetProcessEvents(int);
00153 protected:
00154   vtkBiDimensionalWidget();
00155   ~vtkBiDimensionalWidget();
00156 
00157   // The state of the widget
00158 //BTX
00159   enum {Start=0,Define,Manipulate};
00160 //ETX
00161   int WidgetState;
00162   int CurrentHandle;
00163   int HandleLine1Selected;
00164   int HandleLine2Selected;
00165   int Line1InnerSelected;
00166   int Line1OuterSelected;
00167   int Line2InnerSelected;
00168   int Line2OuterSelected;
00169   int CenterSelected;
00170 
00171   // Callback interface to capture events when
00172   // placing the widget.
00173   static void AddPointAction(vtkAbstractWidget*);
00174   static void MoveAction(vtkAbstractWidget*);
00175   static void EndSelectAction(vtkAbstractWidget*);
00176   
00177   // The positioning handle widgets
00178   vtkHandleWidget *Point1Widget;
00179   vtkHandleWidget *Point2Widget;
00180   vtkHandleWidget *Point3Widget;
00181   vtkHandleWidget *Point4Widget;
00182   vtkBiDimensionalWidgetCallback *BiDimensionalWidgetCallback1;
00183   vtkBiDimensionalWidgetCallback *BiDimensionalWidgetCallback2;
00184   vtkBiDimensionalWidgetCallback *BiDimensionalWidgetCallback3;
00185   vtkBiDimensionalWidgetCallback *BiDimensionalWidgetCallback4;
00186   
00187   // Methods invoked when the handles at the
00188   // end points of the widget are manipulated
00189   void StartBiDimensionalInteraction();
00190   virtual void EndBiDimensionalInteraction();
00191   
00192 //BTX
00193   friend class vtkBiDimensionalWidgetCallback;
00194 //ETX  
00195 
00196 private:
00197   vtkBiDimensionalWidget(const vtkBiDimensionalWidget&);  //Not implemented
00198   void operator=(const vtkBiDimensionalWidget&);  //Not implemented
00199 };
00200 
00201 #endif

Generated by  doxygen 1.7.1