ACloudViewer  3.9.4
A Modern Library for 3D Data Processing
K4aPlugin.cpp File Reference
#include <k4a/k4a.h>
#include <k4arecord/playback.h>
#include <k4arecord/record.h>
#include <cstdlib>
#include <cstring>
#include <unordered_map>
#include <vector>
#include <dlfcn.h>
#include <link.h>
#include <Helper.h>
#include <Logging.h>
#include "io/sensor/azure_kinect/K4aPlugin.h"
#include "io/sensor/azure_kinect/PluginMacros.h"
Include dependency graph for K4aPlugin.cpp:

Go to the source code of this file.

Namespaces

 cloudViewer
 Generic file read and write utility for python interface.
 
 cloudViewer::io
 
 cloudViewer::io::k4a_plugin
 

Macros

#define DEFINE_BRIDGED_FUNC_WITH_COUNT(lib_name, return_type, f_name, num_args, ...)
 
#define DEFINE_BRIDGED_FUNC(lib_name, return_type, f_name, ...)
 

Functions

static void * cloudViewer::io::k4a_plugin::GetDynamicLibHandle (const std::string &lib_name)
 
k4a_result_t cloudViewer::io::k4a_plugin::k4a_record_create (EXTRACT_TYPES_PARAMS(COUNT_ARGS(const char *, path, k4a_device_t, device, const k4a_device_configuration_t, device_config, k4a_record_t *, recording_handle), const char *, path, k4a_device_t, device, const k4a_device_configuration_t, device_config, k4a_record_t *, recording_handle))
 
k4a_result_t cloudViewer::io::k4a_plugin::k4a_record_add_tag (EXTRACT_TYPES_PARAMS(COUNT_ARGS(k4a_record_t, recording_handle, const char *, name, const char *, value), k4a_record_t, recording_handle, const char *, name, const char *, value))
 
k4a_result_t cloudViewer::io::k4a_plugin::k4a_record_add_imu_track (EXTRACT_TYPES_PARAMS(COUNT_ARGS(k4a_record_t, recording_handle), k4a_record_t, recording_handle))
 
k4a_result_t cloudViewer::io::k4a_plugin::k4a_record_write_header (EXTRACT_TYPES_PARAMS(COUNT_ARGS(k4a_record_t, recording_handle), k4a_record_t, recording_handle))
 
k4a_result_t cloudViewer::io::k4a_plugin::k4a_record_write_capture (EXTRACT_TYPES_PARAMS(COUNT_ARGS(k4a_record_t, recording_handle, k4a_capture_t, capture_handle), k4a_record_t, recording_handle, k4a_capture_t, capture_handle))
 
k4a_result_t cloudViewer::io::k4a_plugin::k4a_record_write_imu_sample (EXTRACT_TYPES_PARAMS(COUNT_ARGS(k4a_record_t, recording_handle, k4a_imu_sample_t, imu_sample), k4a_record_t, recording_handle, k4a_imu_sample_t, imu_sample))
 
k4a_result_t cloudViewer::io::k4a_plugin::k4a_record_flush (EXTRACT_TYPES_PARAMS(COUNT_ARGS(k4a_record_t, recording_handle), k4a_record_t, recording_handle))
 
void cloudViewer::io::k4a_plugin::k4a_record_close (EXTRACT_TYPES_PARAMS(COUNT_ARGS(k4a_record_t, recording_handle), k4a_record_t, recording_handle))
 
k4a_result_t cloudViewer::io::k4a_plugin::k4a_playback_open (EXTRACT_TYPES_PARAMS(COUNT_ARGS(const char *, path, k4a_playback_t *, playback_handle), const char *, path, k4a_playback_t *, playback_handle))
 
k4a_buffer_result_t cloudViewer::io::k4a_plugin::k4a_playback_get_raw_calibration (EXTRACT_TYPES_PARAMS(COUNT_ARGS(k4a_playback_t, playback_handle, uint8_t *, data, size_t *, data_size), k4a_playback_t, playback_handle, uint8_t *, data, size_t *, data_size))
 
