public bool GetMotionUVW(ref XVector xMove, ref XScalar xU, ref XScalar xV, ref XScalar xW) { GetLocal(ref xMove); double dTx = 0, dTy = 0; { //U RotateMethod(63640, 63640, xMove.T, ref dTx, ref dTy); xU.Set(dTx, dTy); } { //V RotateMethod(-63640, -63640, xMove.T, ref dTx, ref dTy); xV.Set(dTx, dTy); } { //W RotateMethod(63640, -63640, xMove.T, ref dTx, ref dTy); xW.Set(dTx, dTy); } xMove.X *= m_xMotorDirection.X; xMove.Y *= m_xMotorDirection.Y; xMove.T *= m_xMotorDirection.T * 180000 / Math.PI; double dLimitT = m_xMoveLimit.T * 180000 / Math.PI; if (m_xMoveLimit.X > Math.Abs(xMove.X) && m_xMoveLimit.Y > Math.Abs(xMove.Y) && dLimitT > Math.Abs(xMove.T)) { return(true); } return(false); }
public bool GetMotionUVWX(XVector xMove, ref XScalar xU, ref XScalar xV, ref XScalar xW, ref XScalar xX) { xMove.X *= m_xMotorDirection.X; xMove.Y *= m_xMotorDirection.Y; xMove.T *= m_xMotorDirection.T; double dTx = 0, dTy = 0; { //U RotateMethod(-1005000, 755000, xMove.T, ref dTx, ref dTy); xU.Set(dTx, dTy); } { //V RotateMethod(1005000, 755000, xMove.T, ref dTx, ref dTy); xV.Set(dTx, dTy); } { //W RotateMethod(-1005000, -755000, xMove.T, ref dTx, ref dTy); xW.Set(dTx, dTy); } { //W RotateMethod(1005000, -755000, xMove.T, ref dTx, ref dTy); xX.Set(dTx, dTy); } xMove.T *= 180000 / Math.PI; double dLimitT = m_xMoveLimit.T * 180000 / Math.PI; if (m_xMoveLimit.X > Math.Abs(xMove.X) && m_xMoveLimit.Y > Math.Abs(xMove.Y) && dLimitT > Math.Abs(xMove.T)) { return(true); } return(false); }
private void GetDelta(int nCameraMode) { switch (m_nCamCount) { case 1: { m_xDeviation.Set(m_xCam[0].Dist); } break; case 2: { m_xDeviation.Set(GetDelta(0, 1)); } break; case 3: switch (m_nCamPoseMode) { case 7: switch (nCameraMode) { case 3: m_xDeviation.Set(GetDelta(0, 1)); break; case 5: m_xDeviation.Set(GetDelta(2, 0)); break; case 6: m_xDeviation.Set(GetDelta(2, 1)); break; case 7: { XScalar dDeviationSum = new XScalar(); dDeviationSum.Set(dDeviationSum + GetDelta(0, 1)); dDeviationSum.Set(dDeviationSum + GetDelta(2, 1)); m_xDeviation.Set(dDeviationSum / 2); } break; } break; case 11: break; case 12: break; case 13: break; case 14: break; } break; case 4: switch (nCameraMode) { case 3: m_xDeviation.Set(GetDelta(0, 1)); break; case 5: m_xDeviation.Set(GetDelta(2, 0)); break; case 10: m_xDeviation.Set(GetDelta(3, 1)); break; case 12: m_xDeviation.Set(GetDelta(2, 3)); break; case 7: { XScalar dDeviationSum = new XScalar(); dDeviationSum.Set(dDeviationSum + GetDelta(0, 1)); dDeviationSum.Set(dDeviationSum + GetDelta(2, 1)); m_xDeviation.Set(dDeviationSum / 2); } break; case 11: { XScalar dDeviationSum = new XScalar(); dDeviationSum.Set(dDeviationSum + GetDelta(0, 1)); dDeviationSum.Set(dDeviationSum + GetDelta(3, 1)); m_xDeviation.Set(dDeviationSum / 2); } break; case 13: { XScalar dDeviationSum = new XScalar(); dDeviationSum.Set(dDeviationSum + GetDelta(2, 0)); dDeviationSum.Set(dDeviationSum + GetDelta(2, 3)); m_xDeviation.Set(dDeviationSum / 2); } break; case 14: { XScalar dDeviationSum = new XScalar(); dDeviationSum.Set(dDeviationSum + GetDelta(3, 1)); dDeviationSum.Set(dDeviationSum + GetDelta(2, 1)); m_xDeviation.Set(dDeviationSum / 2); } break; case 15: { XScalar dDeviationSum = new XScalar(); dDeviationSum.Set(dDeviationSum + GetDelta(0, 1)); dDeviationSum.Set(dDeviationSum + GetDelta(2, 3)); dDeviationSum.Set(dDeviationSum + GetDelta(2, 0)); dDeviationSum.Set(dDeviationSum + GetDelta(3, 1)); m_xDeviation.Set(dDeviationSum / 4); } break; } break; } }
protected override void OnMouseDown(MouseEventArgs e) { if (m_xScalar != null) { int nWidth = Width / 3; int nIndex = (int)(e.X / nWidth); m_nSelect = nIndex; if (nIndex == 0) { string sMsg = string.Format("Set = {0:F}, {1:F}, Are you sure?", m_dNomX * m_dCalX, m_dNomY * m_dCalY); if (DialogResult.OK == MessageBox.Show(sMsg, Text, MessageBoxButtons.OKCancel, MessageBoxIcon.Question)) { m_xScalar.Set(m_dNomX, m_dNomY); if (Change != null) { Change(this); } Refresh(); } } if (nIndex == 1) { if (m_dCalX != 0) { frmInput fInput = new frmInput(); fInput.Value = m_xScalar.X * m_dCalX; fInput.Min = m_dMinX; fInput.Max = m_dMaxX; fInput.Format = m_sFormatX; if (DialogResult.OK == fInput.ShowDialog(this)) { m_xScalar.X = fInput.Value / m_dCalX; if (Change != null) { Change(this); } Refresh(); } fInput.Dispose(); } } if (nIndex == 2) { if (m_dCalY != 0) { frmInput fInput = new frmInput(); fInput.Value = m_xScalar.Y * m_dCalY; fInput.Min = m_dMinY; fInput.Max = m_dMaxY; fInput.Format = m_sFormatY; if (DialogResult.OK == fInput.ShowDialog(this)) { m_xScalar.Y = fInput.Value / m_dCalY; if (Change != null) { Change(this); } Refresh(); } fInput.Dispose(); } } } }