Skip to content
Snippets Groups Projects
Commit 5b13ac10 authored by Jeremie Deray's avatar Jeremie Deray
Browse files

pre-process incoming CaptureBase to CaptureMotion

parent 7cd8439c
No related branches found
No related tags found
1 merge request!204pre-process incoming CaptureBase to CaptureMotion
Pipeline #
......@@ -46,7 +46,14 @@ void ProcessorMotion::process(CaptureBasePtr _incoming_ptr)
return;
}
incoming_ptr_ = std::static_pointer_cast<CaptureMotion>(_incoming_ptr);
incoming_ptr_ = processIncomingCapture(_incoming_ptr);
/// @todo Anything else to do ?
if (incoming_ptr_ == nullptr)
{
WOLF_WARN("Processor motion received a nullptr incoming_ptr_.")
return;
}
preProcess(); // Derived class operations
......
......@@ -198,6 +198,15 @@ class ProcessorMotion : public ProcessorBase
void splitBuffer(const TimeStamp& _t_split, MotionBuffer& _oldest_part);
void reintegrateBuffer(CaptureMotionPtr _capture_ptr);
/**
* @brief @brief Process the incoming CaptureBase an return a CaptureMotion.
* If not overloaded, the default impl simply calls
* static_pointer_cast<CaptureMotion>(incoming).
* @param _incoming_ptr, the incoming Capture to be processed.
* @return A CaptureMotionPtr.
*/
CaptureMotionPtr processIncomingCapture(CaptureBasePtr _incoming_ptr);
/** Pre-process incoming Capture
*
* This is called by process() just after assigning incoming_ptr_ to a valid Capture.
......@@ -508,6 +517,11 @@ inline Scalar ProcessorMotion::updateDt()
return dt_ = incoming_ptr_->getTimeStamp() - getBuffer().get().back().ts_;
}
inline CaptureMotionPtr ProcessorMotion::processIncomingCapture(CaptureBasePtr _incoming_ptr)
{
return std::static_pointer_cast<CaptureMotion>(_incoming_ptr);
}
inline const MotionBuffer& ProcessorMotion::getBuffer() const
{
return last_ptr_->getBuffer();
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment