Beispiel #1
0
 /// <summary>
 /// ValueType copy from another SessionConfig object into this one.
 /// </summary>
 /// <param name="other"></param>
 public void CopyFrom(NRSessionConfig other)
 {
     OptimizedRendering    = other.OptimizedRendering;
     PlaneFindingMode      = other.PlaneFindingMode;
     ImageTrackingMode     = other.ImageTrackingMode;
     TrackingImageDatabase = other.TrackingImageDatabase;
 }
        public void UpdateConfig(NRSessionConfig config)
        {
            if (m_ConfigHandle == 0)
            {
                m_ConfigHandle = this.Create();
            }

            if (m_ConfigHandle == 0)
            {
                NRDebugger.LogError("Faild to Create ARSessionConfig!!!");
                return;
            }

            var plane_find_mode = this.GetPlaneFindMode(m_ConfigHandle);

            if (plane_find_mode != config.PlaneFindingMode)
            {
                SetPlaneFindMode(m_ConfigHandle, config.PlaneFindingMode);
            }

            if (config.ImageTrackingMode != m_ImageTrackingMode)
            {
                //Trackable Image
                switch (config.ImageTrackingMode)
                {
                case TrackableImageFindingMode.DISABLE:
                    if (m_DatabaseHandle != 0)
                    {
                        m_NativeTrackableImage.DestroyDataBase(m_DatabaseHandle);
                        m_DatabaseHandle = 0;
                    }
                    var result = SetTrackableImageDataBase(m_ConfigHandle, 0);
                    NRDebugger.Log("[Disable trackable image] result : " + result);
                    break;

                case TrackableImageFindingMode.ENABLE:
                    if (config.TrackingImageDatabase != null)
                    {
                        m_DatabaseHandle = m_NativeTrackableImage.CreateDataBase();
                        result           = m_NativeTrackableImage.LoadDataBase(m_DatabaseHandle, config.TrackingImageDatabase.TrackingImageDataPath);
                        NRDebugger.LogFormat("[LoadDataBase] path:{0} result:{1} ", config.TrackingImageDatabase.TrackingImageDataPath, result);
                        result = SetTrackableImageDataBase(m_ConfigHandle, m_DatabaseHandle);
                        NRDebugger.Log("[SetTrackableImageDataBase] result : " + result);
                    }
                    else
                    {
                        result = SetTrackableImageDataBase(m_ConfigHandle, 0);
                        NRDebugger.Log("[Disable trackable image] result : " + result);
                    }
                    break;

                default:
                    break;
                }

                m_ImageTrackingMode = config.ImageTrackingMode;
            }
        }
Beispiel #3
0
 /// <summary>
 /// ValueType copy from another SessionConfig object into this one.
 /// </summary>
 /// <param name="other"></param>
 public void CopyFrom(NRSessionConfig other)
 {
     OptimizedRendering    = other.OptimizedRendering;
     PlaneFindingMode      = other.PlaneFindingMode;
     ImageTrackingMode     = other.ImageTrackingMode;
     TrackingImageDatabase = other.TrackingImageDatabase;
     EnableNotification    = other.EnableNotification;
     ErrorTipsPrefab       = other.ErrorTipsPrefab;
 }