k4a_result_t cloudViewer::io::k4a_plugin::k4a_playback_get_calibration (EXTRACT_TYPES_PARAMS(COUNT_ARGS(k4a_playback_t, playback_handle, k4a_calibration_t *, calibration), k4a_playback_t, playback_handle, k4a_calibration_t *, calibration))
 
k4a_result_t cloudViewer::io::k4a_plugin::k4a_playback_get_record_configuration (EXTRACT_TYPES_PARAMS(COUNT_ARGS(k4a_playback_t, playback_handle, k4a_record_configuration_t *, config), k4a_playback_t, playback_handle, k4a_record_configuration_t *, config))
 
k4a_buffer_result_t cloudViewer::io::k4a_plugin::k4a_playback_get_tag (EXTRACT_TYPES_PARAMS(COUNT_ARGS(k4a_playback_t, playback_handle, const char *, name, char *, value, size_t *, value_size), k4a_playback_t, playback_handle, const char *, name, char *, value, size_t *, value_size))
 
k4a_result_t cloudViewer::io::k4a_plugin::k4a_playback_set_color_conversion (EXTRACT_TYPES_PARAMS(COUNT_ARGS(k4a_playback_t, playback_handle, k4a_image_format_t, target_format), k4a_playback_t, playback_handle, k4a_image_format_t, target_format))
 
k4a_stream_result_t cloudViewer::io::k4a_plugin::k4a_playback_get_next_capture (EXTRACT_TYPES_PARAMS(COUNT_ARGS(k4a_playback_t, playback_handle, k4a_capture_t *, capture_handle), k4a_playback_t, playback_handle, k4a_capture_t *, capture_handle))
 
k4a_stream_result_t cloudViewer::io::k4a_plugin::k4a_playback_get_previous_capture (EXTRACT_TYPES_PARAMS(COUNT_ARGS(k4a_playback_t, playback_handle, k4a_capture_t *, capture_handle), k4a_playback_t, playback_handle, k4a_capture_t *, capture_handle))
 
k4a_stream_result_t cloudViewer::io::k4a_plugin::k4a_playback_get_next_imu_sample (EXTRACT_TYPES_PARAMS(COUNT_ARGS(k4a_playback_t, playback_handle, k4a_imu_sample_t *, imu_sample), k4a_playback_t, playback_handle, k4a_imu_sample_t *, imu_sample))
 
k4a_stream_result_t cloudViewer::io::k4a_plugin::k4a_playback_get_previous_imu_sample (EXTRACT_TYPES_PARAMS(COUNT_ARGS(k4a_playback_t, playback_handle, k4a_imu_sample_t *, imu_sample), k4a_playback_t, playback_handle, k4a_imu_sample_t *, imu_sample))
 
k4a_result_t cloudViewer::io::k4a_plugin::k4a_playback_seek_timestamp (EXTRACT_TYPES_PARAMS(COUNT_ARGS(k4a_playback_t, playback_handle, int64_t, offset_usec, k4a_playback_seek_origin_t, origin), k4a_playback_t, playback_handle, int64_t, offset_usec, k4a_playback_seek_origin_t, origin))
 
uint64_t cloudViewer::io::k4a_plugin::k4a_playback_get_last_timestamp_usec (EXTRACT_TYPES_PARAMS(COUNT_ARGS(k4a_playback_t, playback_handle), k4a_playback_t, playback_handle))
 
void cloudViewer::io::k4a_plugin::k4a_playback_close (EXTRACT_TYPES_PARAMS(COUNT_ARGS(k4a_playback_t, playback_handle), k4a_playback_t, playback_handle))
 
uint32_t cloudViewer::io::k4a_plugin::k4a_device_get_installed_count (EXTRACT_TYPES_PARAMS(COUNT_ARGS(),))
 
k4a_result_t cloudViewer::io::k4a_plugin::k4a_set_debug_message_handler (EXTRACT_TYPES_PARAMS(COUNT_ARGS(k4a_logging_message_cb_t *, message_cb, void *, message_cb_context, k4a_log_level_t, min_level), k4a_logging_message_cb_t *, message_cb, void *, message_cb_context, k4a_log_level_t, min_level))
 
