#include <rhinoSdkUnrollSrf.h>
|
static double | CalcRulingTwist (const ON_Curve *rail0, const ON_Curve *rail1, double t0, double t1) |
| Calc twist across one ruling. More...
|
|
static bool | FindMinTwist (const ON_Curve *rail0, const ON_Curve *rail1, double t0, double t1, ON_Interval domain0, ON_Interval domain1, double &t0_out, double &t1_out, double &max_cos_twist) |
|
static bool | FindMinTwist (const ON_Curve *rail0, const ON_Curve *rail1, double t0, double t1, ON_Interval domain1, double &t1_out, double &max_cos_twist) |
|
static bool | UntwistSurface (const ON_Curve *rail0, const ON_Curve *rail1, int rulingcount, ON_2dPoint *rulings) |
|
◆ CalcRulingTwist()
static double RhDevelopableSurface::CalcRulingTwist |
( |
const ON_Curve * |
rail0, |
|
|
const ON_Curve * |
rail1, |
|
|
double |
t0, |
|
|
double |
t1 |
|
) |
| |
|
static |
Calc twist across one ruling.
For a ruling between two rails, rail0 and rail1, from rail0(t0) to rial1(t1), the ruling twist is: V = rail0(t1) - rail1(t0) N0 = rail0.TangentAt(t0) cross V N1 = rail1.TangentAt(t1) cross V Twist = acos(N0 * N1)
◆ FindMinTwist() [1/2]
static bool RhDevelopableSurface::FindMinTwist |
( |
const ON_Curve * |
rail0, |
|
|
const ON_Curve * |
rail1, |
|
|
double |
t0, |
|
|
double |
t1, |
|
|
ON_Interval |
domain0, |
|
|
ON_Interval |
domain1, |
|
|
double & |
t0_out, |
|
|
double & |
t1_out, |
|
|
double & |
max_cos_twist |
|
) |
| |
|
static |
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
-
t0 | param on rail0 |
t1 | param on rail1 |
domain0 | search domain on rail0 |
domain1 | search domain on rail1 |
t0_out | best t on rail0 |
t1_out | best t on rail1 |
max_cos_twist | twist at rail0(t0_out), rail1(t1_out) |
◆ FindMinTwist() [2/2]
static bool RhDevelopableSurface::FindMinTwist |
( |
const ON_Curve * |
rail0, |
|
|
const ON_Curve * |
rail1, |
|
|
double |
t0, |
|
|
double |
t1, |
|
|
ON_Interval |
domain1, |
|
|
double & |
t1_out, |
|
|
double & |
max_cos_twist |
|
) |
| |
|
static |
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
-
t0 | param on rail0 |
t1 | seed param on rail1 |
domain1 | search domain on rail1 |
t1_out | best t on rail1 |
max_cos_twist | cos(twist) at rail0(t0_out), rail1(t1_out) |
◆ UntwistSurface()
static bool RhDevelopableSurface::UntwistSurface |
( |
const ON_Curve * |
rail0, |
|
|
const ON_Curve * |
rail1, |
|
|
int |
rulingcount, |
|
|
ON_2dPoint * |
rulings |
|
) |
| |
|
static |