| PST SDK 6.0.0.0-272350a

pstsdk_c.h
Go to the documentation of this file.
1 // Copyright PS-Tech B.V. All Rights Reserved.
2 #pragma once
3
4 #if (defined(_WIN32) || defined(_MSC_VER) || defined(__MWERKS__) || defined(__BORLANDC__))
5 # ifdef pstsdk_c_EXPORTS
6 # define PST_C_EXPORT __declspec(dllexport)
7 # else
8 # define PST_C_EXPORT __declspec(dllimport)
9 # endif
10 #else
11 # define PST_C_EXPORT
12 #endif
13
14 #ifdef __cplusplus
15 extern "C" {
16 #else
17 #include <stdbool.h>
18 #include <stddef.h>
19 #endif
20
43 typedef enum EPstErrorStatus
44 {
45 PST_ERROR_STATUS_OK = 0,
46 PST_ERROR_STATUS_TRACKER_ERROR = 1,
47 PST_ERROR_STATUS_NOT_INITIALIZED_ERROR = 2,
48 PST_ERROR_STATUS_NOT_SUPPORTED_ERROR = 3,
49 PST_ERROR_STATUS_OUT_OF_RANGE_ERROR = 4,
50 PST_ERROR_STATUS_NOT_FOUND_ERROR = 5,
51 PST_ERROR_STATUS_HTTP_ERROR = 6,
52 PST_ERROR_STATUS_FAILED_TO_ALLOCATE_MEMORY_ERROR = 7,
53 PST_ERROR_STATUS_NULLPTR_ERROR = 8,
54 PST_ERROR_STATUS_IMAGE_RETRIEVAL_FAILED_ERROR = 9,
55 PST_ERROR_STATUS_INVALID_DATA_ERROR = 10,
56 PST_ERROR_STATUS_ALREADY_EXISTS_ERROR = 11,
57 PST_ERROR_STATUS_JSON_PARSING_ERROR = 12,
59 } EPstErrorStatus;
60
68 typedef enum EPstStatusMessage
69 {
70 PST_STATUSMESSAGE_OK = 0,
71 PST_STATUSMESSAGE_NOT_INITIALIZED = 1,
72 PST_STATUSMESSAGE_DISCONNECTED = 2,
73 PST_STATUSMESSAGE_ERR_GENERAL = 3,
74 PST_STATUSMESSAGE_ERR_TIMEOUT = 4,
75 PST_STATUSMESSAGE_ERR_NOCAMS_FOUND = 5,
76 PST_STATUSMESSAGE_ERR_NOTENOUGHTCAMS_FOUND = 6,
77 PST_STATUSMESSAGE_ERR_INITERROR = 7,
78 PST_STATUSMESSAGE_ERR_CANNOT_START_CAMS = 8,
79 PST_STATUSMESSAGE_ERR_CANNOT_SETUP_CAMS = 9,
80 PST_STATUSMESSAGE_ERR_NULL_TRACKER_HANDLE = 10,
81 PST_STATUSMESSAGE_ERR_UNKNOWN_STATUS = 11,
82 } EPstStatusMessage;
83
94 typedef enum EPstTrackerMode
95 {
96 PST_MODE_LOWPOWER = 0,
97 PST_MODE_SETUP = 1,
98 PST_MODE_TRACKING = 2,
99 PST_MODE_TRAINING = 3,
100 PST_MODE_DISCONNECT = 4,
101 PST_MODE_RECONNECT = 5,
102 PST_MODE_UNKNOWN = 6,
103 } EPstTrackerMode;
104
116 typedef struct PstImage
117 {
118 size_t width;
119 size_t height;
120 size_t number_of_images;
121 unsigned char** images;
122 } PstImage;
123
131 typedef struct PstTarget
132 {
133 char name[128];
134 char uuid[37];
135 int id;
136 } PstTarget;
137
150 typedef struct PstTargetStatus
151 {
152 PstTarget target;
153 bool status;
154 } PstTargetStatus;
155
166 typedef struct PstPoint
167 {
168 int id;
169 float position[3];
170 } PstPoint;
171
183 typedef struct PstTargetPose
184 {
185 PstTarget target;
186 float pose_matrix[16];
187 size_t number_of_matched_points;
188 PstPoint* matched_points;
189 } PstTargetPose;
190
199 typedef struct PstTargetMarker
200 {
201 float coordinates[3];
202 } PstTargetMarker;
203
212 typedef struct PstTargetMarkers
213 {
214 PstTargetMarker* markers;
215 size_t number_of_markers;
216 } PstTargetMarkers;
217
231 typedef struct PstTrackerData
232 {
233 double timestamp;
234 int seqnumber;
235 size_t number_of_targets;
236 size_t number_of_points;
237 PstTargetPose* targetlist;
238 PstPoint* datapoints;
239 } PstTrackerData;
240
247 typedef struct PstTracker
248 {
249 void* tracker;
250 } PstTracker;
251
260 typedef struct PstCameraURLs
261 {
262 char** url_data;
263 size_t number_of_urls;
264 } PstCameraURLs;
265
280 PST_C_EXPORT EPstErrorStatus pst_alloc_and_get_last_error_message(char** cstring);
281
297 PST_C_EXPORT EPstErrorStatus pst_tracker_init( PstTracker* ctracker);
298
315 PST_C_EXPORT EPstErrorStatus pst_tracker_init1(PstTracker* ctracker, const char path[]);
316
334 PST_C_EXPORT EPstErrorStatus pst_tracker_init2(PstTracker* ctracker, const char path[], const char config_file[]);
335
354 PST_C_EXPORT EPstErrorStatus pst_tracker_init3(PstTracker* ctracker, const char path[], const char config_file[], const char db_file[]);
355
375 PST_C_EXPORT EPstErrorStatus pst_tracker_init4(PstTracker* ctracker, const char path[], const char config_file[], const char db_file[], const char grabber_name[]);
376
380 PST_C_EXPORT void pst_tracker_destroy(PstTracker* ctracker);
381
395 PST_C_EXPORT EPstErrorStatus pst_tracker_load_calibration_from_local_path(const PstTracker* ctracker, const char path[]);
396
409 PST_C_EXPORT EPstErrorStatus pst_tracker_get_connected_camera_urls(const PstTracker* ctracker, bool silent, PstCameraURLs* urls);
410
428 PST_C_EXPORT EPstErrorStatus pst_tracker_get_uncalibrated_camera_urls(const PstTracker* ctracker, bool silent, PstCameraURLs* urls);
429
444 PST_C_EXPORT EPstErrorStatus pst_tracker_alloc_and_get_version_info(const PstTracker* ctracker, char** version_string);
445
460 PST_C_EXPORT EPstErrorStatus pst_tracker_alloc_and_get_config_path(const PstTracker* ctracker, char** config_path);
461
481 PST_C_EXPORT EPstErrorStatus pst_tracker_get_single_measurement(const PstTracker* ctracker, PstTrackerData* cdata);
482
499 PST_C_EXPORT EPstErrorStatus pst_tracker_add_tracker_data_callback(PstTracker* ctracker, void (*on_tracker_data)(const PstTrackerData* , EPstErrorStatus));
500
517 PST_C_EXPORT EPstErrorStatus pst_tracker_add_tracker_mode_callback(PstTracker* ctracker, void (*on_tracker_mode)(EPstTrackerMode));
518
543 PST_C_EXPORT EPstErrorStatus pst_tracker_add_tracker_callbacks(PstTracker* ctracker, void (*on_tracker_data)(const PstTrackerData* , EPstErrorStatus), void (*on_tracker_mode)(EPstTrackerMode));
544
558 PST_C_EXPORT EPstErrorStatus pst_tracker_remove_tracker_data_callback(PstTracker* ctracker, void (*on_tracker_data)(const PstTrackerData* , EPstErrorStatus));
559
573 PST_C_EXPORT EPstErrorStatus pst_tracker_remove_tracker_mode_callback(PstTracker* ctracker, void (*on_tracker_mode)(EPstTrackerMode));
574
589 PST_C_EXPORT EPstErrorStatus pst_tracker_remove_tracker_callbacks(PstTracker* ctracker, void (*on_tracker_data)(const PstTrackerData* , EPstErrorStatus), void (*on_tracker_mode)(EPstTrackerMode));
590
602 PST_C_EXPORT EPstErrorStatus pst_tracker_start(PstTracker* ctracker);
603
616 PST_C_EXPORT EPstErrorStatus pst_tracker_pause(PstTracker* ctracker);
617
631 PST_C_EXPORT EPstStatusMessage pst_tracker_system_check(const PstTracker* ctracker);
632
646 PST_C_EXPORT EPstErrorStatus pst_tracker_set_framerate(PstTracker* ctracker, double fps);
647
661 PST_C_EXPORT EPstErrorStatus pst_tracker_get_framerate(const PstTracker* ctracker, double* fps);
662
682 PST_C_EXPORT EPstErrorStatus pst_tracker_alloc_and_get_supported_framerates(const PstTracker* ctracker, float** framerates, size_t* number_of_framerates);
683
698 PST_C_EXPORT EPstErrorStatus pst_tracker_set_exposure(PstTracker* ctracker, double time);
699
712 PST_C_EXPORT EPstErrorStatus pst_tracker_get_exposure(const PstTracker* ctracker, double* exposure);
713
733 PST_C_EXPORT EPstErrorStatus pst_tracker_get_exposure_range(const PstTracker* ctracker, double* min, double* max);
734
755 PST_C_EXPORT EPstErrorStatus pst_tracker_enable_filtering(PstTracker* ctracker);
756
769 PST_C_EXPORT EPstErrorStatus pst_tracker_disable_filtering(PstTracker* ctracker);
770
785 PST_C_EXPORT EPstErrorStatus pst_tracker_set_position_filter(PstTracker* ctracker, double value);
786
801 PST_C_EXPORT EPstErrorStatus pst_tracker_set_orientation_filter(PstTracker* ctracker, double value);
802
821 PST_C_EXPORT EPstErrorStatus pst_tracker_enable_tremor_filter(PstTracker* ctracker);
822
835 PST_C_EXPORT EPstErrorStatus pst_tracker_disable_tremor_filter(PstTracker* ctracker);
836
856 PST_C_EXPORT EPstErrorStatus pst_tracker_enable_image_transfer(PstTracker* ctracker);
857
870 PST_C_EXPORT EPstErrorStatus pst_tracker_disable_image_transfer(PstTracker* ctracker);
871
897 PST_C_EXPORT EPstErrorStatus pst_tracker_get_pst_image(const PstTracker* ctracker, PstImage* image);
898
916 PST_C_EXPORT EPstErrorStatus pst_tracker_alloc_and_get_target_list(const PstTracker* ctracker, PstTargetStatus** statuses, size_t* number_of_statuses);
917
931 PST_C_EXPORT EPstErrorStatus pst_tracker_get_target_info(const PstTracker* ctracker, const char* name, PstTarget* target);
932
948 PST_C_EXPORT EPstErrorStatus pst_tracker_set_target_status(PstTracker* ctracker, const char* name, bool set_active);
949
965 PST_C_EXPORT EPstErrorStatus pst_tracker_get_target_status(const PstTracker* ctracker, const char* name, bool* status);
966
989 PST_C_EXPORT EPstErrorStatus pst_tracker_get_target_markers(const PstTracker* ctracker, const char* name, PstTargetMarkers* marker_list);
990
1004 PST_C_EXPORT EPstErrorStatus pst_tracker_set_target_id(PstTracker* ctracker, const char* name, int id);
1005
1025 PST_C_EXPORT EPstErrorStatus pst_tracker_set_reference(PstTracker* ctracker, const float creference[16], bool relative);
1026
1041 PST_C_EXPORT EPstErrorStatus pst_tracker_set_default_reference(PstTracker* ctracker);
1042
1059 PST_C_EXPORT EPstErrorStatus pst_tracker_get_reference(const PstTracker* ctracker, float creference[16]);
1060
1085 PST_C_EXPORT EPstErrorStatus pst_sdk_enable_shared_memory();
1086
1094 PST_C_EXPORT void pst_sdk_disable_shared_memory();
1095
1116 PST_C_EXPORT EPstErrorStatus pst_sdk_enable_rest_server(const char* server_address, const char* server_port, int event_stream_retry_timeout);
1117
1126 PST_C_EXPORT void pst_sdk_disable_rest_server();
1127
1141 PST_C_EXPORT EPstErrorStatus pst_tracker_remove_target_model(PstTracker* ctracker, const char* model_name);
1142
1148 PST_C_EXPORT void pst_camera_urls_init(PstCameraURLs* urls);
1149
1155 PST_C_EXPORT void pst_camera_urls_destroy(PstCameraURLs* urls);
1156
1167 PST_C_EXPORT void pst_trackerdata_init(PstTrackerData* cdata);
1168
1172 PST_C_EXPORT void pst_trackerdata_destroy(PstTrackerData* cdata);
1173
1184 PST_C_EXPORT void pst_image_init(PstImage* image);
1185
1189 PST_C_EXPORT void pst_image_destroy(PstImage* image);
1190
1199 PST_C_EXPORT void pst_target_markers_init(PstTargetMarkers* marker_list);
1200
1209 PST_C_EXPORT void pst_target_markers_destroy(PstTargetMarkers* marker_list);
1210
1218 PST_C_EXPORT const char* pst_sdk_get_version();
1219
1227 PST_C_EXPORT void pst_sdk_enable_logging();
1228
1240 PST_C_EXPORT void pst_sdk_shutdown();
1241
1256 PST_C_EXPORT void pst_free(void* data);
1257
1271 PST_C_EXPORT EPstErrorStatus pst_tracker_import_json_model(const PstTracker* ctracker, const char* json_model);
1272
1287 PST_C_EXPORT EPstErrorStatus pst_tracker_export_json_model(const PstTracker* ctracker, const char* model_name, char** model_string);
1288
1290 #ifdef __cplusplus
1291 }
1292 #endif
pst_tracker_get_pst_image
EPstErrorStatus pst_tracker_get_pst_image(const PstTracker *ctracker, PstImage *image)
Retrieve images from the connected PST Tracker.
PstTrackerData::seqnumber
int seqnumber
Definition: pstsdk_c.h:234
PstPoint
Estimated 3D marker location.
Definition: pstsdk_c.h:166
pst_tracker_set_framerate
EPstErrorStatus pst_tracker_set_framerate(PstTracker *ctracker, double fps)
Set tracker frame rate.
pst_tracker_start
EPstErrorStatus pst_tracker_start(PstTracker *ctracker)
Start tracking.
pst_target_markers_init
void pst_target_markers_init(PstTargetMarkers *marker_list)
pst_tracker_remove_tracker_data_callback
EPstErrorStatus pst_tracker_remove_tracker_data_callback(PstTracker *ctracker, void(*on_tracker_data)(const PstTrackerData *, EPstErrorStatus))
Remove a callback function for tracker data.
EPstStatusMessage
EPstStatusMessage
Tracker status messages enum class.
Definition: pstsdk_c.h:68
pst_tracker_init1
EPstErrorStatus pst_tracker_init1(PstTracker *ctracker, const char path[])
This function initializes the tracker object.
PST_ERROR_STATUS_NULLPTR_ERROR
Definition: pstsdk_c.h:53
pst_tracker_remove_tracker_callbacks
EPstErrorStatus pst_tracker_remove_tracker_callbacks(PstTracker *ctracker, void(*on_tracker_data)(const PstTrackerData *, EPstErrorStatus), void(*on_tracker_mode)(EPstTrackerMode))
Remove callback functions for tracker data and mode changes.
PstImage::number_of_images
size_t number_of_images
Definition: pstsdk_c.h:120
pst_tracker_remove_tracker_mode_callback
EPstErrorStatus pst_tracker_remove_tracker_mode_callback(PstTracker *ctracker, void(*on_tracker_mode)(EPstTrackerMode))
Remove a callback function for mode changes.
pst_tracker_get_exposure_range
EPstErrorStatus pst_tracker_get_exposure_range(const PstTracker *ctracker, double *min, double *max)
Get the allowed exposure range.
PstImage::images
unsigned char ** images
Definition: pstsdk_c.h:121
pst_tracker_init4
EPstErrorStatus pst_tracker_init4(PstTracker *ctracker, const char path[], const char config_file[], const char db_file[], const char grabber_name[])
This function initializes the tracker object.
pst_sdk_disable_shared_memory
void pst_sdk_disable_shared_memory()
Disable shared memory communication layer.
pst_tracker_load_calibration_from_local_path
EPstErrorStatus pst_tracker_load_calibration_from_local_path(const PstTracker *ctracker, const char path[])
Load calibration information from a given path.
pst_camera_urls_destroy
void pst_camera_urls_destroy(PstCameraURLs *urls)
pst_tracker_set_reference
EPstErrorStatus pst_tracker_set_reference(PstTracker *ctracker, const float creference[16], bool relative)
Set the reference system in which tracking results are reported.
PST_ERROR_STATUS_JSON_PARSING_ERROR
Definition: pstsdk_c.h:57
PstTargetStatus::status
bool status
Definition: pstsdk_c.h:153
pst_tracker_disable_tremor_filter
EPstErrorStatus pst_tracker_disable_tremor_filter(PstTracker *ctracker)
Disable the tremor filter.
pst_tracker_export_json_model
EPstErrorStatus pst_tracker_export_json_model(const PstTracker *ctracker, const char *model_name, char **model_string)
Export a tracking target model as a JSON-formatted string.
PST_ERROR_STATUS_OUT_OF_RANGE_ERROR
Definition: pstsdk_c.h:49
pst_tracker_init
EPstErrorStatus pst_tracker_init(PstTracker *ctracker)
This function initializes the tracker object.
pst_tracker_get_single_measurement
EPstErrorStatus pst_tracker_get_single_measurement(const PstTracker *ctracker, PstTrackerData *cdata)
Retrieve the latest PstTrackerData available from the connected PstTracker.
pst_tracker_destroy
void pst_tracker_destroy(PstTracker *ctracker)
pst_tracker_disable_filtering
EPstErrorStatus pst_tracker_disable_filtering(PstTracker *ctracker)
Disable filtering of the tracking results.
PST_STATUSMESSAGE_ERR_CANNOT_START_CAMS
Definition: pstsdk_c.h:78
PstTargetPose::matched_points
PstPoint * matched_points
Definition: pstsdk_c.h:188
pst_tracker_get_exposure
EPstErrorStatus pst_tracker_get_exposure(const PstTracker *ctracker, double *exposure)
Get the current exposure time.
pst_tracker_get_target_status
EPstErrorStatus pst_tracker_get_target_status(const PstTracker *ctracker, const char *name, bool *status)
Get status of a single tracking Target.
PST_MODE_LOWPOWER
Definition: pstsdk_c.h:96
EPstTrackerMode
EPstTrackerMode
Tracker mode enum class.
Definition: pstsdk_c.h:94
PstTrackerData::number_of_points
size_t number_of_points
Definition: pstsdk_c.h:236
PstTargetMarkers
Collection struct for PstTargetMarker.
Definition: pstsdk_c.h:212
PST_STATUSMESSAGE_ERR_GENERAL
Definition: pstsdk_c.h:73
PstTracker::tracker
void * tracker
Definition: pstsdk_c.h:249
pst_tracker_remove_target_model
EPstErrorStatus pst_tracker_remove_target_model(PstTracker *ctracker, const char *model_name)
Remove a tracking target model from the target model database.
PST_ERROR_STATUS_NOT_INITIALIZED_ERROR
Definition: pstsdk_c.h:47
pst_tracker_get_target_info
EPstErrorStatus pst_tracker_get_target_info(const PstTracker *ctracker, const char *name, PstTarget *target)
Get basic tracking target information.
PST_MODE_DISCONNECT
Definition: pstsdk_c.h:100
PST_STATUSMESSAGE_DISCONNECTED
Definition: pstsdk_c.h:72
PstTargetPose
Estimated tracking target pose.
Definition: pstsdk_c.h:183
PST_STATUSMESSAGE_ERR_NOCAMS_FOUND
Definition: pstsdk_c.h:75
PST_STATUSMESSAGE_NOT_INITIALIZED
Definition: pstsdk_c.h:71
pst_camera_urls_init
void pst_camera_urls_init(PstCameraURLs *urls)
PstTracker
Main PST SDK struct for tracker communication.
Definition: pstsdk_c.h:247
pst_tracker_add_tracker_mode_callback
EPstErrorStatus pst_tracker_add_tracker_mode_callback(PstTracker *ctracker, void(*on_tracker_mode)(EPstTrackerMode))
Add a callback function for mode changes.
PST_STATUSMESSAGE_ERR_TIMEOUT
Definition: pstsdk_c.h:74
pst_sdk_enable_shared_memory
EPstErrorStatus pst_sdk_enable_shared_memory()
Enable shared memory communication layer.
PstCameraURLs::number_of_urls
size_t number_of_urls
Definition: pstsdk_c.h:263
PstTargetMarkers::markers
PstTargetMarker * markers
Definition: pstsdk_c.h:214
pst_tracker_system_check
EPstStatusMessage pst_tracker_system_check(const PstTracker *ctracker)
Check if the tracker is running correctly.
PST_ERROR_STATUS_TRACKER_ERROR
Definition: pstsdk_c.h:46
PST_ERROR_STATUS_NOT_FOUND_ERROR
Definition: pstsdk_c.h:50
pst_tracker_set_target_id
EPstErrorStatus pst_tracker_set_target_id(PstTracker *ctracker, const char *name, int id)
Set the id of the tracking target.
PST_MODE_TRAINING
Definition: pstsdk_c.h:99
pst_tracker_get_connected_camera_urls
EPstErrorStatus pst_tracker_get_connected_camera_urls(const PstTracker *ctracker, bool silent, PstCameraURLs *urls)
Get URLs of the calibration information for the connected PST Tracker.
PST_STATUSMESSAGE_ERR_NOTENOUGHTCAMS_FOUND
Definition: pstsdk_c.h:76
PstTargetStatus::target
PstTarget target
Definition: pstsdk_c.h:152
PstTrackerData
Tracking information retrieved from tracker.
Definition: pstsdk_c.h:231
pst_sdk_disable_rest_server
void pst_sdk_disable_rest_server()
Disable the REST server communication layer.
PST_ERROR_STATUS_INVALID_DATA_ERROR
Definition: pstsdk_c.h:55
pst_image_init
void pst_image_init(PstImage *image)
pst_tracker_alloc_and_get_target_list
EPstErrorStatus pst_tracker_alloc_and_get_target_list(const PstTracker *ctracker, PstTargetStatus **statuses, size_t *number_of_statuses)
Get TargetStatuses object containing all tracking targets and their status.
PST_ERROR_STATUS_OK
Definition: pstsdk_c.h:45
pst_image_destroy
void pst_image_destroy(PstImage *image)
PST_STATUSMESSAGE_ERR_INITERROR
Definition: pstsdk_c.h:77
PST_STATUSMESSAGE_ERR_NULL_TRACKER_HANDLE
Definition: pstsdk_c.h:80
PST_ERROR_STATUS_FAILED_TO_ALLOCATE_MEMORY_ERROR
Definition: pstsdk_c.h:52
PST_MODE_RECONNECT
Definition: pstsdk_c.h:101
PstTargetMarkers::number_of_markers
size_t number_of_markers
Definition: pstsdk_c.h:215
pst_sdk_shutdown
void pst_sdk_shutdown()
Shutdown the tracking system, stopping tracking.
pst_tracker_get_uncalibrated_camera_urls
EPstErrorStatus pst_tracker_get_uncalibrated_camera_urls(const PstTracker *ctracker, bool silent, PstCameraURLs *urls)
Check if cameras of the connected PST Tracker are calibrated.
pst_tracker_enable_image_transfer
EPstErrorStatus pst_tracker_enable_image_transfer(PstTracker *ctracker)
Enable image transfer from the PST Tracker.
pst_sdk_enable_rest_server
EPstErrorStatus pst_sdk_enable_rest_server(const char *server_address, const char *server_port, int event_stream_retry_timeout)
Enable a REST Server using the HTTP protocol on a local area network.
PstImage::height
size_t height
Definition: pstsdk_c.h:119
PstTrackerData::timestamp
double timestamp
Definition: pstsdk_c.h:233
PstTrackerData::number_of_targets
size_t number_of_targets
Definition: pstsdk_c.h:235
PST_MODE_UNKNOWN
Definition: pstsdk_c.h:102
pst_tracker_alloc_and_get_config_path
EPstErrorStatus pst_tracker_alloc_and_get_config_path(const PstTracker *ctracker, char **config_path)
Get the path to the current configuration directory.
PST_ERROR_STATUS_NOT_SUPPORTED_ERROR
Definition: pstsdk_c.h:48
pst_tracker_pause
EPstErrorStatus pst_tracker_pause(PstTracker *ctracker)
Pause tracking.
pst_sdk_enable_logging
void pst_sdk_enable_logging()
Write plug-in status information to the standard C output stream stderr.
pst_tracker_disable_image_transfer
EPstErrorStatus pst_tracker_disable_image_transfer(PstTracker *ctracker)
Disable image transfer from the PST Tracker.
pst_trackerdata_init
void pst_trackerdata_init(PstTrackerData *cdata)
PstTrackerData::datapoints
PstPoint * datapoints
Definition: pstsdk_c.h:238
PST_ERROR_STATUS_HTTP_ERROR
Definition: pstsdk_c.h:51
PstCameraURLs
Struct to request urls for calibration information.
Definition: pstsdk_c.h:260
pst_tracker_get_target_markers
EPstErrorStatus pst_tracker_get_target_markers(const PstTracker *ctracker, const char *name, PstTargetMarkers *marker_list)
Get 3D marker positions of stored tracking target.
pst_tracker_enable_tremor_filter
EPstErrorStatus pst_tracker_enable_tremor_filter(PstTracker *ctracker)
Enable the tremor filter.
PstTargetMarker
3D marker positions of a single marker of a tracking Target.
Definition: pstsdk_c.h:199
pst_target_markers_destroy
void pst_target_markers_destroy(PstTargetMarkers *marker_list)
PstTargetStatus
Tracking target status.
Definition: pstsdk_c.h:150
pst_tracker_set_exposure
EPstErrorStatus pst_tracker_set_exposure(PstTracker *ctracker, double time)
Set the exposure time.
PST_MODE_TRACKING
Definition: pstsdk_c.h:98
PstCameraURLs::url_data
char ** url_data
Definition: pstsdk_c.h:262
pst_alloc_and_get_last_error_message
EPstErrorStatus pst_alloc_and_get_last_error_message(char **cstring)
This function returns the last error message that was recorded by the system.
EPstErrorStatus
EPstErrorStatus
Tracker error messages enum class.
Definition: pstsdk_c.h:43
pst_tracker_alloc_and_get_version_info
EPstErrorStatus pst_tracker_alloc_and_get_version_info(const PstTracker *ctracker, char **version_string)
Get version information of the SDK.
pst_tracker_alloc_and_get_supported_framerates
EPstErrorStatus pst_tracker_alloc_and_get_supported_framerates(const PstTracker *ctracker, float **framerates, size_t *number_of_framerates)
Get an array of available frame rates.
PstTargetPose::target
PstTarget target
Definition: pstsdk_c.h:185
PST_C_EXPORT
#define PST_C_EXPORT
Definition: pstsdk_c.h:11
pst_tracker_init2
EPstErrorStatus pst_tracker_init2(PstTracker *ctracker, const char path[], const char config_file[])
This function initializes the tracker object.
pst_tracker_init3
EPstErrorStatus pst_tracker_init3(PstTracker *ctracker, const char path[], const char config_file[], const char db_file[])
This function initializes the tracker object.
pst_tracker_enable_filtering
EPstErrorStatus pst_tracker_enable_filtering(PstTracker *ctracker)
Enable filtering of the tracking results.
pst_tracker_set_default_reference
EPstErrorStatus pst_tracker_set_default_reference(PstTracker *ctracker)
Reset the reference system to the default reference system.
PstPoint::id
int id
Definition: pstsdk_c.h:168
pst_tracker_import_json_model
EPstErrorStatus pst_tracker_import_json_model(const PstTracker *ctracker, const char *json_model)
Import a tracking target model into the target model database.
pst_trackerdata_destroy
void pst_trackerdata_destroy(PstTrackerData *cdata)
PstTargetPose::number_of_matched_points
size_t number_of_matched_points
Definition: pstsdk_c.h:187
pst_tracker_add_tracker_callbacks
EPstErrorStatus pst_tracker_add_tracker_callbacks(PstTracker *ctracker, void(*on_tracker_data)(const PstTrackerData *, EPstErrorStatus), void(*on_tracker_mode)(EPstTrackerMode))
Add callback functions for tracker data and mode changes.
PST_MODE_SETUP
Definition: pstsdk_c.h:97
pst_sdk_get_version
const char * pst_sdk_get_version()
Retrieve the SDK version string.
PstTarget
Tracking target information.
Definition: pstsdk_c.h:131
pst_tracker_set_target_status
EPstErrorStatus pst_tracker_set_target_status(PstTracker *ctracker, const char *name, bool set_active)
Set status of a single tracking Target.
PstImage::width
size_t width
Definition: pstsdk_c.h:118
PstTarget::id
int id
Definition: pstsdk_c.h:135
pst_tracker_get_framerate
EPstErrorStatus pst_tracker_get_framerate(const PstTracker *ctracker, double *fps)
Get current frame rate.
PstImage
Images retrieved from the tracker.
Definition: pstsdk_c.h:116
pst_tracker_set_orientation_filter
EPstErrorStatus pst_tracker_set_orientation_filter(PstTracker *ctracker, double value)
Set the strength of the orientation filter.
PST_ERROR_STATUS_IMAGE_RETRIEVAL_FAILED_ERROR
Definition: pstsdk_c.h:54
PST_ERROR_STATUS_ALREADY_EXISTS_ERROR
Definition: pstsdk_c.h:56
pst_tracker_get_reference
EPstErrorStatus pst_tracker_get_reference(const PstTracker *ctracker, float creference[16])
Gets the transformation matrix for the current reference system.
pst_free
void pst_free(void *data)
Free data allocated by the PST SDK.
pst_tracker_set_position_filter
EPstErrorStatus pst_tracker_set_position_filter(PstTracker *ctracker, double value)
Set the strength of the position filter.
PST_STATUSMESSAGE_ERR_CANNOT_SETUP_CAMS
Definition: pstsdk_c.h:79
PST_STATUSMESSAGE_OK
Definition: pstsdk_c.h:70
pst_tracker_add_tracker_data_callback
EPstErrorStatus pst_tracker_add_tracker_data_callback(PstTracker *ctracker, void(*on_tracker_data)(const PstTrackerData *, EPstErrorStatus))
Add a callback function for tracker data.
PstTrackerData::targetlist
PstTargetPose * targetlist
Definition: pstsdk_c.h:237
PST_STATUSMESSAGE_ERR_UNKNOWN_STATUS
Definition: pstsdk_c.h:81