Loading...
Searching...
No Matches
PstTypes.h
Go to the documentation of this file.
1// Copyright PS-Tech B.V. All Rights Reserved.
2
3#pragma once
4
5#include "PstString.h"
6#include "PstVector.h"
7#include "PstArray.h"
8
9 namespace PSTech
10{
11 namespace pstsdk
12{
17
27 struct Image
28 {
29 unsigned int width;
30 unsigned int height;
31 Utils::PstVector<unsigned char*> images;
32 };
33
41 struct Target
42 {
43 Utils::PstString name;
44 Utils::PstString uuid;
45 int id;
46 };
47
55 typedef Utils::PstVector<Target> Targets;
56
69 struct TargetStatus : public Target
70 {
71 bool status;
72 };
73
81 typedef Utils::PstVector<TargetStatus> TargetStatuses;
82
90 enum class TrackingRegion
91 {
92 OPTIMAL,
93 FULL,
94 };
95
106 struct Point
107 {
108 int id;
109 Utils::PstArray<float, 3> position;
110 TrackingRegion detection_region;
111 };
112
120 typedef Utils::PstVector<Point> Points;
121
135 struct TargetPose : public Target
136 {
137 Utils::PstArray<float, 16> pose;
138 Points matched_markers;
139 float matching_error;
140 };
141
149 typedef Utils::PstVector<TargetPose> TargetPoses;
150
158 typedef Utils::PstVector<Utils::PstArray<float, 3>> MarkerList;
159
172 struct TrackerData
173 {
174 double timestamp;
175 int seqnumber;
176 TargetPoses targetlist;
177 Points datapoints;
178 };
179
214 struct CameraInfo
215 {
216 Utils::PstString camera_id;
217 Utils::PstString local_sha1;
218 Utils::PstString server_sha1_url;
219 Utils::PstString calibration_url;
220 };
221
231 typedef Utils::PstVector<CameraInfo> CameraInfoList;
232
240 enum class StatusMessage
241 {
242 OK,
243 NOT_INITIALIZED,
244 DISCONNECTED,
245 ERR_GENERAL,
246 ERR_TIMEOUT,
247 ERR_NOCAMS_FOUND,
248 ERR_NOTENOUGHTCAMS_FOUND,
249 ERR_INITERROR,
250 ERR_CANNOT_START_CAMS,
251 ERR_CANNOT_SETUP_CAMS,
252 };
253
261 enum class TrackerMode
262 {
263 LOWPOWER,
264 SETUP,
265 TRACKING,
266 TRAINING,
267 DISCONNECT,
268 RECONNECT,
269 TRACKER_ERROR,
270 UNKNOWN,
271 };
272
274
275}
276}
PstArray.h
PstString.h
PstVector.h
PSTech::Utils::PstArray
Definition PstArray.h:21
PSTech::Utils::PstString
Definition PstString.h:18
PSTech::Utils::PstVector
Basic vector class, cloning std::vector<T>.
Definition PstVector.h:30
PSTech::pstsdk::TargetStatuses
Utils::PstVector< TargetStatus > TargetStatuses
Vector of TargetStatus objects.
Definition PstTypes.h:81
PSTech::pstsdk::Points
Utils::PstVector< Point > Points
Vector of Point objects.
Definition PstTypes.h:120
PSTech::pstsdk::TrackingRegion
TrackingRegion
Region of the tracking working space in which markers are reported.
Definition PstTypes.h:91
PSTech::pstsdk::TargetPoses
Utils::PstVector< TargetPose > TargetPoses
Vector of TargetPose objects.
Definition PstTypes.h:149
PSTech::pstsdk::StatusMessage
StatusMessage
Tracker status messages enum class.
Definition PstTypes.h:241
PSTech::pstsdk::CameraInfoList
Utils::PstVector< CameraInfo > CameraInfoList
Vector of CameraInfo objects.
Definition PstTypes.h:231
PSTech::pstsdk::Targets
Utils::PstVector< Target > Targets
Vector of Target objects.
Definition PstTypes.h:55
PSTech::pstsdk::TrackerMode
TrackerMode
Tracker mode enum class.
Definition PstTypes.h:262
PSTech::pstsdk::MarkerList
Utils::PstVector< Utils::PstArray< float, 3 > > MarkerList
Vector of 3D marker positions of a tracking Target.
Definition PstTypes.h:158
PSTech::pstsdk::TrackingRegion::FULL
@ FULL
Definition PstTypes.h:93
PSTech::pstsdk::TrackingRegion::OPTIMAL
@ OPTIMAL
Definition PstTypes.h:92
PSTech::pstsdk::StatusMessage::NOT_INITIALIZED
@ NOT_INITIALIZED
Definition PstTypes.h:243
PSTech::pstsdk::StatusMessage::ERR_NOTENOUGHTCAMS_FOUND
@ ERR_NOTENOUGHTCAMS_FOUND
Definition PstTypes.h:248
PSTech::pstsdk::StatusMessage::ERR_GENERAL
@ ERR_GENERAL
Definition PstTypes.h:245
PSTech::pstsdk::StatusMessage::ERR_NOCAMS_FOUND
@ ERR_NOCAMS_FOUND
Definition PstTypes.h:247
PSTech::pstsdk::StatusMessage::DISCONNECTED
@ DISCONNECTED
Definition PstTypes.h:244
PSTech::pstsdk::StatusMessage::ERR_CANNOT_START_CAMS
@ ERR_CANNOT_START_CAMS
Definition PstTypes.h:250
PSTech::pstsdk::StatusMessage::ERR_INITERROR
@ ERR_INITERROR
Definition PstTypes.h:249
PSTech::pstsdk::StatusMessage::ERR_TIMEOUT
@ ERR_TIMEOUT
Definition PstTypes.h:246
PSTech::pstsdk::StatusMessage::ERR_CANNOT_SETUP_CAMS
@ ERR_CANNOT_SETUP_CAMS
Definition PstTypes.h:251
PSTech::pstsdk::StatusMessage::OK
@ OK
Definition PstTypes.h:242
PSTech::pstsdk::TrackerMode::TRACKER_ERROR
@ TRACKER_ERROR
Definition PstTypes.h:269
PSTech::pstsdk::TrackerMode::LOWPOWER
@ LOWPOWER
Definition PstTypes.h:263
PSTech::pstsdk::TrackerMode::RECONNECT
@ RECONNECT
Definition PstTypes.h:268
PSTech::pstsdk::TrackerMode::UNKNOWN
@ UNKNOWN
Definition PstTypes.h:270
PSTech::pstsdk::TrackerMode::TRAINING
@ TRAINING
Definition PstTypes.h:266
PSTech::pstsdk::TrackerMode::TRACKING
@ TRACKING
Definition PstTypes.h:265
PSTech::pstsdk::TrackerMode::DISCONNECT
@ DISCONNECT
Definition PstTypes.h:267
PSTech::pstsdk::TrackerMode::SETUP
@ SETUP
Definition PstTypes.h:264
PSTech::pstsdk
Definition ExportedTypeConversions.h:11
PSTech
Definition ExportedTypeConversions.h:9
PSTech::pstsdk::CameraInfo
Information for each camera of the connected PST Tracker.
Definition PstTypes.h:215
PSTech::pstsdk::CameraInfo::server_sha1_url
Utils::PstString server_sha1_url
Definition PstTypes.h:218
PSTech::pstsdk::CameraInfo::calibration_url
Utils::PstString calibration_url
Definition PstTypes.h:219
PSTech::pstsdk::CameraInfo::camera_id
Utils::PstString camera_id
Definition PstTypes.h:216
PSTech::pstsdk::CameraInfo::local_sha1
Utils::PstString local_sha1
Definition PstTypes.h:217
PSTech::pstsdk::Image
Images retrieved from the tracker.
Definition PstTypes.h:28
PSTech::pstsdk::Image::images
Utils::PstVector< unsigned char * > images
Definition PstTypes.h:31
PSTech::pstsdk::Image::height
unsigned int height
Definition PstTypes.h:30
PSTech::pstsdk::Image::width
unsigned int width
Definition PstTypes.h:29
PSTech::pstsdk::Point
Estimated 3D marker location.
Definition PstTypes.h:107
PSTech::pstsdk::Point::detection_region
TrackingRegion detection_region
Definition PstTypes.h:110
PSTech::pstsdk::Point::id
int id
Definition PstTypes.h:108
PSTech::pstsdk::Point::position
Utils::PstArray< float, 3 > position
Definition PstTypes.h:109
PSTech::pstsdk::Target
Tracking target information.
Definition PstTypes.h:42
PSTech::pstsdk::Target::uuid
Utils::PstString uuid
Definition PstTypes.h:44
PSTech::pstsdk::Target::id
int id
Definition PstTypes.h:45
PSTech::pstsdk::Target::name
Utils::PstString name
Definition PstTypes.h:43
PSTech::pstsdk::TargetPose
Estimated tracking target pose and detected 3D markers.
Definition PstTypes.h:136
PSTech::pstsdk::TargetPose::matching_error
float matching_error
Definition PstTypes.h:139
PSTech::pstsdk::TargetPose::matched_markers
Points matched_markers
Definition PstTypes.h:138
PSTech::pstsdk::TargetPose::pose
Utils::PstArray< float, 16 > pose
Definition PstTypes.h:137
PSTech::pstsdk::TargetStatus
Tracking target status.
Definition PstTypes.h:70
PSTech::pstsdk::TargetStatus::status
bool status
Definition PstTypes.h:71
PSTech::pstsdk::TrackerData
Tracking information retrieved from tracker.
Definition PstTypes.h:173
PSTech::pstsdk::TrackerData::timestamp
double timestamp
Definition PstTypes.h:174
PSTech::pstsdk::TrackerData::targetlist
TargetPoses targetlist
Definition PstTypes.h:176
PSTech::pstsdk::TrackerData::seqnumber
int seqnumber
Definition PstTypes.h:175
PSTech::pstsdk::TrackerData::datapoints
Points datapoints
Definition PstTypes.h:177