Пример #1
0
        public static int  EnableDepthProcess(bool active)
        {
            //Todo : Check module link status.
            //int result = ViveSR_Framework.ChangeModuleLinkStatus(ViveSR_Framework.MODULE_ID_SEETHROUGH, ViveSR_Framework.MODULE_ID_DEPTH, active ? (int)WorkLinkMethod.ACTIVE : (int)WorkLinkMethod.NONE);
            //if (result == (int)Error.WORK) DepthProcessing = active;
            //return result;
            int result = (int)Error.FAILED;

            if (active)
            {
                SRWorkModule_API.SetSkipVGAProcess(false);
                result = SRWorkModule_API.LinkModule((int)ModuleType.SEETHROUGH, (int)ModuleType.DEPTH);
                if (result == (int)Error.WORK)
                {
                    result          = SRWorkModule_API.TurnOnUndistortDataToDepth();
                    DepthProcessing = true;
                }
                else
                {
                    DepthProcessing = false;
                }
            }
            else
            {
                result = SRWorkModule_API.UnlinkModule((int)ModuleType.SEETHROUGH, (int)ModuleType.DEPTH);
                if (result == (int)Error.WORK)
                {
                    result          = SRWorkModule_API.TurnOffUndistortDataToDepth();
                    DepthProcessing = false;
                }
            }
            return(result);
        }
Пример #2
0
        private static bool SetColliderProcessEnable(bool value)
        {
            Debug.Log("SetColliderProcessEnable value = " + value);
            int result = (int)Error.FAILED;

            if (value)
            {
                result = SRWorkModule_API.SetSkipVGAProcess(false);
                result = SRWorkModule_API.LinkModule((int)ModuleType.DEPTH, (int)ModuleType.DEPTHMESH);
            }
            else
            {
                result = SRWorkModule_API.UnlinkModule((int)ModuleType.DEPTH, (int)ModuleType.DEPTHMESH);
            }

            if (value != _UpdateDepthCollider)
            {
                if (result == (int)Error.WORK)
                {
                    result = SRWorkModule_API.SetDepthMeshIsEnable(value);
                }
            }
            if (result == (int)Error.WORK)
            {
                _UpdateDepthCollider = value;
            }
            if (_UpdateDepthCollider == false)
            {
                ColliderMeshes.sharedMesh.Clear();
                ColliderMeshVisibility = false;
            }
            else
            {
                ColliderMeshVisibility = true;
            }

            return(true);
        }
 public static int StartReconstructionModule()
 {
     SRWorkModule_API.SetSkipVGAProcess(false);
     return(SRWorkModule_API.LinkModule((int)ModuleType.DEPTH, (int)ModuleType.RIGIDRECONSTRUCTION));
 }
Пример #4
0
 public static int SkipVGASeeThrough(bool skip)
 {
     return(SRWorkModule_API.SetSkipVGAProcess(skip));
 }