Solar
Public Member Functions | List of all members
SolAR::MODULES::OPENGL::SinkPoseTextureBuffer Class Reference

A Sink for a synchronized pose and texture buffer based on OpenGL texture buffer useful for AR video see-through pipelines. UUID: 3af7813c-4647-4d70-9cc6-e3cedd8dd77c More...

#include <SolARSinkPoseTextureBufferOpengl.h>

Inheritance diagram for SolAR::MODULES::OPENGL::SinkPoseTextureBuffer:
Inheritance graph
[legend]
Collaboration diagram for SolAR::MODULES::OPENGL::SinkPoseTextureBuffer:
Collaboration graph
[legend]

Public Member Functions

void set (const datastructure::Transform3Df &pose, const SRef< datastructure::Image > image) override
 Set a new image and pose coming from the pipeline. More...
 
void set (const SRef< datastructure::Image > image) override
 Set a new image without pose. More...
 
FrameworkReturnCode setTextureBuffer (void *textureBufferPointer) override
 Set a pointer to the texture buffer to update it with the new image when required. More...
 
void updateFrameDataOGL (int enventID) override
 
api::sink::SinkReturnCode udpate (datastructure::Transform3Df &pose) override
 Provide an access to the new pose and update the texture buffer with the new image. The implementation of this interface must be thread safe. More...
 
api::sink::SinkReturnCode tryUpdate (datastructure::Transform3Df &pose) override
 Provide an access to the new pose and update the texture buffer with the new image only if the image and the pose have been updated by the pipeline. The implementation of this interface must be thread safe. More...
 
void unloadComponent () override final
 

Detailed Description

A Sink for a synchronized pose and texture buffer based on OpenGL texture buffer useful for AR video see-through pipelines. UUID: 3af7813c-4647-4d70-9cc6-e3cedd8dd77c

This component allows to make available a pose to a third party application and to update a OpenGL texture buffer with a new image.

Member Function Documentation

◆ set() [1/2]

void SolAR::MODULES::OPENGL::SinkPoseTextureBuffer::set ( const datastructure::Transform3Df &  pose,
const SRef< datastructure::Image >  image 
)
override

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 update a buffer texture when required.

◆ set() [2/2]

void SolAR::MODULES::OPENGL::SinkPoseTextureBuffer::set ( const SRef< datastructure::Image >  image)
override

Set a new image without pose.

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

◆ setTextureBuffer()

FrameworkReturnCode SolAR::MODULES::OPENGL::SinkPoseTextureBuffer::setTextureBuffer ( void *  textureBufferPointer)
override

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

Parameters
[in]textureBufferPointerthe pointer on texture buffer
Returns
FrameworkReturnCode::SUCCESS if the texture buffer pointer is well set.

◆ tryUpdate()

api::sink::SinkReturnCode SolAR::MODULES::OPENGL::SinkPoseTextureBuffer::tryUpdate ( datastructure::Transform3Df &  pose)
override

Provide an access to the new pose and update the texture buffer with the new image only if the image and the pose 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.

◆ udpate()

api::sink::SinkReturnCode SolAR::MODULES::OPENGL::SinkPoseTextureBuffer::udpate ( datastructure::Transform3Df &  pose)
override

Provide an access to the new pose and update the texture buffer with the new image. 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: