Table of Contents

Method OffsetInPlane

Namespace
GeometryHelper.Core
Assembly
GeometryHelper.dll

OffsetInPlane(GeoPolylineArc3, double, GeoVector3)

Gets the curve parallel to a flat curved chain at a distance to its left within its plane.

public static GeoPolylineArc3[] OffsetInPlane(GeoPolylineArc3 chain, double distance, GeoVector3 planeNormal)

Parameters

chain GeoPolylineArc3
distance double
planeNormal GeoVector3

Returns

GeoPolylineArc3[]

OffsetInPlane(GeoPolylineArc3, double, GeoVector3, Tolerance)

Gets the curve parallel to a flat curved chain at a distance to its left within its plane, within a tolerance.

public static GeoPolylineArc3[] OffsetInPlane(GeoPolylineArc3 chain, double distance, GeoVector3 planeNormal, Tolerance tolerance)

Parameters

chain GeoPolylineArc3
distance double
planeNormal GeoVector3
tolerance Tolerance

Returns

GeoPolylineArc3[]

OffsetInPlane(GeoPolylineArc3, double, GeoVector3, OffsetJoin)

Gets the curve parallel to a flat curved chain at a distance to its left within its plane, with the given shape of corner.

public static GeoPolylineArc3[] OffsetInPlane(GeoPolylineArc3 chain, double distance, GeoVector3 planeNormal, OffsetJoin join)

Parameters

chain GeoPolylineArc3
distance double
planeNormal GeoVector3
join OffsetJoin

Returns

GeoPolylineArc3[]

OffsetInPlane(GeoPolylineArc3, double, GeoVector3, OffsetJoin, Tolerance)

Gets the curve parallel to a flat curved chain at a distance to its left within its plane, with the given shape of corner, within a tolerance.

public static GeoPolylineArc3[] OffsetInPlane(GeoPolylineArc3 chain, double distance, GeoVector3 planeNormal, OffsetJoin join, Tolerance tolerance)

Parameters

chain GeoPolylineArc3
distance double
planeNormal GeoVector3
join OffsetJoin
tolerance Tolerance

Returns

GeoPolylineArc3[]

OffsetInPlane(GeoPolylineArc3, double, GeoVector3, OffsetOptions)

Gets the curve parallel to a flat curved chain at a distance to its left within its plane, as the options say.

public static GeoPolylineArc3[] OffsetInPlane(GeoPolylineArc3 chain, double distance, GeoVector3 planeNormal, OffsetOptions options)

Parameters

chain GeoPolylineArc3
distance double
planeNormal GeoVector3
options OffsetOptions

Returns

GeoPolylineArc3[]

OffsetInPlane(GeoPolylineArc3, double, GeoVector3, OffsetOptions, Tolerance)

Gets the curve parallel to a flat curved chain at a distance to its left within its plane, as the options say, within a tolerance. A negative distance goes to the right.

public static GeoPolylineArc3[] OffsetInPlane(GeoPolylineArc3 chain, double distance, GeoVector3 planeNormal, OffsetOptions options, Tolerance tolerance)

Parameters

chain GeoPolylineArc3

The chain, which must lie in one plane.

distance double

How far to move it, to its left seen from the tip of the normal when positive.

planeNormal GeoVector3

Which side of the chain's plane it is seen from, and so which way is left. For a chain running straight along one line, which lies in every plane through it, it also picks the plane.

options OffsetOptions

The shape of the corners on the outside of its turns.

tolerance Tolerance

The tolerance.

Returns

GeoPolylineArc3[]

The pieces of the parallel curve, in order along the chain and running the same way; usually one. An arc comes back as an arc, with its radius moved by the distance, and a turn tighter than the distance loses the loop it would have made, as in Offset2.

Exceptions

ArgumentNullException

Thrown when the chain or the options are null.

ArgumentException

Thrown when the chain does not lie in one plane, when the normal has no length, or when it lies in the chain's plane and so gives no side.

ArgumentOutOfRangeException

Thrown when the distance is not a finite number.

OffsetInPlane(GeoLine3, double, GeoVector3)

Gets the segment parallel to a segment at a distance to its left within a plane, using the default tolerance. A negative distance moves it to the right.

public static GeoLine3 OffsetInPlane(GeoLine3 line, double distance, GeoVector3 planeNormal)

Parameters

line GeoLine3

The segment.

distance double

How far to move it, to its left when positive.

planeNormal GeoVector3

The normal of the plane to offset within; the left is seen from its tip.

Returns

GeoLine3

The parallel segment, of the same length and running the same way.

Exceptions

InvalidOperationException

Thrown when the segment is too short to have a direction.

ArgumentException

Thrown when the normal has no length or runs along the segment.

ArgumentOutOfRangeException

Thrown when the distance is not a finite number.

OffsetInPlane(GeoLine3, double, GeoVector3, Tolerance)

