using UnityEngine;

namespace Assets.Logging.Poco
{
    public class ObjectDataSDK
    {
        public int id;
        public string uniqueObjectId;
        public int rawLabel;
        public sl.OBJECT_CLASS objectClass;
        public sl.OBJECT_SUBCLASS objectSubClass;
        public sl.OBJECT_TRACK_STATE objectTrackingState;
        public sl.OBJECT_ACTION_STATE actionState;
        public float confidence;

        public System.IntPtr mask;
        public Vector2[] imageBoundingBox;


        public Vector3 rootWorldPosition; //object root position
        public Vector3 headWorldPosition; //object head position (only for HUMAN detectionModel)
        public Vector3 rootWorldVelocity; //object root velocity


        public Vector3[] worldBoundingBox; // 3D Bounding Box of object
        public Vector3[] headBoundingBox;// 3D Bounding Box of head (only for HUMAN detectionModel)

        public Vector2[] skeletonJointPosition2D;// 2D position of the joints of the skeleton
        public Vector3[] skeletonJointPosition;// 3D position of the joints of the skeleton
        public float[] positionCovariance;// covariance matrix of the 3d position, represented by its upper triangular matrix value

        public float[] keypointConfidence;

        public Vector3[] localPositionPerJoint;
        public Quaternion[] localOrientationPerJoint;
        public Quaternion globalRootOrientation;
    }
}