Class Curve
The abstract base class for all curves.
Inherited Members
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 |