7 #include "PlusConfigure.h" 8 #include "vtkObjectFactory.h" 21 , CurrentActiveInputChannel(NULL)
23 , FramesWhileInactive(0)
42 os << indent <<
"Input channel: \n";
43 (*it)->PrintSelf(os, indent);
46 os << indent <<
"Active input channel: \n";
73 double latestCurrentTimestamp(0);
78 LOG_ERROR(
"Unable to retrieve timestamp from active stream.");
119 std::vector<vtkPlusChannel*> ActiveChannels;
124 double latestTimestamp(0);
127 LOG_ERROR(
"Unable to retrieve latest timestamp from stream.");
134 ActiveChannels.push_back(aChannel);
138 if( ActiveChannels.size() > 0 )
176 LOG_ERROR(
"No output channels defined" );
static const int VIRTUAL_DEVICE_FRAME_RATE
virtual void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE
Abstract interface for tracker and video devices.
vtkPlusChannel * OutputChannel
virtual void ShallowCopy(vtkDataObject *)
virtual PlusStatus ReadConfiguration(vtkXMLDataElement *)
ChannelContainer InputChannels
vtkStandardNewMacro(vtkPlusVirtualSwitcher)
virtual PlusStatus InternalUpdate()
virtual PlusStatus GetLatestTimestamp(double &aTimestamp) const
PlusStatus SelectActiveChannel()
virtual PlusStatus NotifyConfigured()
PlusStatus GetChannel(vtkPlusChannel *&aChannel) const
virtual ~vtkPlusVirtualSwitcher()
virtual double GetAcquisitionRate() const
vtkPlusChannel * CurrentActiveInputChannel
virtual void SetOutputChannel(vtkPlusChannel *)
virtual void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE
ChannelContainer::const_iterator ChannelContainerConstIterator
#define XML_FIND_DEVICE_ELEMENT_REQUIRED_FOR_READING(deviceConfig, rootConfigElement)
virtual double GetAcquisitionRate() const
const int FRAME_COUNT_BEFORE_INACTIVE
bool StartThreadForInternalUpdates
PlusStatus CopyInputChannelToOutputChannel()
std::map< vtkPlusChannel *, double > LastRecordedTimestampMap
Contains an optional timestamped circular buffer containing the video images and a number of timestam...
ChannelContainer OutputChannels
unsigned long FramesWhileInactive
virtual void SetCurrentActiveInputChannel(vtkPlusChannel *)
ChannelContainer::iterator ChannelContainerIterator
vtkPlusDevice * GetOwnerDevice() const