Main Page | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members | Related Pages

Servers/ServerManager/vtkPickBoxWidget.h

Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   ParaView
00004   Module:    $RCSfile: vtkPickBoxWidget.h,v $
00005 
00006   Copyright (c) Kitware, Inc.
00007   All rights reserved.
00008   See Copyright.txt or http://www.paraview.org/HTML/Copyright.html 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 =========================================================================*/
00028 #ifndef __vtkPickBoxWidget_h
00029 #define __vtkPickBoxWidget_h
00030 
00031 #include "vtkBoxWidget.h"
00032 
00033 
00034 class vtkSMRenderModuleProxy;
00035 
00036 
00037 class VTK_EXPORT vtkPickBoxWidget : public vtkBoxWidget
00038 {
00039 public:
00040   static vtkPickBoxWidget* New();
00041   vtkTypeRevisionMacro(vtkPickBoxWidget, vtkBoxWidget);
00042 
00043   void PrintSelf(ostream& os, vtkIndent indent);
00044     
00046 
00047   void SetRenderModuleProxy(vtkSMRenderModuleProxy* rm)
00048     { this->RenderModuleProxy = rm; }
00049   vtkGetObjectMacro(RenderModuleProxy, vtkSMRenderModuleProxy);
00051 
00052   virtual void PlaceWidget(double bounds[6]);
00053   void PlaceWidget()
00054     {this->Superclass::PlaceWidget();}
00055   void PlaceWidget(double xmin, double xmax, double ymin, double ymax, 
00056                    double zmin, double zmax)
00057     {this->Superclass::PlaceWidget(xmin,xmax,ymin,ymax,zmin,zmax);}
00058 
00060   virtual void SetEnabled(int);
00061 
00062   vtkSetMacro(MouseControlToggle,int);
00063   vtkGetMacro(MouseControlToggle,int);
00064 
00065 protected:
00066   vtkPickBoxWidget();
00067   ~vtkPickBoxWidget();
00068 
00069   // For picking.  Use a proxy in the future.
00070   vtkSMRenderModuleProxy* RenderModuleProxy;
00071 
00072   virtual void OnChar();
00073   virtual void OnMouseMove();
00074   virtual void OnLeftButtonDown();
00075   virtual void OnRightButtonDown();
00076 
00077   void PickInternal(int x, int y);
00078 
00079   // Handles the events
00080   static void ProcessEvents(vtkObject* object, 
00081                             unsigned long event,
00082                             void* clientdata, 
00083                             void* calldata);
00084 
00085 
00086   double PrevPickedPoint[4];
00087 
00088   int MouseControlToggle;
00089 
00090 private:
00091   vtkPickBoxWidget(const vtkPickBoxWidget&); // Not implemented
00092   void operator=(const vtkPickBoxWidget&); // Not implemented
00093 
00094   int LastY;
00095 };
00096 
00097 #endif

Generated on Tue May 30 12:31:47 2006 for ParaView by doxygen 1.3.5