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

GUI/Client/vtkPVCameraKeyFrame.h

Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   ParaView
00004   Module:    $RCSfile: vtkPVCameraKeyFrame.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 =========================================================================*/
00021 #ifndef __vtkPVCameraKeyFrame_h
00022 #define __vtkPVCameraKeyFrame_h
00023 
00024 #include "vtkPVProxyKeyFrame.h"
00025 class vtkKWApplication;
00026 class vtkKWLabel;
00027 class vtkKWPushButton;
00028 class vtkKWThumbWheel;
00029 class vtkSMDoubleVectorProperty;
00030 class vtkSMProxy;
00031 
00032 class VTK_EXPORT vtkPVCameraKeyFrame  : public vtkPVProxyKeyFrame
00033 {
00034 public:
00035   static vtkPVCameraKeyFrame* New();
00036   vtkTypeRevisionMacro(vtkPVCameraKeyFrame, vtkPVProxyKeyFrame);
00037   void PrintSelf(ostream& os, vtkIndent indent);
00038 
00040   virtual void InitializeKeyValueUsingCurrentState();
00041 
00045   virtual void InitializeKeyValueDomainUsingCurrentState() { };
00046 
00048 
00050   virtual void SetValueToMinimum() { }
00051   virtual void SetValueToMaximum() { }
00053 
00055 
00056   virtual void SetKeyValue(vtkSMProxy* cameraProxy);
00057   void SetPosition(double x, double y, double z);
00058   void SetFocalPoint(double x, double y, double z);
00059   void SetViewUp(double x, double y, double z);
00060   void SetViewAngle(double angle);
00062 
00064 
00065   void SetPositionWithTrace(double x, double y, double z);
00066   void SetFocalPointWithTrace(double x, double y, double z);
00067   void SetViewUpWithTrace(double x, double y, double z);
00068   void SetViewAngleWithTrace(double a);
00070   
00071 
00073 
00074   void SetProperty(const char* name, double val);
00075   void SetProperty(const char* name, double x, double y, double z);
00076   void SetProperty(const char* name ,vtkSMDoubleVectorProperty* sdvp);
00078 
00079 
00081 
00082   void CaptureCurrentCameraCallback();
00083   void PositionChangedCallback();
00084   void FocalPointChangedCallback();
00085   void ViewUpChangedCallback();
00086   void ViewAngleChangedCallback();
00088 
00090   virtual void SaveState(ofstream* file);
00091 
00092 protected:
00093   vtkPVCameraKeyFrame();
00094   ~vtkPVCameraKeyFrame();
00095 
00097   void SetProperty(const char* name, const double* value);
00098   
00100   virtual void ChildCreate(vtkKWApplication* app);
00101 
00103   virtual void UpdateValuesFromProxy();
00104 
00105   vtkKWLabel* PositionLabel;
00106   vtkKWLabel* FocalPointLabel;
00107   vtkKWLabel* ViewUpLabel;
00108   vtkKWLabel* ViewAngleLabel;
00109   vtkKWPushButton* CaptureCurrentCamera;
00110 
00111   vtkKWThumbWheel* PositionWheels[3];
00112   vtkKWThumbWheel* FocalPointWheels[3];
00113   vtkKWThumbWheel* ViewUpWheels[3];
00114   vtkKWThumbWheel* ViewAngleWheel;
00115 
00116 private:
00117   vtkPVCameraKeyFrame(const vtkPVCameraKeyFrame&); // Not implemented.
00118   void operator=(const vtkPVCameraKeyFrame&); // Not implemented.
00119 };
00120 
00121 
00122 #endif
00123 

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