k4a_result_t cloudViewer::io::k4a_plugin::k4a_device_open (EXTRACT_TYPES_PARAMS(COUNT_ARGS(uint32_t, index, k4a_device_t *, device_handle), uint32_t, index, k4a_device_t *, device_handle))
 
void cloudViewer::io::k4a_plugin::k4a_device_close (EXTRACT_TYPES_PARAMS(COUNT_ARGS(k4a_device_t, device_handle), k4a_device_t, device_handle))
 
k4a_wait_result_t cloudViewer::io::k4a_plugin::k4a_device_get_capture (EXTRACT_TYPES_PARAMS(COUNT_ARGS(k4a_device_t, device_handle, k4a_capture_t *, capture_handle, int32_t, timeout_in_ms), k4a_device_t, device_handle, k4a_capture_t *, capture_handle, int32_t, timeout_in_ms))
 
k4a_wait_result_t cloudViewer::io::k4a_plugin::k4a_device_get_imu_sample (EXTRACT_TYPES_PARAMS(COUNT_ARGS(k4a_device_t, device_handle, k4a_imu_sample_t *, imu_sample, int32_t, timeout_in_ms), k4a_device_t, device_handle, k4a_imu_sample_t *, imu_sample, int32_t, timeout_in_ms))
 
k4a_result_t cloudViewer::io::k4a_plugin::k4a_capture_create (EXTRACT_TYPES_PARAMS(COUNT_ARGS(k4a_capture_t *, capture_handle), k4a_capture_t *, capture_handle))
 
void cloudViewer::io::k4a_plugin::k4a_capture_release (EXTRACT_TYPES_PARAMS(COUNT_ARGS(k4a_capture_t, capture_handle), k4a_capture_t, capture_handle))
 
void cloudViewer::io::k4a_plugin::k4a_capture_reference (EXTRACT_TYPES_PARAMS(COUNT_ARGS(k4a_capture_t, capture_handle), k4a_capture_t, capture_handle))
 
k4a_image_t cloudViewer::io::k4a_plugin::k4a_capture_get_color_image (EXTRACT_TYPES_PARAMS(COUNT_ARGS(k4a_capture_t, capture_handle), k4a_capture_t, capture_handle))
 
k4a_image_t cloudViewer::io::k4a_plugin::k4a_capture_get_depth_image (EXTRACT_TYPES_PARAMS(COUNT_ARGS(k4a_capture_t, capture_handle), k4a_capture_t, capture_handle))
 
k4a_image_t cloudViewer::io::k4a_plugin::k4a_capture_get_ir_image (EXTRACT_TYPES_PARAMS(COUNT_ARGS(k4a_capture_t, capture_handle), k4a_capture_t, capture_handle))
 
void cloudViewer::io::k4a_plugin::k4a_capture_set_color_image (EXTRACT_TYPES_PARAMS(COUNT_ARGS(k4a_capture_t, capture_handle, k4a_image_t, image_handle), k4a_capture_t, capture_handle, k4a_image_t, image_handle))
 
void cloudViewer::io::k4a_plugin::k4a_capture_set_depth_image (EXTRACT_TYPES_PARAMS(COUNT_ARGS(k4a_capture_t, capture_handle, k4a_image_t, image_handle), k4a_capture_t, capture_handle, k4a_image_t, image_handle))
 
void cloudViewer::io::k4a_plugin::k4a_capture_set_ir_image (EXTRACT_TYPES_PARAMS(COUNT_ARGS(k4a_capture_t, capture_handle, k4a_image_t, image_handle), k4a_capture_t, capture_handle, k4a_image_t, image_handle))
 
void cloudViewer::io::k4a_plugin::k4a_capture_set_temperature_c (EXTRACT_TYPES_PARAMS(COUNT_ARGS(k4a_capture_t, capture_handle, float, temperature_c), k4a_capture_t, capture_handle, float, temperature_c))
 
float cloudViewer::io::k4a_plugin::k4a_capture_get_temperature_c (EXTRACT_TYPES_PARAMS(COUNT_ARGS(k4a_capture_t, capture_handle), k4a_capture_t, capture_handle))
 
