PlusLib  2.9.0
Software library for tracked ultrasound image acquisition, calibration, and processing.
vtkPlusWin32VideoSource2.h
Go to the documentation of this file.
1 /*=Plus=header=begin======================================================
2  Program: Plus
3  Copyright (c) Laboratory for Percutaneous Surgery. All rights reserved.
4  See License.txt for details.
5 =========================================================Plus=header=end*/
6 
7 /*=========================================================================
8 The following copyright notice is applicable to parts of this file:
9 Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
10 All rights reserved.
11 See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
12 Authors include: Danielle Pace
13 (Robarts Research Institute and The University of Western Ontario)
14 =========================================================================*/
15 
16 #ifndef __vtkPlusWin32VideoSource2_h
17 #define __vtkPlusWin32VideoSource2_h
18 
19 #include "vtkPlusDataCollectionExport.h"
20 
21 #include "vtkPlusDevice.h"
22 
23 class vtkPlusWin32VideoSource2Internal;
24 
43 class vtkPlusDataCollectionExport vtkPlusWin32VideoSource2 : public vtkPlusDevice
44 {
45 public:
46  static vtkPlusWin32VideoSource2* New();
48  virtual void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
49 
51  virtual PlusStatus SetFrameSize(const FrameSizeType& frameSize);
52 
54  virtual PlusStatus SetAcquisitionRate(double rate);
55 
57  virtual PlusStatus SetOutputFormat(int format);
58 
60  void SetPreview(int showPreview);
61  vtkBooleanMacro(Preview, int);
63  vtkGetMacro(Preview, int);
64 
66  PlusStatus VideoFormatDialog();
67 
69  PlusStatus VideoSourceDialog();
70 
72  void OnParentWndDestroy();
73 
75  PlusStatus AddFrameToBuffer(void* lpVideoHeader);
76 
78  virtual PlusStatus NotifyConfigured();
79 
80  virtual bool IsTracker() const { return false; }
81 
82 protected:
83 
88 
90  virtual PlusStatus InternalConnect();
91 
94 
97 
100 
106  virtual PlusStatus InternalUpdate();
107 
109  vtkSetStringMacro(WndClassName);
110 
111  char* WndClassName;
112  int Preview;
113 
115 
116  vtkPlusWin32VideoSource2Internal* Internal;
117 
119  PlusStatus UpdateFrameBuffer();
120 
121  void ReleaseSystemResources();
122 
123  igsioVideoFrame UncompressedVideoFrame;
124 
125 private:
126  vtkPlusWin32VideoSource2(const vtkPlusWin32VideoSource2&); // Not implemented.
127  void operator=(const vtkPlusWin32VideoSource2&); // Not implemented.
128 };
129 
130 #endif
virtual void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE
virtual PlusStatus InternalStopRecording()
Abstract interface for tracker and video devices.
Definition: vtkPlusDevice.h:60
virtual PlusStatus InternalConnect()
igsioStatus PlusStatus
Definition: PlusCommon.h:40
Video-for-Windows video digitizer.
PlusStatus SetAcquisitionRate(double aRate)
#define VTK_OVERRIDE
Definition: PlusCommon.h:49
virtual PlusStatus InternalStartRecording()
virtual PlusStatus NotifyConfigured()
virtual PlusStatus InternalDisconnect()
virtual PlusStatus InternalUpdate()
vtkPlusWin32VideoSource2Internal * Internal
static vtkPlusDevice * New()