1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | class MyListener : public PSTech::pstsdk::Listener { virtual void OnTrackerData(PSTech::pstsdk::TrackerData& td) { for (int d = 0; d < td.targetlist.size(); ++d) { auto& mat = td.targetlist[d].pose; std::cout << "Pose for " << td.targetlist[d].name.c_str() << "\n"; for (int y = 0; y < 4; ++y) { for (int x = 0; x < 4; ++x) { std::cout << mat[x + y * 4] << "\t"; } std::cout << "\n"; } } } } listener; |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | static void OnTrackerData(TrackerData data, ErrorStatus status) { for (int d = 0; d < data.TargetPoseList.Length; ++d) { var mat = data.TargetPoseList[d].PoseMatrix; Console.Write("Pose for " + data.TargetPoseList[d].Target.Name + "\n"); for (int y = 0; y < 4; y++) { for (int x = 0; x < 4; x++) { Console.Write(mat[x + y * 4] + "\t"); } Console.WriteLine(); } } } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | void OnTrackerData(const PstTrackerData* tracker_data, EPstErrorStatus status) { for (int d = 0; d < tracker_data->number_of_targets; ++d) { float* mat = tracker_data->targetlist[d].pose_matrix; printf("Pose for %s \n", tracker_data->targetlist[d].target.name); for (int y = 0; y < 4; ++y) { for (int x = 0; x < 4; ++x) { printf("%f \t", mat[x + y * 4]); } printf("\n"); } } } |
| def callback_function(tracker_data, status_message: int): for target_pose in tracker_data.targetlist: print("Pose for " + target_pose.name) matrix = target_pose.pose for y in range(4): for x in range(4): print(str(matrix[x + y * 4]), end="\t") print("") print("\n") |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | <script> document.write('<div id=data></div>'); var source = new EventSource('http://localhost:7278/PSTapi/StartTrackerDataStream'); source.onmessage = function(event) { var data = JSON.parse(event.data); $('#data').empty(); data["TrackerData"]["TargetPoses"].forEach(function(item, index) { $('#data').append(item["TargetPose"]["name"] + '<br/>'); var array = item["TargetPose"]["TransformationMatrix"]; for(var y = 0; y < 4; y++) { for(var x = 0; x < 4; x++) { $('#data').append(Number.parseFloat(array[x + y * 4]).toFixed(10) + ' '); } $('#data').append('<br/>'); } }); }; </script> |