![]() |
ImFusion SDK 4.3
|
#include <RGBD/Include/ImFusion/RGBD/RGBDStreamFactory.h>
Factory for enumerating available RGB-D streams. More...
Factory for enumerating available RGB-D streams.
This singleton class manages registration and enumeration of RGB-D sensor streams, usually hardware devices. It allows external modules to register custom stream enumerators via lambda functions. When enumerateStreams() is called, all registered enumerators are invoked and their results are aggregated into a single vector of unique pointers to RGBDStream instances.
Usage:
RGBDStreamFactory::get() to access the singleton instance.registerRGBDStream().enumerateStreams() to obtain all detected RGB-D sensor streams.Important aspects:
Example:
Public Member Functions | |
| void | registerRGBDStream (std::function< std::vector< std::unique_ptr< RGBDStream > >()> lambda) |
| Registers a lambda function to enumerate RGB-D streams. | |
| std::vector< std::unique_ptr< RGBDStream > > | enumerateStreams () |
| Calls all registered enumerators and aggregates their output. | |
Static Public Member Functions | |
| static RGBDStreamFactory & | get () |
| Returns the singleton instance of the factory. | |
|
inline |
Registers a lambda function to enumerate RGB-D streams.
The lambda should return all detected sensors as unique pointers.
| lambda | Enumerator function. |
| std::vector< std::unique_ptr< RGBDStream > > enumerateStreams | ( | ) |
Calls all registered enumerators and aggregates their output.