k4a_result_t cloudViewer::io::k4a_plugin::k4a_image_create (EXTRACT_TYPES_PARAMS(COUNT_ARGS(k4a_image_format_t, format, int, width_pixels, int, height_pixels, int, stride_bytes, k4a_image_t *, image_handle), k4a_image_format_t, format, int, width_pixels, int, height_pixels, int, stride_bytes, k4a_image_t *, image_handle))
 
k4a_result_t cloudViewer::io::k4a_plugin::k4a_image_create_from_buffer (EXTRACT_TYPES_PARAMS(COUNT_ARGS(k4a_image_format_t, format, int, width_pixels, int, height_pixels, int, stride_bytes, uint8_t *, buffer, size_t, buffer_size, k4a_memory_destroy_cb_t *, buffer_release_cb, void *, buffer_release_cb_context, k4a_image_t *, image_handle), k4a_image_format_t, format, int, width_pixels, int, height_pixels, int, stride_bytes, uint8_t *, buffer, size_t, buffer_size, k4a_memory_destroy_cb_t *, buffer_release_cb, void *, buffer_release_cb_context, k4a_image_t *, image_handle))
 
uint8_t * cloudViewer::io::k4a_plugin::k4a_image_get_buffer (EXTRACT_TYPES_PARAMS(COUNT_ARGS(k4a_image_t, image_handle), k4a_image_t, image_handle))
 
size_t cloudViewer::io::k4a_plugin::k4a_image_get_size (EXTRACT_TYPES_PARAMS(COUNT_ARGS(k4a_image_t, image_handle), k4a_image_t, image_handle))
 
k4a_image_format_t cloudViewer::io::k4a_plugin::k4a_image_get_format (EXTRACT_TYPES_PARAMS(COUNT_ARGS(k4a_image_t, image_handle), k4a_image_t, image_handle))
 
int cloudViewer::io::k4a_plugin::k4a_image_get_width_pixels (EXTRACT_TYPES_PARAMS(COUNT_ARGS(k4a_image_t, image_handle), k4a_image_t, image_handle))
 
int cloudViewer::io::k4a_plugin::k4a_image_get_height_pixels (EXTRACT_TYPES_PARAMS(COUNT_ARGS(k4a_image_t, image_handle), k4a_image_t, image_handle))
 
int cloudViewer::io::k4a_plugin::k4a_image_get_stride_bytes (EXTRACT_TYPES_PARAMS(COUNT_ARGS(k4a_image_t, image_handle), k4a_image_t, image_handle))
 
uint64_t cloudViewer::io::k4a_plugin::k4a_image_get_timestamp_usec (EXTRACT_TYPES_PARAMS(COUNT_ARGS(k4a_image_t, image_handle), k4a_image_t, image_handle))
 
uint64_t cloudViewer::io::k4a_plugin::k4a_image_get_exposure_usec (EXTRACT_TYPES_PARAMS(COUNT_ARGS(k4a_image_t, image_handle), k4a_image_t, image_handle))
 
uint32_t cloudViewer::io::k4a_plugin::k4a_image_get_white_balance (EXTRACT_TYPES_PARAMS(COUNT_ARGS(k4a_image_t, image_handle), k4a_image_t, image_handle))
 
uint32_t cloudViewer::io::k4a_plugin::k4a_image_get_iso_speed (EXTRACT_TYPES_PARAMS(COUNT_ARGS(k4a_image_t, image_handle), k4a_image_t, image_handle))
 
void cloudViewer::io::k4a_plugin::k4a_image_set_timestamp_usec (EXTRACT_TYPES_PARAMS(COUNT_ARGS(k4a_image_t, image_handle, uint64_t, timestamp_usec), k4a_image_t, image_handle, uint64_t, timestamp_usec))
 
void cloudViewer::io::k4a_plugin::k4a_image_set_exposure_time_usec (EXTRACT_TYPES_PARAMS(COUNT_ARGS(k4a_image_t, image_handle, uint64_t, exposure_usec), k4a_image_t, image_handle, uint64_t, exposure_usec))
 
void cloudViewer::io::k4a_plugin::k4a_image_set_white_balance (EXTRACT_TYPES_PARAMS(COUNT_ARGS(k4a_image_t, image_handle, uint32_t, white_balance), k4a_image_t, image_handle, uint32_t, white_balance))
 
