/// <summary> /// Adjust the goal's parameters while the solver is running. /// </summary> /// <param name="onLineGoal"></param> /// <param name="targetLineOrigin"></param> /// <param name="targetLineDirection"></param> /// <param name="weight"></param> /// <returns></returns> public static OnLineGoal OnLineGoal_Change( OnLineGoal onLineGoal, [DefaultArgument("null")] Point targetLineOrigin, [DefaultArgument("null")] Vector targetLineDirection, [DefaultArgument("-1.0")] double weight) { if (targetLineOrigin != null) onLineGoal.TargetLineOrigin = targetLineOrigin.ToTriple(); if (targetLineDirection != null) onLineGoal.TargetLineDirection = targetLineDirection.ToTriple(); if (weight >= 0.0) onLineGoal.Weight = (float)weight; return onLineGoal; }
/// <summary> /// Adjust the goal's parameters while the solver is running. /// </summary> /// <param name="onLineGoal"></param> /// <param name="targetLine"></param> /// <param name="weight"></param> /// <returns></returns> public static OnLineGoal OnLineGoal_Change( OnLineGoal onLineGoal, [DefaultArgument("null")] Line targetLine, [DefaultArgument("-1.0")] double weight) { if (targetLine != null) { onLineGoal.TargetLineOrigin = targetLine.StartPoint.ToTriple(); onLineGoal.TargetLineDirection = (targetLine.EndPoint.ToTriple() - targetLine.StartPoint.ToTriple()).Normalise(); } if (weight >= 0.0) onLineGoal.Weight = (float)weight; return onLineGoal; }