VTK
vtkWin32VideoSource.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkWin32VideoSource.h
5 
6  Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7  All rights reserved.
8  See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9 
10  This software is distributed WITHOUT ANY WARRANTY; without even
11  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12  PURPOSE. See the above copyright notice for more information.
13 
14 =========================================================================*/
34 #ifndef vtkWin32VideoSource_h
35 #define vtkWin32VideoSource_h
36 
37 #include "vtkIOVideoModule.h" // For export macro
38 #include "vtkVideoSource.h"
39 
40 class vtkWin32VideoSourceInternal;
41 
42 class VTKIOVIDEO_EXPORT vtkWin32VideoSource : public vtkVideoSource
43 {
44 public:
47  void PrintSelf(ostream& os, vtkIndent indent);
48 
52  void Record();
53 
57  void Play();
58 
62  void Stop();
63 
67  void Grab();
68 
70 
73  void SetFrameSize(int x, int y, int z);
74  virtual void SetFrameSize(int dim[3]) {
75  this->SetFrameSize(dim[0], dim[1], dim[2]); };
77 
81  void SetFrameRate(float rate);
82 
86  void SetOutputFormat(int format);
87 
89 
92  void SetPreview(int p);
93  vtkBooleanMacro(Preview,int);
94  vtkGetMacro(Preview,int);
96 
101 
106 
111  void Initialize();
112 
118 
120 
123  void LocalInternalGrab(void*);
126 
127 protected:
130 
131  char WndClassName[16];
133  int Preview;
134 
135  vtkWin32VideoSourceInternal *Internal;
136 
137  void CheckBuffer();
138  void UnpackRasterLine(char *outptr, char *inptr,
139  int start, int count);
140 
143 
144 private:
145  vtkWin32VideoSource(const vtkWin32VideoSource&) VTK_DELETE_FUNCTION;
146  void operator=(const vtkWin32VideoSource&) VTK_DELETE_FUNCTION;
147 };
148 
149 #endif
150 
151 
152 
153 
154 
a simple class to control print indentation
Definition: vtkIndent.h:40
Superclass of video input devices for VTK.
virtual void SetFrameSize(int x, int y, int z)
Set the full-frame size.
Video-for-Windows video digitizer.
vtkWin32VideoSourceInternal * Internal
virtual void SetFrameSize(int dim[3])
static vtkWin32VideoSource * New()
void SetOutputFormat(int format)
Request a particular output format (default: VTK_RGB).
void Stop()
Standard VCR functionality: Stop recording or playing.
void Record()
Standard VCR functionality: Record incoming video.
void SetFrameRate(float rate)
Request a particular frame rate (default 30 frames per second).
void VideoSourceDialog()
Bring up a modal dialog box for video input selection.
void Grab()
Grab a single video frame.
void Initialize()
Initialize the driver (this is called automatically when the first grab is done).
void PrintSelf(ostream &os, vtkIndent indent)
Methods invoked by print to print information about the object including superclasses.
void ReleaseSystemResources()
Free the driver (this is called automatically inside the destructor).
void SetPreview(int p)
Turn on/off the preview (overlay) window.
void VideoFormatDialog()
Bring up a modal dialog box for video format selection.
void Play()
Standard VCR functionality: Play recorded video.
void SetFrameSize(int x, int y, int z)
Request a particular frame size (set the third value to 1).
void LocalInternalGrab(void *)
For internal use only.
void UnpackRasterLine(char *outptr, char *inptr, int start, int count)
vtkBooleanMacro(IgnoreDriverBugs, bool)
Updates the extensions string.