1 // SALOME VTKViewer : build VTK viewer into Salome desktop
\r
3 // Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
\r
4 // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
\r
6 // This library is free software; you can redistribute it and/or
\r
7 // modify it under the terms of the GNU Lesser General Public
\r
8 // License as published by the Free Software Foundation; either
\r
9 // version 2.1 of the License.
\r
11 // This library is distributed in the hope that it will be useful,
\r
12 // but WITHOUT ANY WARRANTY; without even the implied warranty of
\r
13 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
\r
14 // Lesser General Public License for more details.
\r
16 // You should have received a copy of the GNU Lesser General Public
\r
17 // License along with this library; if not, write to the Free Software
\r
18 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
\r
20 // See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
\r
29 #ifndef _VVTK_Recorder_Header_File_
\r
30 #define _VVTK_Recorder_Header_File_
\r
36 #include <vtkObject.h>
\r
38 class vtkRenderWindow;
\r
39 class vtkCallbackCommand;
\r
40 class vtkWindowToImageFilter;
\r
41 class VVTK_ImageWriterMgr;
\r
43 class VVTK_Recorder : public vtkObject
\r
47 VVTK_Recorder_Unknown=0,
\r
48 VVTK_Recorder_Record,
\r
53 static VVTK_Recorder *New();
\r
54 vtkTypeRevisionMacro(VVTK_Recorder,vtkObject);
\r
57 SetRenderWindow(vtkRenderWindow* theRenderWindow);
\r
63 SetName(const char *theName);
\r
69 SetNbFPS(const double theNbFPS);
\r
75 SetQuality(int theQuality);
\r
81 SetProgressiveMode(bool theProgressiveMode);
\r
84 GetProgressiveMode() const;
\r
87 SetUseSkippedFrames(bool theUseSkippedFrames);
\r
90 UseSkippedFrames() const;
\r
105 ErrorStatus() const;
\r
108 CheckExistAVIMaker();
\r
122 AddSkippedFrames();
\r
129 ProcessEvents(vtkObject* theObject,
\r
130 unsigned long theEvent,
\r
131 void* theClientData,
\r
132 void* theCallData);
\r
140 double myTimeStart;
\r
143 int myNbWrittenFrames;
\r
147 bool myProgressiveMode;
\r
149 typedef std::vector<int> TFrameIndexes;
\r
150 TFrameIndexes myFrameIndexes;
\r
151 bool myUseSkippedFrames;
\r
153 std::string myName;
\r
154 std::string myNameAVIMaker;
\r
156 vtkCallbackCommand *myCommand;
\r
157 vtkRenderWindow *myRenderWindow;
\r
158 vtkWindowToImageFilter *myFilter;
\r
159 VVTK_ImageWriterMgr *myWriterMgr;
\r
163 VVTK_Recorder(const VVTK_Recorder&); //Not implemented
\r
164 void operator=(const VVTK_Recorder&); //Not implemented
\r