Show / Hide Table of Contents

    Class Curve

    The abstract base class for all curves.

    Inheritance
    System.Object
    Curve
    BoundedCurve
    Circle
    Ellipse
    InfiniteLine
    Implements
    ICurve
    ITransformable<Curve>
    Inherited Members
    System.Object.Equals(System.Object)
    System.Object.Equals(System.Object, System.Object)
    System.Object.GetHashCode()
    System.Object.GetType()
    System.Object.MemberwiseClone()
    System.Object.ReferenceEquals(System.Object, System.Object)
    System.Object.ToString()
    Namespace: Elements.Geometry
    Assembly: Hypar.Elements.dll
    Syntax
    [JsonConverter(typeof(JsonInheritanceConverter), new object[]{"discriminator"})]
    public abstract class Curve : ICurve, ITransformable<Curve>

    Methods

    ParameterAtDistanceFromParameter(Double, Double)

    Get the parameter at a distance from the start parameter along the curve.

    Declaration
    public abstract double ParameterAtDistanceFromParameter(double distance, double start)
    Parameters
    Type Name Description
    System.Double distance

    The distance from the start parameter.

    System.Double start

    The parameter from which to measure the distance.

    Returns
    Type Description
    System.Double

    PointAt(Double)

    Get a point along the curve at parameter u.

    Declaration
    public abstract Vector3 PointAt(double u)
    Parameters
    Type Name Description
    System.Double u

    A parameter along the curve between domain.min and domain.max.

    Returns
    Type Description
    Vector3

    A point along the curve at parameter u.

    TransformAt(Double)

    Get a transform whose XY plane is perpendicular to the curve, and whose positive Z axis points along the curve.

    Declaration
    public abstract Transform TransformAt(double u)
    Parameters
    Type Name Description
    System.Double u

    The transform at a parameter along the curve between domain.min and domain.max.

    Returns
    Type Description
    Transform

    A transform on the curve at parameter u.

    Transformed(Transform)

    Create a transformed copy of this curve. Use of non-affine transforms (i.e. scale) will result in unpredictable results for curve methods such as Length().

    Declaration
    public abstract Curve Transformed(Transform transform)
    Parameters
    Type Name Description
    Transform transform

    The transform to apply.

    Returns
    Type Description
    Curve

    Implements

    ICurve
    ITransformable<T>