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

GUI/Widgets/vtkKWSimpleAnimationWidget.h

Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Module:    $RCSfile: vtkKWSimpleAnimationWidget.h,v $
00004 
00005   Copyright (c) Kitware, Inc.
00006   All rights reserved.
00007   See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
00008 
00009      This software is distributed WITHOUT ANY WARRANTY; without even
00010      the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
00011      PURPOSE.  See the above copyright notice for more information.
00012 
00013 =========================================================================*/
00033 #ifndef __vtkKWSimpleAnimationWidget_h
00034 #define __vtkKWSimpleAnimationWidget_h
00035 
00036 #include "vtkKWCompositeWidget.h"
00037 
00038 class vtkKWLabelWithLabel;
00039 class vtkKWPushButtonSet;
00040 class vtkKWScaleWithEntrySet;
00041 class vtkKWRenderWidget;
00042 
00043 class KWWIDGETS_EXPORT vtkKWSimpleAnimationWidget : public vtkKWCompositeWidget
00044 {
00045 public:
00046   static vtkKWSimpleAnimationWidget* New();
00047   vtkTypeRevisionMacro(vtkKWSimpleAnimationWidget, vtkKWCompositeWidget);
00048   void PrintSelf(ostream& os, vtkIndent indent);
00049   
00051 
00052   vtkGetObjectMacro(RenderWidget, vtkKWRenderWidget);
00053   virtual void SetRenderWidget(vtkKWRenderWidget*);
00055 
00057   virtual void Create(vtkKWApplication *app);
00058   
00060 
00065   enum 
00066   {
00067     AnimationTypeCamera = 0,
00068     AnimationTypeSlice
00069   };
00070   //ETX
00071   virtual void SetAnimationType(int);
00072   vtkGetMacro(AnimationType, int);
00073   virtual void SetAnimationTypeToCamera()
00074     { this->SetAnimationType(
00075       vtkKWSimpleAnimationWidget::AnimationTypeCamera); };
00076   virtual void SetAnimationTypeToSlice()
00077     { this->SetAnimationType(
00078       vtkKWSimpleAnimationWidget::AnimationTypeSlice); };
00080 
00082 
00086   virtual void SetSliceSetCommand(vtkObject *object, const char *method);
00087   virtual void InvokeSliceSetCommand(int);
00089 
00091 
00096   virtual void SetSliceGetCommand(vtkObject *object, const char *method);
00097   virtual int InvokeSliceGetCommand();
00099 
00101 
00105   virtual void SetSliceGetMinAndMaxCommands(
00106     vtkObject *object, const char *get_min_method, const char *get_max_method);
00107   virtual int InvokeSliceGetMinCommand();
00108   virtual int InvokeSliceGetMaxCommand();
00110 
00112 
00114   virtual void SetSlicePostAnimationCommand(
00115     vtkObject *object, const char *method);
00116   virtual void InvokeSlicePostAnimationCommand();
00118 
00120 
00122   virtual void SetCameraPostAnimationCommand(
00123     vtkObject *object, const char *method);
00124   virtual void InvokeCameraPostAnimationCommand();
00126 
00128   virtual void Update();
00129 
00131 
00132   virtual void PreviewAnimationCallback();
00133   virtual void CreateAnimationCallback();
00134   virtual void CancelAnimationCallback();
00136   
00143   virtual void UpdateEnableState();
00144 
00145 protected:
00146   vtkKWSimpleAnimationWidget();
00147   ~vtkKWSimpleAnimationWidget();
00148   
00149   vtkKWRenderWidget *RenderWidget;
00150 
00151   // GUI
00152 
00153   vtkKWScaleWithEntrySet *Parameters;
00154   vtkKWPushButtonSet     *AnimationButtonSet;
00155   vtkKWLabelWithLabel    *HelpLabel;
00156 
00157   int AnimationType;
00158 
00160 
00161   enum
00162   {
00163     AnimationStopped = 0,
00164     AnimationPreviewing,
00165     AnimationCreating,
00166     AnimationCancelled
00167   };
00168   //ETX
00169   int AnimationStatus;
00171 
00172   char *CameraPostAnimationCommand;
00173   char *SlicePostAnimationCommand;
00174   char *SliceGetCommand;
00175   char *SliceGetMinCommand;
00176   char *SliceGetMaxCommand;
00177   char *SliceSetCommand;
00178   
00180 
00181   virtual void PreviewCameraAnimation();
00182   virtual void CreateCameraAnimation(
00183     const char *file_root, const char *ext, int width, int height);
00184   virtual void PerformCameraAnimation(
00185     const char *file_root, const char *ext, int width, int height);
00187   
00189 
00190   virtual void PreviewSliceAnimation();
00191   virtual void CreateSliceAnimation(
00192     const char *file_root, const char *ext, int width, int height);
00193   virtual void PerformSliceAnimation(
00194     const char *file_root, const char *ext, int width, int height);
00196 
00198 
00199   virtual void DisableButtonsButCancel();
00200   virtual void EnableButtonsButCancel();
00202 
00203 private:
00204   vtkKWSimpleAnimationWidget(const vtkKWSimpleAnimationWidget&);  // Not implemented
00205   void operator=(const vtkKWSimpleAnimationWidget&);  // Not implemented
00206 };
00207 
00208 #endif
00209 

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