コード例 #1
0
        private PTZSpeed CreatePTZSpeed(PTZParameters.Vector vector, float speed = 0.5f)
        {
            var p = new PTZSpeed
            {
                PanTilt = new Vector2D() /*space = "http://www.onvif.org/ver10/tptz/PanTiltSpaces/GenericSpeedSpace",*/ }
                {
                    ,
                    //Zoom = new Vector1D() { x = 0, },
            };

            if (vector == PTZParameters.Vector.UP)
            {
                p.PanTilt.y = -speed;
            }
            else if (vector == PTZParameters.Vector.DOWN)
            {
                p.PanTilt.y = speed;
            }
            else if (vector == PTZParameters.Vector.LEFT)
            {
                p.PanTilt.x = -speed;
            }
            else if (vector == PTZParameters.Vector.RIGHT)
            {
                p.PanTilt.x = speed;
            }
            return(p);
        }
コード例 #2
0
        /// <summary>
        /// Возвращает вектор движения и количество шагов
        /// </summary>
        /// <param name="vector">Вектор направления</param>
        /// <param name="steep">Количество шагов</param>
        /// <returns></returns>
        public PTZVector GetVector(PTZParameters.Vector vector, float steep = 1f)
        {
            var p = new PTZVector
            {
                PanTilt = new Vector2D()
                {
                    space = "http://www.onvif.org/ver10/tptz/PanTiltSpaces/TranslationGenericSpace",
                },
                Zoom = new Vector1D()
                {
                    x = 0,
                },
            };

            if (vector == PTZParameters.Vector.UP)
            {
                p.PanTilt.y = -steep;
            }
            if (vector == PTZParameters.Vector.DOWN)
            {
                p.PanTilt.y = steep;
            }
            if (vector == PTZParameters.Vector.LEFT)
            {
                p.PanTilt.x = -steep;
            }
            if (vector == PTZParameters.Vector.RIGHT)
            {
                p.PanTilt.x = steep;
            }
            return(p);
        }
コード例 #3
0
 /// <summary>
 /// Производит перемещение по указаному вектору с заданым количеством шагов, с блокировкой потока на время выполнения
 /// </summary>
 /// <param name="vector">Направление движения</param>
 /// <param name="steep">Количество шагов</param>
 public string CountiniousMove(PTZParameters.Vector vector, int timeout = -1, float steep = 1f, float speed = 0.01000001f) //0.10000001f
 {
     try
     {
         ONVIF.SendResponce.CountinuousRotatePTZ(set, CreatePTZSpeed(vector, speed), timeout);
         return("OK");
     }
     catch { return("Fail"); }
 }
コード例 #4
0
 /// <summary>
 /// Производит перемещение по указаному вектору с заданым количеством шагов
 /// </summary>
 /// <param name="vector">Направление движения</param>
 /// <param name="steep">Количество шагов</param>
 public string Move(PTZParameters.Vector vector, float steep = 1f)
 {
     try
     {
         ONVIF.SendResponce.RotatePTZ(set, GetVector(vector, steep), PTZSpeed);
         return("OK");
     }
     catch { return("Fail"); }
 }
コード例 #5
0
ファイル: PTZScene.cs プロジェクト: radtek/IPCameraManager
 public PTZTile(PTZParameters.Vector vector, int steep, int sleepTime)
 {
     Vector    = vector;
     Steep     = steep;
     SleepTime = sleepTime;
 }