예제 #1
0
        public override async Task RunJobAsync()
        {
            Debug.Log("*************************** JobListJobsAsync ***************************");
            this.OnStart?.Invoke();

            SDKJobsResult result = default;

            if (this.useGPS)
            {
                SDKGeoJobsRequest r = new SDKGeoJobsRequest();
                r.token     = this.useToken ? this.token : "";
                r.latitude  = this.latitude;
                r.longitude = this.longitude;
                r.radius    = this.radius;
                result      = await ImmersalHttp.Request <SDKGeoJobsRequest, SDKJobsResult>(r, this.Progress);
            }
            else
            {
                SDKJobsRequest r = new SDKJobsRequest();
                r.token = this.useToken ? this.token : "";
                result  = await ImmersalHttp.Request <SDKJobsRequest, SDKJobsResult>(r, this.Progress);
            }

            if (result.error == "none")
            {
                this.OnResult?.Invoke(result);
            }
            else
            {
                HandleError(result.error);
            }
        }
예제 #2
0
        public override async Task RunJobAsync()
        {
            Debug.Log("*************************** JobGeoPoseAsync ***************************");
            this.OnStart?.Invoke();

            SDKGeoPoseRequest r = new SDKGeoPoseRequest();

            r.token  = this.token;
            r.fx     = intrinsics.x;
            r.fy     = intrinsics.y;
            r.ox     = intrinsics.z;
            r.oy     = intrinsics.w;
            r.param1 = param1;
            r.param2 = param2;
            r.param3 = param3;
            r.param4 = param4;
            r.mapIds = this.mapIds;

            SDKGeoPoseResult result = await ImmersalHttp.RequestUpload <SDKGeoPoseRequest, SDKGeoPoseResult>(r, this.image, this.Progress);

            if (result.error == "none")
            {
                this.OnResult?.Invoke(result);
            }
            else
            {
                HandleError(result.error);
            }
        }
예제 #3
0
        public override async Task RunJobAsync()
        {
            Debug.Log("*************************** JobLocalizeServerAsync ***************************");
            this.OnStart?.Invoke();

            SDKLocalizeResult result = default;

            if (this.useGPS)
            {
                SDKGeoLocalizeRequest r = new SDKGeoLocalizeRequest();
                r.token     = this.token;
                r.fx        = intrinsics.x;
                r.fy        = intrinsics.y;
                r.ox        = intrinsics.z;
                r.oy        = intrinsics.w;
                r.param1    = param1;
                r.param2    = param2;
                r.param3    = param3;
                r.param4    = param4;
                r.latitude  = this.latitude;
                r.longitude = this.longitude;
                r.radius    = this.radius;
                result      = await ImmersalHttp.RequestUpload <SDKGeoLocalizeRequest, SDKLocalizeResult>(r, this.image, this.Progress);
            }
            else
            {
                SDKLocalizeRequest r = new SDKLocalizeRequest();
                r.token  = this.token;
                r.fx     = intrinsics.x;
                r.fy     = intrinsics.y;
                r.ox     = intrinsics.z;
                r.oy     = intrinsics.w;
                r.param1 = param1;
                r.param2 = param2;
                r.param3 = param3;
                r.param4 = param4;
                r.mapIds = this.mapIds;
                result   = await ImmersalHttp.RequestUpload <SDKLocalizeRequest, SDKLocalizeResult>(r, this.image, this.Progress);
            }

            if (result.error == "none")
            {
                this.OnResult?.Invoke(result);
            }
            else
            {
                HandleError(result.error);
            }
        }
예제 #4
0
        public override async Task RunJobAsync()
        {
            Debug.Log("*************************** JobCaptureAsync ***************************");
            this.OnStart?.Invoke();

            SDKImageRequest r = new SDKImageRequest();

            r.token     = this.token;
            r.run       = this.run;
            r.index     = this.index;
            r.anchor    = this.anchor;
            r.px        = position.x;
            r.py        = position.y;
            r.pz        = position.z;
            r.r00       = rotation.m00;
            r.r01       = rotation.m01;
            r.r02       = rotation.m02;
            r.r10       = rotation.m10;
            r.r11       = rotation.m11;
            r.r12       = rotation.m12;
            r.r20       = rotation.m20;
            r.r21       = rotation.m21;
            r.r22       = rotation.m22;
            r.fx        = intrinsics.x;
            r.fy        = intrinsics.y;
            r.ox        = intrinsics.z;
            r.oy        = intrinsics.w;
            r.latitude  = latitude;
            r.longitude = longitude;
            r.altitude  = altitude;

            byte[] image = File.ReadAllBytes(imagePath);

            SDKImageResult result = await ImmersalHttp.RequestUpload <SDKImageRequest, SDKImageResult>(r, image, this.Progress);

            if (result.error == "none")
            {
                this.OnResult?.Invoke(result);
            }
            else
            {
                HandleError(result.error);
            }
        }
예제 #5
0
        public override async Task RunJobAsync()
        {
//            Debug.Log("*************************** JobStatusAsync ***************************");
            this.OnStart?.Invoke();

            SDKStatusRequest r = new SDKStatusRequest();

            r.token = this.token;
            SDKStatusResult result = await ImmersalHttp.Request <SDKStatusRequest, SDKStatusResult>(r, this.Progress);

            if (result.error == "none")
            {
                this.OnResult?.Invoke(result);
            }
            else
            {
                HandleError(result.error);
            }
        }
예제 #6
0
        public override async Task RunJobAsync()
        {
            Debug.Log("*************************** JobLoginAsync ***************************");
            this.OnStart?.Invoke();

            SDKLoginRequest r = new SDKLoginRequest();

            r.login    = this.username;
            r.password = this.password;
            SDKLoginResult result = await ImmersalHttp.Request <SDKLoginRequest, SDKLoginResult>(r, this.Progress);

            if (result.error == "none")
            {
                this.OnResult?.Invoke(result);
            }
            else
            {
                HandleError(result.error);
            }
        }
예제 #7
0
        public override async Task RunJobAsync()
        {
            Debug.Log("*************************** JobLoadMapAsync ***************************");
            this.OnStart?.Invoke();

            SDKMapRequest r = new SDKMapRequest();

            r.token = this.useToken ? this.token : "";
            r.id    = this.id;
            SDKMapResult result = await ImmersalHttp.Request <SDKMapRequest, SDKMapResult>(r, this.Progress);

            if (result.error == "none")
            {
                this.OnResult?.Invoke(result);
            }
            else
            {
                HandleError(result.error);
            }
        }
예제 #8
0
        public override async Task RunJobAsync()
        {
            Debug.Log("*************************** JobConstructAsync ***************************");
            this.OnStart?.Invoke();

            SDKConstructRequest r = new SDKConstructRequest();

            r.token         = this.token;
            r.name          = this.name;
            r.featureCount  = this.featureCount;
            r.preservePoses = this.preservePoses;
            SDKConstructResult result = await ImmersalHttp.Request <SDKConstructRequest, SDKConstructResult>(r, this.Progress);

            if (result.error == "none")
            {
                this.OnResult?.Invoke(result);
            }
            else
            {
                HandleError(result.error);
            }
        }