/*-----------------------------------реализация прочих методов и функций-------------------------------------------*/ 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]); }