void cloudViewer::io::k4a_plugin::k4a_image_set_iso_speed (EXTRACT_TYPES_PARAMS(COUNT_ARGS(k4a_image_t, image_handle, uint32_t, iso_speed), k4a_image_t, image_handle, uint32_t, iso_speed))
 
void cloudViewer::io::k4a_plugin::k4a_image_reference (EXTRACT_TYPES_PARAMS(COUNT_ARGS(k4a_image_t, image_handle), k4a_image_t, image_handle))
 
void cloudViewer::io::k4a_plugin::k4a_image_release (EXTRACT_TYPES_PARAMS(COUNT_ARGS(k4a_image_t, image_handle), k4a_image_t, image_handle))
 
k4a_result_t cloudViewer::io::k4a_plugin::k4a_device_start_cameras (EXTRACT_TYPES_PARAMS(COUNT_ARGS(k4a_device_t, device_handle, k4a_device_configuration_t *, config), k4a_device_t, device_handle, k4a_device_configuration_t *, config))
 
void cloudViewer::io::k4a_plugin::k4a_device_stop_cameras (EXTRACT_TYPES_PARAMS(COUNT_ARGS(k4a_device_t, device_handle), k4a_device_t, device_handle))
 
k4a_result_t cloudViewer::io::k4a_plugin::k4a_device_start_imu (EXTRACT_TYPES_PARAMS(COUNT_ARGS(k4a_device_t, device_handle), k4a_device_t, device_handle))
 
void cloudViewer::io::k4a_plugin::k4a_device_stop_imu (EXTRACT_TYPES_PARAMS(COUNT_ARGS(k4a_device_t, device_handle), k4a_device_t, device_handle))
 
k4a_buffer_result_t cloudViewer::io::k4a_plugin::k4a_device_get_serialnum (EXTRACT_TYPES_PARAMS(COUNT_ARGS(k4a_device_t, device_handle, char *, serial_number, size_t *, serial_number_size), k4a_device_t, device_handle, char *, serial_number, size_t *, serial_number_size))
 
k4a_result_t cloudViewer::io::k4a_plugin::k4a_device_get_version (EXTRACT_TYPES_PARAMS(COUNT_ARGS(k4a_device_t, device_handle, k4a_hardware_version_t *, version), k4a_device_t, device_handle, k4a_hardware_version_t *, version))
 
k4a_result_t cloudViewer::io::k4a_plugin::k4a_device_get_color_control_capabilities (EXTRACT_TYPES_PARAMS(COUNT_ARGS(k4a_device_t, device_handle, k4a_color_control_command_t, command, bool *, supports_auto, int32_t *, min_value, int32_t *, max_value, int32_t *, step_value, int32_t *, default_value, k4a_color_control_mode_t *, default_mode), k4a_device_t, device_handle, k4a_color_control_command_t, command, bool *, supports_auto, int32_t *, min_value, int32_t *, max_value, int32_t *, step_value, int32_t *, default_value, k4a_color_control_mode_t *, default_mode))
 
k4a_result_t cloudViewer::io::k4a_plugin::k4a_device_get_color_control (EXTRACT_TYPES_PARAMS(COUNT_ARGS(k4a_device_t, device_handle, k4a_color_control_command_t, command, k4a_color_control_mode_t *, mode, int32_t *, value), k4a_device_t, device_handle, k4a_color_control_command_t, command, k4a_color_control_mode_t *, mode, int32_t *, value))
 
k4a_result_t cloudViewer::io::k4a_plugin::k4a_device_set_color_control (EXTRACT_TYPES_PARAMS(COUNT_ARGS(k4a_device_t, device_handle, k4a_color_control_command_t, command, k4a_color_control_mode_t, mode, int32_t, value), k4a_device_t, device_handle, k4a_color_control_command_t, command, k4a_color_control_mode_t, mode, int32_t, value))
 
k4a_buffer_result_t cloudViewer::io::k4a_plugin::k4a_device_get_raw_calibration (EXTRACT_TYPES_PARAMS(COUNT_ARGS(k4a_device_t, device_handle, uint8_t *, data, size_t *, data_size), k4a_device_t, device_handle, uint8_t *, data, size_t *, data_size))
 
