private static boolean exportParameters(File containingFolder, Point3DReadOnly startPosition, QuaternionReadOnly startOrientation, Point3DReadOnly goalPosition, QuaternionReadOnly goalOrientation, FootstepPlannerType type, double timeout) { if (containingFolder == null || !containingFolder.exists()) { PrintTools.error("The given folder does not exist or is null."); return false; } if (startPosition == null || goalPosition == null || type == null || !Double.isFinite(timeout) || timeout < 0 ) { PrintTools.error("Must export start, goal, planner type, AND timeout."); return false; } File parametersFile = new File(containingFolder.getAbsolutePath() + File.separator + INPUTS_PARAMETERS_FILENAME); writeField(parametersFile, START_FIELD_OPEN, START_FIELD_CLOSE, () -> getPoint3DString(startPosition)); writeField(parametersFile, GOAL_FIELD_OPEN, GOAL_FIELD_END, () -> getPoint3DString(goalPosition)); writeField(parametersFile, TYPE_FIELD_OPEN, TYPE_FIELD_CLOSE, () -> type.name()); writeField(parametersFile, TIMEOUT_FIELD_OPEN, TIMEOUT_FIELD_CLOSE, () -> "" + timeout); if (startOrientation != null) writeField(parametersFile, START_ORIENTATION_FIELD_OPEN, START_ORIENTATION_FIELD_CLOSE, () -> getQuaternionString(startOrientation)); if (goalOrientation != null) writeField(parametersFile, GOAL_ORIENTATION_FIELD_OPEN, GOAL_ORIENTATION_FIELD_CLOSE, () -> getQuaternionString(goalOrientation)); return true; }