/// <summary>
        /// Initializes a new instance of the <see cref="BodyTracker"/> class.
        /// </summary>
        /// <param name="calibration"></param>
        /// <param name="configuration"></param>
        public BodyTracker(Calibration calibration, TrackerConfiguration configuration)
        {
            AzureKinectException.ThrowIfNotSuccess(() => NativeMethods.k4abt_tracker_create(ref calibration, configuration, out this.handle));

            // Hook the native allocator and register this object.
            // .Dispose() will be called on this object when the allocator is shut down.
            Allocator.Singleton.RegisterForDisposal(this);
        }
 /// <summary>
 /// Initializes a new instance of the <see cref="Tracker"/> class.
 /// </summary>
 /// <param name="calibration"></param>
 /// <param name="configuration"></param>
 public Tracker(Calibration calibration, TrackerConfiguration configuration)
 {
     NativeMethods.k4a_result_t result = NativeMethods.k4abt_tracker_create(ref calibration, configuration, out this.handle);
     if (result == NativeMethods.k4a_result_t.K4A_RESULT_FAILED)
     {
         throw new AzureKinectException("Couldn't create tracker");
     }
 }
 public static extern k4a_result_t k4abt_tracker_create([In] ref Calibration calibration, TrackerConfiguration config, out k4abt_tracker_t tracker_handle);