RhinoCommon API

## SurfaceGetNextDiscontinuity Method (Int32, Continuity, Double, Double, Double, Double, Double) |

Searches for a derivative, tangent, or curvature discontinuity.

Syntax

public bool GetNextDiscontinuity( int direction, Continuity continuityType, double t0, double t1, double cosAngleTolerance, double curvatureTolerance, out double t )

- direction
- Type: SystemInt32

If 0, then "u" parameter is checked. If 1, then the "v" parameter is checked. - continuityType
- Type: Rhino.GeometryContinuity

The desired continuity. - t0
- Type: SystemDouble

Search begins at t0. If there is a discontinuity at t0, it will be ignored. This makes it possible to repeatedly call GetNextDiscontinuity and step through the discontinuities. - t1
- Type: SystemDouble

(t0 != t1) If there is a discontinuity at t1 is will be ignored unless c is a locus discontinuity type and t1 is at the start or end of the curve. - cosAngleTolerance
- Type: SystemDouble

default = cos(1 degree) Used only when continuityType is G1_continuous or G2_continuous. If the cosine of the angle between two tangent vectors is <= cos_angle_tolerance, then a G1 discontinuity is reported. - curvatureTolerance
- Type: SystemDouble

(default = ON_SQRT_EPSILON) Used only when continuityType is G2_continuous. If K0 and K1 are curvatures evaluated from above and below and |K0 - K1| > curvature_tolerance, then a curvature discontinuity is reported. - t
- Type: SystemDouble

if a discontinuity is found, then t reports the parameter at the discontinuity.

Parametric continuity tests c = (C0_continuous, ..., G2_continuous): TRUE if a parametric discontinuity was found strictly between t0 and t1. Note well that all curves are parametrically continuous at the ends of their domains. Locus continuity tests c = (C0_locus_continuous, ...,G2_locus_continuous): TRUE if a locus discontinuity was found strictly between t0 and t1 or at t1 is the at the end of a curve. Note well that all open curves (IsClosed()=false) are locus discontinuous at the ends of their domains. All closed curves (IsClosed()=true) are at least C0_locus_continuous at the ends of their domains.

See Also