/// <summary> /// Helper method that the MLArucoTracker API uses to update the tracker's settings. /// </summary> /// <param name="settings">The settings to update the tracker with.</param> /// <returns> /// MLResult.Result will be <c>MLResult.Code.Ok</c> if successfully updated the ArUco Tracker settings. /// MLResult.Result will be <c>MLResult.Code.InvalidParam</c> if failed to update the settings due to invalid settings. /// MLResult.Result will be <c>MLResult.Code.PrivilegeDenied</c> if failed to update the settings due to lack of privilege(s). /// MLResult.Result will be <c>MLResult.Code.UnspecifiedFailure</c> if failed to update the settings due to an internal error. /// </returns> public static MLResult.Code UpdateSettings(MLArucoTracker.Settings settings) { MLArucoTrackerSettingsNative nativeSettings = MLArucoTrackerSettingsNative.Create(); nativeSettings.Data = settings; MLResult.Code resultCode = NativeBindings.MLArucoTrackerUpdateSettings(Instance.Handle, in nativeSettings); return(resultCode); }
/// <summary> /// Helper method that the MLArucoTracker API uses to create the tracker's internal handle. /// </summary> /// <param name="settings">The settings to configure the tracker with.</param> /// <returns> /// MLResult.Result will be <c>MLResult.Code.Ok</c> if successfully created ArUco tracker. /// MLResult.Result will be <c>MLResult.Code.InvalidParam</c> if failed to create ArUco tracker due to invalid handle. /// MLResult.Result will be <c>MLResult.Code.PrivilegeDenied</c> if failed to create tracker due to lack of privilege(s). /// MLResult.Result will be <c>MLResult.Code.UnspecifiedFailure</c> if failed to create the ArUco tracker due to an internal error. /// </returns> public static MLResult.Code CreateTracker(MLArucoTracker.Settings settings) { MLArucoTrackerSettingsNative nativeSettings = MLArucoTrackerSettingsNative.Create(); nativeSettings.Data = settings; MLResult.Code resultCode = NativeBindings.MLArucoTrackerCreate(in nativeSettings, out ulong trackerHandle); Instance.Handle = trackerHandle; return(resultCode); }