k4a_result_t cloudViewer::io::k4a_plugin::k4a_device_get_calibration (EXTRACT_TYPES_PARAMS(COUNT_ARGS(k4a_device_t, device_handle, const k4a_depth_mode_t, depth_mode, const k4a_color_resolution_t, color_resolution, k4a_calibration_t *, calibration), k4a_device_t, device_handle, const k4a_depth_mode_t, depth_mode, const k4a_color_resolution_t, color_resolution, k4a_calibration_t *, calibration))
 
k4a_result_t cloudViewer::io::k4a_plugin::k4a_device_get_sync_jack (EXTRACT_TYPES_PARAMS(COUNT_ARGS(k4a_device_t, device_handle, bool *, sync_in_jack_connected, bool *, sync_out_jack_connected), k4a_device_t, device_handle, bool *, sync_in_jack_connected, bool *, sync_out_jack_connected))
 
k4a_result_t cloudViewer::io::k4a_plugin::k4a_calibration_get_from_raw (EXTRACT_TYPES_PARAMS(COUNT_ARGS(char *, raw_calibration, size_t, raw_calibration_size, const k4a_depth_mode_t, depth_mode, const k4a_color_resolution_t, color_resolution, k4a_calibration_t *, calibration), char *, raw_calibration, size_t, raw_calibration_size, const k4a_depth_mode_t, depth_mode, const k4a_color_resolution_t, color_resolution, k4a_calibration_t *, calibration))
 
k4a_result_t cloudViewer::io::k4a_plugin::k4a_calibration_3d_to_3d (EXTRACT_TYPES_PARAMS(COUNT_ARGS(const k4a_calibration_t *, calibration, const k4a_float3_t *, source_point3d_mm, const k4a_calibration_type_t, source_camera, const k4a_calibration_type_t, target_camera, k4a_float3_t *, target_point3d_mm), const k4a_calibration_t *, calibration, const k4a_float3_t *, source_point3d_mm, const k4a_calibration_type_t, source_camera, const k4a_calibration_type_t, target_camera, k4a_float3_t *, target_point3d_mm))
 
k4a_result_t cloudViewer::io::k4a_plugin::k4a_calibration_2d_to_3d (EXTRACT_TYPES_PARAMS(COUNT_ARGS(const k4a_calibration_t *, calibration, const k4a_float2_t *, source_point2d, const float, source_depth_mm, const k4a_calibration_type_t, source_camera, const k4a_calibration_type_t, target_camera, k4a_float3_t *, target_point3d_mm, int *, valid), const k4a_calibration_t *, calibration, const k4a_float2_t *, source_point2d, const float, source_depth_mm, const k4a_calibration_type_t, source_camera, const k4a_calibration_type_t, target_camera, k4a_float3_t *, target_point3d_mm, int *, valid))
 
k4a_result_t cloudViewer::io::k4a_plugin::k4a_calibration_3d_to_2d (EXTRACT_TYPES_PARAMS(COUNT_ARGS(const k4a_calibration_t *, calibration, const k4a_float3_t *, source_point3d_mm, const k4a_calibration_type_t, source_camera, const k4a_calibration_type_t, target_camera, k4a_float2_t *, target_point2d, int *, valid), const k4a_calibration_t *, calibration, const k4a_float3_t *, source_point3d_mm, const k4a_calibration_type_t, source_camera, const k4a_calibration_type_t, target_camera, k4a_float2_t *, target_point2d, int *, valid))
 
k4a_result_t cloudViewer::io::k4a_plugin::k4a_calibration_2d_to_2d (EXTRACT_TYPES_PARAMS(COUNT_ARGS(const k4a_calibration_t *, calibration, const k4a_float2_t *, source_point2d, const float, source_depth_mm, const k4a_calibration_type_t, source_camera, const k4a_calibration_type_t, target_camera, k4a_float2_t *, target_point2d, int *, valid), const k4a_calibration_t *, calibration, const k4a_float2_t *, source_point2d, const float, source_depth_mm, const k4a_calibration_type_t, source_camera, const k4a_calibration_type_t, target_camera, k4a_float2_t *, target_point2d, int *, valid))
 