Gets the segment parallel to a segment at a distance to its left within a plane, within a tolerance. A negative distance moves it to the right.

public static GeoLine3 OffsetInPlane(GeoLine3 line, double distance, GeoVector3 planeNormal, Tolerance tolerance)

Parameters

line GeoLine3

The segment.

distance double

How far to move it, to its left when positive.

planeNormal GeoVector3

The normal of the plane to offset within; the left is seen from its tip.

tolerance Tolerance

The tolerance.

Returns

GeoLine3

The parallel segment, of the same length and running the same way.

Remarks

The plane is the one through the segment whose normal is the part of planeNormal square to the segment, so a normal that leans along the segment is straightened rather than refused. With the world Z axis as the normal, a segment drawn in the XY plane moves exactly as GeoLine2.Offset would move it.

Exceptions

InvalidOperationException

Thrown when the segment is too short to have a direction.

ArgumentException

Thrown when the normal has no length or runs along the segment.

ArgumentOutOfRangeException

Thrown when the distance is not a finite number.

OffsetInPlane(GeoPolyline3, double, GeoVector3)

Gets the curve parallel to a flat polyline at a distance to its left within its plane, with sharp corners, using the default tolerance. A negative distance goes to the right.

public static GeoPolyline3[] OffsetInPlane(GeoPolyline3 polyline, double distance, GeoVector3 planeNormal)

Parameters

polyline GeoPolyline3
distance double
planeNormal GeoVector3

Returns

GeoPolyline3[]

OffsetInPlane(GeoPolyline3, double, GeoVector3, Tolerance)

Gets the curve parallel to a flat polyline at a distance to its left within its plane, with sharp corners, within a tolerance.

public static GeoPolyline3[] OffsetInPlane(GeoPolyline3 polyline, double distance, GeoVector3 planeNormal, Tolerance tolerance)

Parameters

polyline GeoPolyline3
distance double
planeNormal GeoVector3
tolerance Tolerance

Returns

GeoPolyline3[]

OffsetInPlane(GeoPolyline3, double, GeoVector3, OffsetJoin)

Gets the curve parallel to a flat polyline at a distance to its left within its plane, with the given corners, using the default tolerance.

public static GeoPolyline3[] OffsetInPlane(GeoPolyline3 polyline, double distance, GeoVector3 planeNormal, OffsetJoin join)

Parameters

polyline GeoPolyline3
distance double
planeNormal GeoVector3
join OffsetJoin

Returns

GeoPolyline3[]

OffsetInPlane(GeoPolyline3, double, GeoVector3, OffsetJoin, Tolerance)

Gets the curve parallel to a flat polyline at a distance to its left within its plane, with the given corners, within a tolerance.

public static GeoPolyline3[] OffsetInPlane(GeoPolyline3 polyline, double distance, GeoVector3 planeNormal, OffsetJoin join, Tolerance tolerance)

Parameters

polyline GeoPolyline3
distance double
planeNormal GeoVector3
join OffsetJoin
tolerance Tolerance

Returns

GeoPolyline3[]

OffsetInPlane(GeoPolyline3, double, GeoVector3, OffsetOptions)

Gets the curve parallel to a flat polyline at a distance to its left within its plane, as the options say, using the default tolerance.

public static GeoPolyline3[] OffsetInPlane(GeoPolyline3 polyline, double distance, GeoVector3 planeNormal, OffsetOptions options)

Parameters

polyline GeoPolyline3
distance double
planeNormal GeoVector3
options OffsetOptions

Returns

GeoPolyline3[]

OffsetInPlane(GeoPolyline3, double, GeoVector3, OffsetOptions, Tolerance)

Gets the curve parallel to a flat polyline at a distance to its left within its plane, as the options say, within a tolerance. A negative distance goes to the right.

public static GeoPolyline3[] OffsetInPlane(GeoPolyline3 polyline, double distance, GeoVector3 planeNormal, OffsetOptions options, Tolerance tolerance)

Parameters

polyline GeoPolyline3

The polyline, which must lie in one plane.

distance double

How far to move it, to its left seen from the tip of the normal when positive.

planeNormal GeoVector3

Which side of the polyline's plane it is seen from, and so which way is left. For a straight polyline, which lies in every plane through it, it also picks the plane: the one square to its part across the polyline.

options OffsetOptions

The shape of the corners on the outside of its turns.

tolerance Tolerance

The tolerance.

Returns

GeoPolyline3[]

The pieces of the parallel curve, in order along the polyline and running the same way; usually one. Loops the parallel curve would make at turns tighter than the distance are cut away, as in Offset2.

Exceptions

ArgumentNullException

Thrown when the polyline or the options are null.

ArgumentException

Thrown when the polyline does not lie in one plane, when the normal has no length, or when it lies in the polyline's plane and so gives no side.

ArgumentOutOfRangeException

Thrown when the distance is not a finite number.