Fusion Module

Classes

class  CommunicationParameters
 Holds the communication parameter to configure the connection between senders and receiver. More...
 
class  FusionConfiguration
 useful struct to store the Fusion configuration, can be read from /write to a Json file. More...
 
class  InitFusionParameters
 Holds the options used to initialize the Fusion object. More...
 
class  CameraIdentifier
 Used to identify a specific camera in the Fusion API. More...
 
class  BodyTrackingFusionParameters
 Holds the options used to initialize the body tracking module of the Fusion. More...
 
class  BodyTrackingFusionRuntimeParameters
 Holds the options used to change the behavior of the body tracking module at runtime. More...
 
class  CameraMetrics
 Holds the metrics of a sender in the fusion process. More...
 
class  FusionMetrics
 Holds the metrics of the fusion process. More...
 
class  GeoConverter
 Purely static class for Geo functions. More...
 
class  GeoPose
 Holds Geo data. More...
 
class  Fusion
 Holds Fusion process data and functions. More...
 

Enumerations

enum class  COMM_TYPE
 Lists the types of communications available for Fusion app. More...
 
enum class  FUSION_ERROR_CODE
 Lists the types of error that can be raised by the Fusion. More...
 
enum class  SENDER_ERROR_CODE
 Lists the types of error that can be raised during the Fusion by senders. More...
 
enum class  POSITION_TYPE
 Change the type of outputed position (raw data or fusion data projected into zed camera) More...
 

Functions

ERROR_CODE startPublishing (CommunicationParameters configuration=CommunicationParameters())
 Set this camera as a data provider for the Fusion Module.
Metadata are exchanged with the Fusion. More...
 
CommunicationParameters getCommunicationParameters ()
 Returns the communication parameter of this camera. More...
 
FusionConfiguration readFusionConfigurationFile (std::string json_config_filename, int serial_number, sl::COORDINATE_SYSTEM coord_sys, sl::UNIT unit)
 Read a Configuration JSON file to configure a fusion process. More...
 
std::vector< FusionConfigurationreadFusionConfigurationFile (std::string json_config_filename, sl::COORDINATE_SYSTEM coord_sys, sl::UNIT unit)
 Read a Configuration JSON file to configure a fusion process. More...
 
void writeConfigurationFile (std::string json_config_filename, std::vector< FusionConfiguration > &configuration, sl::COORDINATE_SYSTEM coord_sys, sl::UNIT unit)
 Write a Configuration JSON file to configure a fusion process. More...
 

Enumeration Type Documentation

◆ COMM_TYPE

enum COMM_TYPE
strong

Lists the types of communications available for Fusion app.

Enumerator
LOCAL_NETWORK 
INTRA_PROCESS 

◆ FUSION_ERROR_CODE

enum FUSION_ERROR_CODE
strong

Lists the types of error that can be raised by the Fusion.

Enumerator
NO_NEW_DATA_AVAILABLE 
INVALID_TIMESTAMP 

< All data from all sources were consumed, no new process available.

INVALID_COVARIANCE 

< Problem was detected with ingested timestamp

WRONG_BODY_FORMAT 

< Problem was detected with ingested covariance Senders use different body format, consider to change them.

NOT_ENABLE 

The following module was not enabled.

INPUT_FEED_MISMATCH 

Some source are provided by SVO and some sources are provided by LIVE stream.

CONNECTION_TIMED_OUT 

Connection timed out, impossible to reach the sender, verify the ip/port of the sender.

MEMORY_ALREADY_USED 

intra process shared memory allocation issue, multiple connection to the same data.

BAD_IP_ADDRESS 

The IP format provided is wrong, please provide IP in this format a.b.c.d where (a, b, c, d) are numbers between 0 and 255.

FAILURE 

Standard code for unsuccessful behavior.

SUCCESS 
FUSION_ERRATIC_FPS 

Some big differences has been observed between senders FPS.

FUSION_FPS_TOO_LOW 

At least one sender has fps lower than 10 FPS.

◆ SENDER_ERROR_CODE

enum SENDER_ERROR_CODE
strong

Lists the types of error that can be raised during the Fusion by senders.

Enumerator
DISCONNECTED 

the sender has been disconnected

SUCCESS 
GRAB_ERROR 

the sender has encountered an grab error

ERRATIC_FPS 

the sender does not run with a constant frame rate

FPS_TOO_LOW 

fps lower than 10 FPS

◆ POSITION_TYPE

enum POSITION_TYPE
strong

Change the type of outputed position (raw data or fusion data projected into zed camera)

Enumerator
RAW 
FUSION 

Function Documentation

◆ startPublishing()

ERROR_CODE startPublishing ( CommunicationParameters  configuration = CommunicationParameters())

Set this camera as a data provider for the Fusion Module.
Metadata are exchanged with the Fusion.

Note
If you use it, you should inclue 'sl/Fusion.hpp' to avoid undefined reference.
Returns
SUCCESS if everything went fine, ERROR_CODE::FAILURE otherwise

◆ getCommunicationParameters()

CommunicationParameters getCommunicationParameters ( )

Returns the communication parameter of this camera.

Returns
The CommunicationParameters used to comminucated with the Fusion Module.

◆ readFusionConfigurationFile() [1/2]

FusionConfiguration sl::readFusionConfigurationFile ( std::string  json_config_filename,
int  serial_number,
sl::COORDINATE_SYSTEM  coord_sys,
sl::UNIT  unit 
)

Read a Configuration JSON file to configure a fusion process.

Parameters
json_config_filename: The name of the JSON file containing the configuration
serial_number: the serial number of the ZED Camera you want to retrieve
coord_sys: the COORDINATE_SYSTEM in which you want the World Pose to be in
unit: the UNIT in which you want the World Pose to be in
Returns
a FusionConfiguration for the requested camera
Note
empty if no data were found for the requested camera

◆ readFusionConfigurationFile() [2/2]

std::vector<FusionConfiguration> sl::readFusionConfigurationFile ( std::string  json_config_filename,
sl::COORDINATE_SYSTEM  coord_sys,
sl::UNIT  unit 
)

Read a Configuration JSON file to configure a fusion process.

Parameters
json_config_filename: The name of the JSON file containing the configuration
coord_sys: the COORDINATE_SYSTEM in which you want the World Pose to be in
unit: the UNIT in which you want the World Pose to be in
Returns
a vector of FusionConfiguration for all the camera present in the file
Note
empty if no data were found for the requested camera

◆ writeConfigurationFile()

void sl::writeConfigurationFile ( std::string  json_config_filename,
std::vector< FusionConfiguration > &  configuration,
sl::COORDINATE_SYSTEM  coord_sys,
sl::UNIT  unit 
)

Write a Configuration JSON file to configure a fusion process.

Parameters
json_config_filename: The name of the JSON that will contain the information
confa vector of FusionConfiguration listing all the camera configurations
coord_sys: the COORDINATE_SYSTEM in which the World Pose is
unit: the UNIT in which the World Pose is