Methods
public static int GetLocalDevopableRuling(NurbsCurve rail0, double t0, Interval dom0, NurbsCurve rail1, double t1, Interval dom1, ref double t0_out, ref double t1_out)
Finds minimum twist ruling between 2 curves at local domains
Parameters:
| rail0 (NurbsCurve) | First rail |
| t0 (double) | Seed parameter on first rail |
| dom0 (Interval) | Parameter sub-domain to adjust in on first rail |
| rail1 (NurbsCurve) | Second rail |
| t1 (double) | Seed parameter on second rail |
| dom1 (Interval) | Parameter sub-domain to adjust in on second rail |
| t0_out (ref double) | Result ruling on first rail |
| t1_out (ref double) | Result ruling on second rail |
Returns: -1: Error 0: Exact non-twisting ruling found between t0_out and t1_out 1: Ruling found between t0_out and t1_out that has less twist the ruling between t0 and t1
public static bool RulingMinTwist(NurbsCurve rail0, double t0, Interval dom0, NurbsCurve rail1, double t1, Interval dom1, ref double t0_out, ref double t1_out, ref double cos_twist_out)
Find a ruling from rail0(t0_out) to rail1(t1_out) that has the least twist across the ruling with t0_out in domain0 and t1_out in domain1. max_cos_twist is cos(twist) for the returned ruling
Parameters:
| rail0 (NurbsCurve) | |
| t0 (double) | |
| dom0 (Interval) | |
| rail1 (NurbsCurve) | |
| t1 (double) | |
| dom1 (Interval) | |
| t0_out (ref double) | |
| t1_out (ref double) | |
| cos_twist_out (ref double) |
public static bool RulingMinTwist(NurbsCurve rail0, double t0, NurbsCurve rail1, double t1, Interval dom1, ref double t1_out, ref double cos_twist_out)
Find a ruling from rail0(t0) to rail1(t1_out) that has the least twist across the ruling with t1_out in domain1. max_cos_twist is cos(twist) for the returned ruling
Parameters:
| rail0 (NurbsCurve) | |
| t0 (double) | |
| rail1 (NurbsCurve) | |
| t1 (double) | |
| dom1 (Interval) | |
| t1_out (ref double) | |
| cos_twist_out (ref double) |
UntwistRulings
#public static bool UntwistRulings(NurbsCurve rail0, NurbsCurve rail1, ref IEnumerable<Point2d> rulings)
Parameters:
| rail0 (NurbsCurve) | |
| rail1 (NurbsCurve) | |
| rulings (ref IEnumerable<Point2d>) |