Struct Skeleton3DPerson#

Struct Documentation#

struct Skeleton3DPerson#

One reconstructed 3D person within one fused frame. Mirrors run_pose3d.py’s per-person JSON object.

Public Members

int trackId = -1#
int numContributingCameras = 0#
QVector<int> sourceCameras#
QVector<Skeleton3DKeypoint> keypoints#

Same order/length as keypoint_names().

QMap<int, QVector<QPointF>> reprojectedPx#

cameraIndex -> one reprojected 2D pixel point per keypoint (same order/length as keypoints above), precomputed in Python for EVERY calibrated camera (not just sourceCameras) — mirrors how gaze_fusion.json precomputes face_box_px so the C++ overlay (PoseOverlayPlayerW::set_skeleton3d_result()) never needs calibration math at paint time. A keypoint index with !keypoints[i].valid has no corresponding entry (a null QPointF, see skeleton3d_result.cpp) in any camera’s vector at that index.