ImFusion SDK 4.3
RGBDStreamFactory Class Reference

#include <RGBD/Include/ImFusion/RGBD/RGBDStreamFactory.h>

Factory for enumerating available RGB-D streams. More...

Detailed Description

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:

Important aspects:

  • Supports modular extension by allowing multiple enumerators.
  • Ensures only one factory instance exists (singleton pattern).
  • Not thread-safe.

Example:

// Register a custom enumerator
// ... populate streams ...
return streams;
});
// Enumerate all available streams
static RGBDStreamFactory & get()
Returns the singleton instance of the factory.
Definition RGBDStreamFactory.h:49
void registerRGBDStream(std::function< std::vector< std::unique_ptr< RGBDStream > >()> lambda)
Registers a lambda function to enumerate RGB-D streams.
Definition RGBDStreamFactory.h:58
std::vector< std::unique_ptr< RGBDStream > > enumerateStreams()
Calls all registered enumerators and aggregates their output.

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 RGBDStreamFactoryget ()
 Returns the singleton instance of the factory.
 

Member Function Documentation

◆ registerRGBDStream()

void registerRGBDStream ( std::function< std::vector< std::unique_ptr< RGBDStream > >()> lambda)
inline

Registers a lambda function to enumerate RGB-D streams.

The lambda should return all detected sensors as unique pointers.

Parameters
lambdaEnumerator function.

◆ enumerateStreams()

std::vector< std::unique_ptr< RGBDStream > > enumerateStreams ( )

Calls all registered enumerators and aggregates their output.

Returns
Vector of unique pointers to all detected RGBDStream instances.

The documentation for this class was generated from the following file:
Search Tab / S to search, Esc to close