Logo Euclid

XCone Type

Result of intersecting an infinite line with one nappe of an infinite cone (only the part of the cone on the base side of the tip, not the mirrored double cone). All parameters are in the parametrization of the line: t=0 at ray.From, t=1 at ray.To, values outside 0..1 (including negative ones) lie on the infinite extension.

Union cases

Union case Description

Intersecting(float, float)

Full Usage: Intersecting(float, float)

Parameters:
    Item1 : float
    Item2 : float

The line crosses the cone surface at two distinct points, both on the lower nappe. Contains both parameters on the line, sorted ascending.

Item1 : float
Item2 : float

IntersectingOne float

Full Usage: IntersectingOne float

Parameters:
    Item : float

The line crosses the cone surface transversally at exactly one point of the lower nappe. This happens when the second root of the quadratic lies on the mirrored upper nappe, or when the line is parallel to a generator line of the cone (the quadratic degenerates to linear). Unlike 'Touching' this is a true crossing from outside to inside.

Item : float

LineOnCone(tipParam, onConeTowardsPositiveT)

Full Usage: LineOnCone(tipParam, onConeTowardsPositiveT)

Parameters:
    tipParam : float
    onConeTowardsPositiveT : bool

The line lies on the cone surface: it is a generator line through the tip. Since only the lower nappe counts as the cone, just the half-line starting at the tip lies on the cone: tipParam is the parameter of the tip on the line. If onConeTowardsPositiveT is true the on-cone half is t >= tipParam, otherwise t <= tipParam.

tipParam : float
onConeTowardsPositiveT : bool

NoIntersection

Full Usage: NoIntersection

The line misses the cone entirely. (This includes lines that would only hit the mirrored upper nappe of the double cone.)

ThroughTip float

Full Usage: ThroughTip float

Parameters:
    Item : float

The line passes through the tip (apex) point only and is not on the cone surface.

Item : float

Touching float

Full Usage: Touching float

Parameters:
    Item : float

The line touches the cone surface tangentially at exactly one point of the lower nappe. (Double root of the quadratic, touch point is not the tip.)

Item : float

Instance members

Instance member Description

this.IsIntersecting

Full Usage: this.IsIntersecting

Returns: bool
Returns: bool

this.IsIntersectingOne

Full Usage: this.IsIntersectingOne

Returns: bool
Returns: bool

this.IsLineOnCone

Full Usage: this.IsLineOnCone

Returns: bool
Returns: bool

this.IsNoIntersection

Full Usage: this.IsNoIntersection

Returns: bool
Returns: bool

this.IsThroughTip

Full Usage: this.IsThroughTip

Returns: bool
Returns: bool

this.IsTouching

Full Usage: this.IsTouching

Returns: bool
Returns: bool

Type something to start searching.