/*-----------------------------------реализация прочих методов и функций-------------------------------------------*/

        private void TaskGoToRelativeCoorts(Vector3d goalCoordts)
        {
            if ((owner == null) || (iKSolver == null) || (mCController == null))
            {
                return;
            }
            if (IKSolverType.IK3DOF != iKSolver.GetType())
            {
                return;
            }

            owner.CurWorkCoorts = goalCoordts;
            owner.CurWorkCoortsToAbs();

            iKSolver.SolveIK(owner.AbsWorkCoorts.x, owner.AbsWorkCoorts.y, owner.AbsWorkCoorts.z);

            if (owner.DoLog)
            {
                AddLog("----");
                AddLog(String.Format("CommandSender.TaskGoToRelativeCoorts(): owner.CurWorkCoorts: ({0}, {1}, {2})", owner.CurWorkCoorts.x, owner.CurWorkCoorts.y, owner.CurWorkCoorts.z));//---??----
                AddLog(String.Format("CommandSender.TaskGoToRelativeCoorts(): iKSolver.QDeg: ({0}, {1}, {2})", iKSolver.QDeg[0], iKSolver.QDeg[1], iKSolver.QDeg[2]));
            }

            mCController.TaskAngles(iKSolver.QDeg[0], iKSolver.QDeg[1], iKSolver.QDeg[2]);
        }