VR-Forces 4.6.1 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtVideoStream.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2012 VT-MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #pragma once
11 
13 
14 #include <vrvCore/DtDe.h>
15 
16 #include <vrvUtil/DtUnicode.h>
17 
19 
20 #include <boost/signal.hpp>
21 
22 namespace makVrv
23 {
24  class DtReadFramebufferCallback;
25  class DtVideoStreamManager;
26  class DtOsgChannel;
27  class DtChannelManager;
28  class DtChannel;
29 
34  {
35  public:
36 
38  {
46  Unavailable
47  };
49  friend class DtVideoStreamCreator;
50 
52  friend class DtVideoStreamManager;
53 
55  virtual ~DtVideoStream();
56 
58  virtual DtUnicode instanceName() const;
59 
64  virtual DtUnicode className() const;
65 
67  virtual bool start();
68 
73  virtual void notifyOtherStreamStarted( const DtVideoStream& startedStream );
74 
76  virtual bool stop();
77 
80  virtual void setAutoStart( bool autoStart );
81 
83  virtual bool autoStart() const;
84 
89  virtual void notifyOtherStreamStopped( const DtVideoStream& stoppedStream );
90 
92  virtual VideoStreamStatus status() const;
93 
95  virtual void setFromRecord(
96  const makArchives::DtVideoStreamRecord& vsRecord );
97 
99  virtual void setFromVideoStream( const DtVideoStream& stream );
100 
102 
103 
104 
106  virtual int channelWidth() const;
107 
109  virtual int channelHeight() const;
110 
112  virtual int channelX() const;
113 
115  virtual int channelY() const;
116 
118  virtual double horizontalFov() const;
119 
121  virtual double verticalFov() const;
123 
125 
126 
127 
128 
130  virtual void setWindowName( const DtUnicode& windowName );
131 
133  virtual DtUnicode windowName() const;
134 
137  virtual void setChannelName( const DtUnicode& channelName );
138 
140  virtual DtUnicode channelName() const;
141 
149  virtual void setDataType( const DtUnicode& dataType );
150 
152  virtual DtUnicode dataType() const;
153 
155  virtual void setFrameRate( int frameRate );
156 
158  virtual int frameRate() const;
159 
167  virtual void setPixelFormat( const DtUnicode& pixelFormat );
168 
170  virtual DtUnicode pixelFormat() const;
171 
173  virtual void setNumBuffers( int numBuffers );
174 
176  virtual int numBuffers() const;
177 
181  virtual void setReadBuffer( const DtUnicode& readBuffer );
182 
184  virtual DtUnicode readBuffer() const;
185 
189  virtual void addImageTask(
190  const makArchives::DtImageTaskRecord& imageTask );
191 
194  virtual void removeImageTask(
195  const makArchives::DtImageTaskRecord& imageTask );
196 
201  virtual void setImageTask( int index,
202  const makArchives::DtImageTaskRecord& imageTask );
203 
205  virtual void setImageTasks(
207 
210  imageTasks() const;
211 
214 
217  virtual void setParameterInt( int taskElementIndex,
218  const DtUnicode& parameterName, int value );
219 
222  virtual void setParameterDouble( int taskElementIndex,
223  const DtUnicode& parameterName, double value );
224 
227  virtual void setParameterBool( int taskElementIndex,
228  const DtUnicode& parameterName, bool value );
229 
232  virtual void setParameterString( int taskElementIndex,
233  const DtUnicode& parameterName, const DtUnicode& value );
234 
237  virtual void setMetadataPublisher(
238  const makArchives::DtMetadataPublisherRecord& pubRecord );
239 
242  virtual void setMetadataPublisherType( const DtUnicode& pubType );
243 
246  virtual void setMetadataPublisherObserverName(
247  const DtUnicode& observer );
248 
250  virtual void setMetadataPublisherParameters(
251  const makArchives::DtNameValueLists& parameters );
252 
254  virtual const makArchives::DtMetadataPublisherRecord& metadataPublisher()
255  const;
257 
259  virtual void swapImageTasks( int index1, int index2 );
260 
262  virtual bool saveVideoStream( const DtUnicode& filePath ) const;
263 
265  virtual bool loadVideoStream( const DtUnicode& filePath );
266 
269  virtual void reportFramebufferCallbackFailure();
270 
272 
273 
274 
277  boost::signal<void ( const DtUnicode& )> signal_windowNameChanged;
278 
280  boost::signal<void ( const DtUnicode& )> signal_channelNameChanged;
281 
284  boost::signal<void ( const DtUnicode& )> signal_dataTypeChanged;
285 
287  boost::signal<void ( int )> signal_frameRateChanged;
288 
291  boost::signal<void ( const DtUnicode& )> signal_pixelFormatChanged;
292 
294  boost::signal<void ( int )> signal_numBuffersChanged;
295 
297  boost::signal<void ( const DtUnicode& )> signal_readBufferChanged;
298 
300  boost::signal<void ( const makArchives::DtImageTaskRecord& )>
302 
304  boost::signal<void ( const makArchives::DtImageTaskRecord& )>
306 
308  boost::signal<void ( int imageTaskIndex )> signal_imageTaskRemoved;
309 
311  boost::signal<void (
314 
316  boost::signal<void ( int index, const makArchives::DtImageTaskRecord& )>
318 
320  boost::signal<void ( const makArchives::DtMetadataPublisherRecord& )>
322 
324  boost::signal<void ( const DtUnicode& )>
326 
328  boost::signal<void ( const DtUnicode& )>
330 
332  boost::signal<void ( const makArchives::DtNameValueLists& )>
334 
336  boost::signal<void ( int index1, int index2 )> signal_imageTasksSwapped;
337 
339  boost::signal<void ( VideoStreamStatus )> signal_videoStreamStatusChanged;
340 
342  boost::signal< void ( bool )> signal_videoStreamAutoStartChanged;
343 
346  boost::signal<void (
347  int taskIndex, const DtUnicode& parameter, int value )>
349 
352  boost::signal<void (
353  int taskIndex, const DtUnicode& parameter, double value )>
355 
358  boost::signal<void (
359  int taskIndex, const DtUnicode& parameter, bool value )>
361 
364  boost::signal<void (
365  int taskIndex, const DtUnicode& parameter, const DtUnicode& value )>
368 
369  protected:
370 
374  const DtUnicode& className, const DtUnicode& instanceName );
375 
377  virtual DtReadFramebufferCallback* createFramebufferReadback();
378 
380  virtual void updateFov();
381 
383  virtual void updateChannelWidthAndHeight();
384 
388  virtual bool installFramebufferCallback();
389 
392  virtual void removeFrameReadback();
393 
395  virtual void slot_channelConfigurationModified(const std::string& displayName,
396  const std::string& windowName, const std::string& channelName );
397 
399  virtual void slot_windowConfigurationModified(const std::string& displayName,
400  const std::string& windowName );
401 
404  virtual void slot_channelToBeDestroyed(DtChannelManager* mgr, DtChannel* channel);
405 
407  virtual void cleanChannel(DtOsgChannel* channel);
408 
409  private:
410 
412  DtVideoStream();
413 
415  DtVideoStream( const DtVideoStream& rhs );
416 
418  DtVideoStream& operator=( const DtVideoStream& rhs );
419 
420  protected:
435  };
436 
440  {
441  public:
443  friend class DtVideoStreamManager;
444 
447 
449  virtual ~DtVideoStreamCreator();
450 
451  protected:
453  virtual DtVideoStream* create( DtDe& de, DtVideoStreamManager& mgr,
454  const DtUnicode& className, const DtUnicode& instanceName ) const;
455  };
456 }

Document ID: Generated on Wed Jul 25 16:57:45 EDT 2018 from SVN revision 190790
Copyright © 2005-2018 VT MÄK. All Rights Reserved (www.mak.com)