public static Point3D AdjustLocationToLaser(Point3D current, Vector3D lookDirection, double currentDistanceMM, double tarGetZDistanceMM, double biasMovement = 1) { if (double.IsNaN(currentDistanceMM) || double.IsNaN(tarGetZDistanceMM)) { return(current); } double zMoveMM = Math.Round((currentDistanceMM - tarGetZDistanceMM), 1); double zMove = zMoveMM / 1000; if (zMove == 0 || Math.Abs(zMoveMM) < 0.25) { return(current); } zMove = zMove * biasMovement; CameraURCoordinateTranslator.Direction direction = CameraURCoordinateTranslator.Direction.Forward; if (zMove < 0) { direction = CameraURCoordinateTranslator.Direction.Backward; zMove = Math.Abs(zMove); } else { direction = CameraURCoordinateTranslator.Direction.Forward; } Point3D returnPoint = App.Current.CoordinateTranslator.GetPointRelativeToolRoation(current, lookDirection, zMove, direction); return(returnPoint); }
void MoveZ(CameraURCoordinateTranslator.Direction direction) { Vector3D copy = GetCurrentLookDirection(); Point3D translatedPoint = App.Current.CoordinateTranslator.GetPointRelativeToolRoation( GetCurrentPoint(), copy, (GetZDistance() / 1000), direction); MoveToPoint(translatedPoint, GetCurrentLookDirectionAsPoint(), false); }
public static Point3D AdjustLocationToForceSensor(Point3D current, Vector3D lookDirection, Vector3D forceSensorDirection) { CameraURCoordinateTranslator.Direction direction = CameraURCoordinateTranslator.Direction.Forward; //Z double move = App.Current.ApplicationSettings.ForceRetractDistanceMM / 1000;//ConvertForceToMove(forceSensorDirection.Z); //if (move < 0) //{ direction = CameraURCoordinateTranslator.Direction.Backward; // move = Math.Abs(move); //} //else //{ // direction = CameraURCoordinateTranslator.Direction.Forward; //} Point3D returnPointZ = App.Current.CoordinateTranslator.GetPointRelativeToolRoation(current, lookDirection, move, direction); ////X //move = ConvertForceToMove(forceSensorDirection.X); //if (move < 0) //{ // direction = CameraURCoordinateTranslator.Direction.Left; // move = Math.Abs(move); //} //else //{ // direction = CameraURCoordinateTranslator.Direction.Right; //} //Point3D returnPointXZ = App.Current.CoordinateTranslator.GetPointRelativeToolRoation(returnPointZ, lookDirection, move, direction); ////Y //move = ConvertForceToMove(forceSensorDirection.Y); //if (move < 0) //{ // direction = CameraURCoordinateTranslator.Direction.Down; // move = Math.Abs(move); //} //else //{ // direction = CameraURCoordinateTranslator.Direction.Up; //} //Point3D returnPointXYZ = App.Current.CoordinateTranslator.GetPointRelativeToolRoation(returnPointXZ, lookDirection, move, direction); //return returnPointXYZ; return(returnPointZ); }