00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: $RCSfile: vtkPlaybackRepresentation.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 =========================================================================*/ 00029 #ifndef __vtkPlaybackRepresentation_h 00030 #define __vtkPlaybackRepresentation_h 00031 00032 #include "vtkBorderRepresentation.h" 00033 00034 class vtkRenderer; 00035 class vtkRenderWindowInteractor; 00036 class vtkPoints; 00037 class vtkPolyData; 00038 class vtkTransformPolyDataFilter; 00039 class vtkPolyDataMapper2D; 00040 class vtkProperty2D; 00041 class vtkActor2D; 00042 00043 class VTK_WIDGETS_EXPORT vtkPlaybackRepresentation : public vtkBorderRepresentation 00044 { 00045 public: 00047 static vtkPlaybackRepresentation *New(); 00048 00050 00051 vtkTypeRevisionMacro(vtkPlaybackRepresentation,vtkBorderRepresentation); 00052 void PrintSelf(ostream& os, vtkIndent indent); 00054 00056 00058 vtkGetObjectMacro(Property,vtkProperty2D); 00060 00062 00063 virtual void Play() {} 00064 virtual void Stop() {} 00065 virtual void ForwardOneFrame() {} 00066 virtual void BackwardOneFrame() {} 00067 virtual void JumpToBeginning() {} 00068 virtual void JumpToEnd() {} 00070 00072 00073 virtual void BuildRepresentation(); 00074 virtual void GetSize(double size[2]) 00075 {size[0]=12.0; size[1]=2.0;} 00077 00079 00081 virtual void GetActors2D(vtkPropCollection*); 00082 virtual void ReleaseGraphicsResources(vtkWindow*); 00083 virtual int RenderOverlay(vtkViewport*); 00084 virtual int RenderOpaqueGeometry(vtkViewport*); 00085 virtual int RenderTranslucentPolygonalGeometry(vtkViewport*); 00086 virtual int HasTranslucentPolygonalGeometry(); 00088 00089 protected: 00090 vtkPlaybackRepresentation(); 00091 ~vtkPlaybackRepresentation(); 00092 00093 // representation geometry 00094 vtkPoints *Points; 00095 vtkPolyData *PolyData; 00096 vtkTransformPolyDataFilter *TransformFilter; 00097 vtkPolyDataMapper2D *Mapper; 00098 vtkProperty2D *Property; 00099 vtkActor2D *Actor; 00100 00101 private: 00102 vtkPlaybackRepresentation(const vtkPlaybackRepresentation&); //Not implemented 00103 void operator=(const vtkPlaybackRepresentation&); //Not implemented 00104 }; 00105 00106 #endif