k4a_transformation_t cloudViewer::io::k4a_plugin::k4a_transformation_create (EXTRACT_TYPES_PARAMS(COUNT_ARGS(const k4a_calibration_t *, calibration), const k4a_calibration_t *, calibration))
 
void cloudViewer::io::k4a_plugin::k4a_transformation_destroy (EXTRACT_TYPES_PARAMS(COUNT_ARGS(k4a_transformation_t, transformation_handle), k4a_transformation_t, transformation_handle))
 
k4a_result_t cloudViewer::io::k4a_plugin::k4a_transformation_depth_image_to_color_camera (EXTRACT_TYPES_PARAMS(COUNT_ARGS(k4a_transformation_t, transformation_handle, const k4a_image_t, depth_image, k4a_image_t, transformed_depth_image), k4a_transformation_t, transformation_handle, const k4a_image_t, depth_image, k4a_image_t, transformed_depth_image))
 
k4a_result_t cloudViewer::io::k4a_plugin::k4a_transformation_color_image_to_depth_camera (EXTRACT_TYPES_PARAMS(COUNT_ARGS(k4a_transformation_t, transformation_handle, const k4a_image_t, depth_image, const k4a_image_t, color_image, k4a_image_t, transformed_color_image), k4a_transformation_t, transformation_handle, const k4a_image_t, depth_image, const k4a_image_t, color_image, k4a_image_t, transformed_color_image))
 
k4a_result_t cloudViewer::io::k4a_plugin::k4a_transformation_depth_image_to_point_cloud (EXTRACT_TYPES_PARAMS(COUNT_ARGS(k4a_transformation_t, transformation_handle, const k4a_image_t, depth_image, const k4a_calibration_type_t, camera, k4a_image_t, xyz_image), k4a_transformation_t, transformation_handle, const k4a_image_t, depth_image, const k4a_calibration_type_t, camera, k4a_image_t, xyz_image))
 

Variables

static const std::string cloudViewer::io::k4a_plugin::k4a_lib_name = "libk4a.so"
 
static const std::string cloudViewer::io::k4a_plugin::k4arecord_lib_name = "libk4arecord.so"
 

Macro Definition Documentation

◆ DEFINE_BRIDGED_FUNC

#define DEFINE_BRIDGED_FUNC (   lib_name,
  return_type,
  f_name,
  ... 
)
Value:
DEFINE_BRIDGED_FUNC_WITH_COUNT(lib_name, return_type, f_name, \
COUNT_ARGS(__VA_ARGS__), __VA_ARGS__)
#define DEFINE_BRIDGED_FUNC_WITH_COUNT(lib_name, return_type, f_name, num_args,...)
Definition: K4aPlugin.cpp:160
#define COUNT_ARGS(...)
Definition: PluginMacros.h:49

Definition at line 178 of file K4aPlugin.cpp.

◆ DEFINE_BRIDGED_FUNC_WITH_COUNT

#define DEFINE_BRIDGED_FUNC_WITH_COUNT (   lib_name,
  return_type,
  f_name,
  num_args,
  ... 
)
Value:
return_type f_name(EXTRACT_TYPES_PARAMS(num_args, __VA_ARGS__)) { \
typedef return_type (*f_type)( \
EXTRACT_TYPES_PARAMS(num_args, __VA_ARGS__)); \
static f_type f = nullptr; \
\
if (!f) { \
f = (f_type)dlsym(GetDynamicLibHandle(lib_name), #f_name); \
if (!f) { \
utility::LogError("Cannot load {}: {}", #f_name, dlerror()); \
} \
} \
return f(EXTRACT_PARAMS(num_args, __VA_ARGS__)); \
}
#define EXTRACT_PARAMS(num_args,...)
Definition: PluginMacros.h:216
#define EXTRACT_TYPES_PARAMS(num_args,...)
Definition: PluginMacros.h:148
#define LogError(...)
Definition: Logging.h:60
static void * GetDynamicLibHandle(const std::string &lib_name)
Definition: K4aPlugin.cpp:108

Definition at line 160 of file K4aPlugin.cpp.