Example #1
0
        public void UpdateUnityConfigWithNDKConfig(IntPtr configHandle, ARConfigBase arconfig)
        {
            int ret = 0;

            NDKAPI.HwArConfig_getCameraLensFacing(m_ndkSession.SessionHandle, configHandle, ref ret);
            arconfig.SetCameraLensFacing((ARConfigCameraLensFacing)ret);
            AREnginesType aREnginesType = AREnginesSelector.Instance.GetCreatedEngine();

            ARDebug.LogInfo("UpdateUnityConfigWithNDKConfig GetARType size {0}", arconfig.GetARType());
            NDKAPI.HwArConfig_getLightEstimationMode(m_ndkSession.SessionHandle, configHandle, ref ret);
            arconfig.SetLightingMode((ARConfigLightingMode)ret);

            NDKAPI.HwArConfig_getPlaneFindingMode(m_ndkSession.SessionHandle, configHandle, ref ret);
            arconfig.SetPlaneFindingMode((ARConfigPlaneFindingMode)ret);

            NDKAPI.HwArConfig_getUpdateMode(m_ndkSession.SessionHandle, configHandle, ref ret);
            arconfig.SetUpdateMode((ARConfigUpdateMode)ret);

            //this interface only support by HUAWEI_AR_ENGINE
            if (AREnginesSelector.Instance.GetCreatedEngine() == AREnginesType.HUAWEI_AR_ENGINE)
            {
                NDKAPI.HwArConfig_getHandFindingMode(m_ndkSession.SessionHandle, configHandle, ref ret);
                arconfig.SetHandFindingMode((ARConfigHandFindingMode)ret);

                NDKAPI.HwArConfig_getPowerMode(m_ndkSession.SessionHandle, configHandle, ref ret);
                arconfig.SetPowerMode((ARConfigPowerMode)ret);

                ulong enableItem = 0;
                NDKAPI.HwArConfig_getEnableItem(m_ndkSession.SessionHandle, configHandle, ref enableItem);

                enableItem           = 0;
                arconfig.EnableDepth = Convert.ToBoolean(enableItem & ARConfigBase.EnableItem_Depth);
                arconfig.EnableMask  = Convert.ToBoolean(enableItem & ARConfigBase.EnableItem_Mask);
            }
        }