Solar
Public Member Functions | List of all members
SolAR::api::sink::ISinkPoseImage Class Referenceabstract

A Sink for a synchronized pose and image useful for AR video see-through pipelines. UUID: c0d9fee4-d7d7-4866-a6cd-3bacac23316a More...

#include <ISinkPoseImage.h>

Inheritance diagram for SolAR::api::sink::ISinkPoseImage:
Inheritance graph
[legend]
Collaboration diagram for SolAR::api::sink::ISinkPoseImage:
Collaboration graph
[legend]

Public Member Functions

virtual ~ISinkPoseImage ()=default
 ~ISinkPoseImage
 
virtual void set (const SolAR::datastructure::Transform3Df &pose, const SRef< SolAR::datastructure::Image > image)=0
 Set a new image and pose coming from the pipeline. More...
 
virtual void set (const SRef< SolAR::datastructure::Image > image)=0
 Set a new image without pose. More...
 
virtual FrameworkReturnCode setImageBuffer (unsigned char *imageBufferPointer)=0
 Set a pointer to the texture buffer to update it with the new image when required. More...
 
virtual SinkReturnCode get (SolAR::datastructure::Transform3Df &pose)=0
 Provide an access to the new image and pose made available by the pipeline. The implementation of this interface must be thread safe. More...
 
virtual SinkReturnCode tryGet (SolAR::datastructure::Transform3Df &pose)=0
 Provide an access to the new image and pose made available by the pipeline only if they have been updated by the pipeline. The implementation of this interface must be thread safe. More...
 

Detailed Description

A Sink for a synchronized pose and image useful for AR video see-through pipelines. UUID: c0d9fee4-d7d7-4866-a6cd-3bacac23316a

This interface allows to store a synchronized pose and image from the pipeline to make it available to a third party application.

Member Function Documentation

◆ get()

virtual SinkReturnCode SolAR::api::sink::ISinkPoseImage::get ( SolAR::datastructure::Transform3Df pose)
pure virtual

Provide an access to the new image and pose made available by the pipeline. The implementation of this interface must be thread safe.

Parameters
[in,out]posethe new pose made available by the pipeline.
Returns
return FrameworkReturnCode::SUCCESS if a new pose and image have been updated, otherwise frameworkReturnCode::_ERROR.

◆ set() [1/2]

virtual void SolAR::api::sink::ISinkPoseImage::set ( const SolAR::datastructure::Transform3Df pose,
const SRef< SolAR::datastructure::Image image 
)
pure virtual

Set a new image and pose coming from the pipeline.

Parameters
[in]poseThe new pose to be made available to a third party application.
[in]imageThe new image to be made available to a third party application.

◆ set() [2/2]

virtual void SolAR::api::sink::ISinkPoseImage::set ( const SRef< SolAR::datastructure::Image image)
pure virtual

Set a new image without pose.

Parameters
[in]imageThe new image to update a buffer texture when required.

◆ setImageBuffer()

virtual FrameworkReturnCode SolAR::api::sink::ISinkPoseImage::setImageBuffer ( unsigned char *  imageBufferPointer)
pure virtual

Set a pointer to the texture buffer to update it with the new image when required.

Parameters
[in]imageBufferthe texture buffer uses to contain the new image
Returns
FrameworkReturnCode::SUCCESS if the texture buffer pointer is well set.

◆ tryGet()

virtual SinkReturnCode SolAR::api::sink::ISinkPoseImage::tryGet ( SolAR::datastructure::Transform3Df pose)
pure virtual

Provide an access to the new image and pose made available by the pipeline only if they have been updated by the pipeline. The implementation of this interface must be thread safe.

Parameters
[in,out]posethe new pose made available by the pipeline.
Returns
return FrameworkReturnCode::SUCCESS if a new pose and image are available, otherwise frameworkReturnCode::_ERROR.

The documentation for this class was generated from the following file: