Пример #1
0
        /// <summary>
        /// 将本配置的信息复制到目标配置
        /// </summary>
        /// <param name="targetConfig"></param>
        /// <param name="forceMove">是否强制同步相机位置、角度等信息</param>
        public void ApplyTo(CameraConfigData targetConfig, bool forceMove)
        {
            if (forceMove)
            {
                targetConfig.HorAngle    = HorAngle;
                targetConfig.VerAngle    = VerAngle;
                targetConfig.ScreenAngle = ScreenAngle;
                targetConfig.FOV         = FOV;
                targetConfig.Distance    = Distance;
                targetConfig.Offset      = Offset;
            }

            targetConfig.DampPosTime = DampPosTime;
            targetConfig.DampRotTime = DampRotTime;
            targetConfig.DampFOVTime = DampFOVTime;
        }
Пример #2
0
        internal static CameraConfigData Translate(CameraConfig config)
        {
            CameraConfigData data = new CameraConfigData()
            {
                FriendlyName         = config.FriendlyName,
                OriginalSourceString = config.OriginalSourceString,
                SourceString         = config.SourceString,
                FrameInterval        = config.FrameInterval,
                FrameRate            = config.FrameRate,
                UserName             = config.UserName,
                Password             = config.Password,
                UserAgent            = config.UserAgent,
            };

            if (config.Resolution != null)
            {
                data.Resolution = new ResolutionData()
                {
                    Width = config.Resolution.Width, Height = config.Resolution.Height
                };
            }

            return(data);
        }
Пример #3
0
        internal static CameraConfig Translate(CameraConfigData data)
        {
            CameraConfig config = new CameraConfig()
            {
                FriendlyName         = data.FriendlyName,
                OriginalSourceString = data.OriginalSourceString,
                SourceString         = data.SourceString,
                FrameInterval        = data.FrameInterval,
                FrameRate            = data.FrameRate,
                UserName             = data.UserName,
                Password             = data.Password,
                UserAgent            = data.UserAgent,
            };

            if (data.Resolution != null)
            {
                config.Resolution = new Resolution()
                {
                    Width = data.Resolution.Width, Height = data.Resolution.Height
                };
            }

            return(config);
        }
Пример #4
0
 private void SetTargetConfigData(CameraConfigData newData)
 {
     newData.ApplyTo(TargetConfigData, true);            // TargetConfigData立即同步,反映在面板上,体现目前相机被影响了
     CurrentConfigData.ApplyTo(LastConfigData, true);
     TargetConfigData.ApplyTo(CurrentConfigData, false); // 部分平滑参数需要一段时间逐渐同步给CurrentConfigData
 }