PipelinePlugin< InputType, OutputType > Class Template Reference
[Base class layer.]

class PipelinePlugin: One processing element in the frame processing pipeline. More...

#include <pipelinePlugin.h>

Inheritance diagram for PipelinePlugin< InputType, OutputType >:

FrameProducer< OutputType > List of all members.

Public Member Functions

 PipelinePlugin (vector< FrameProducer< InputType > * > inputProducers)
 Constructor.
 PipelinePlugin (FrameProducer< InputType > *inputProducer)
 Constructor.
void onTimer ()
 Per frame processing trigger.

Protected Member Functions

virtual void mainFrame (InputType *sourcePtr, OutputType &dest)=0
 Primary per-frame processing function.
virtual void combineFrames (vector< InputType * > &manyFrames, InputType &oneFrame)
 Generates a single input frame by aggregating the current frame from each input FrameProducer.

Detailed Description

template<class InputType, class OutputType>
class PipelinePlugin< InputType, OutputType >

class PipelinePlugin: One processing element in the frame processing pipeline.

This element will receive a frame, perform a processing operation on that frame, and offer the new frame data to successive elements in the pipeline.


Constructor & Destructor Documentation

template<class InputType, class OutputType>
PipelinePlugin< InputType, OutputType >::PipelinePlugin vector< FrameProducer< InputType > * >  inputProducers  ) 
 

Constructor.

Parameters:
[in] inputProducers A vector of pointers to frame producers of type InputType.

template<class InputType, class OutputType>
PipelinePlugin< InputType, OutputType >::PipelinePlugin FrameProducer< InputType > *  inputProducer  ) 
 

Constructor.

Parameters:
[in] inputProducers A pointers to a frame producer of type InputType.


Member Function Documentation

template<class InputType, class OutputType>
void PipelinePlugin< InputType, OutputType >::combineFrames vector< InputType * > &  manyFrames,
InputType &  oneFrame
[protected, virtual]
 

Generates a single input frame by aggregating the current frame from each input FrameProducer.

Called prior to mainFrame() in order to generate a single input frame by performing some operation on the current frame of each input FrameProducer.

Redefined by subclasses in order to define what this combining operation entails. If not redefined, default behavior is to copy the first input frame to the output frame.

Parameters:
[in] manyFrames A vector of input frames, one from each input FrameProducer.
[out] outFrame A single frame which represents the data from each input FrameProducer.

template<class InputType, class OutputType>
virtual void PipelinePlugin< InputType, OutputType >::mainFrame InputType *  sourcePtr,
OutputType &  dest
[protected, pure virtual]
 

Primary per-frame processing function.

Called once per frame after the combineFrames() function has aggregated the data from each input FrameProducer. If only one input FrameProducer exists, then sourcePtr is it's current frame, and combineFrames() is not called. Must generate an output frame.

Redefined by subclasses to implement per-frame functionality.

Parameters:
[in] sourcePtr A single frame of data representing the combined input from each input FrameProducer.
[out] dest A single frame of data.

Implemented in ImageProc, and Tracker.

template<class InputType, class OutputType>
void PipelinePlugin< InputType, OutputType >::onTimer  ) 
 

Per frame processing trigger.

Called by client application to invoke per-frame processing.


The documentation for this class was generated from the following file:
Generated on Wed Mar 15 08:01:32 2006 for pvclib by  doxygen 1.4.6-NO