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
chainGeoPolylineArc3distancedoubleplaneNormalGeoVector3
Returns
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
chainGeoPolylineArc3distancedoubleplaneNormalGeoVector3toleranceTolerance
Returns
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
chainGeoPolylineArc3distancedoubleplaneNormalGeoVector3joinOffsetJoin
Returns
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
chainGeoPolylineArc3distancedoubleplaneNormalGeoVector3joinOffsetJointoleranceTolerance
Returns
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
chainGeoPolylineArc3distancedoubleplaneNormalGeoVector3optionsOffsetOptions
Returns
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
chainGeoPolylineArc3The chain, which must lie in one plane.
distancedoubleHow far to move it, to its left seen from the tip of the normal when positive.
planeNormalGeoVector3Which 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.
optionsOffsetOptionsThe shape of the corners on the outside of its turns.
toleranceToleranceThe 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
lineGeoLine3The segment.
distancedoubleHow far to move it, to its left when positive.
planeNormalGeoVector3The 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
lineGeoLine3The segment.
distancedoubleHow far to move it, to its left when positive.
planeNormalGeoVector3The normal of the plane to offset within; the left is seen from its tip.
toleranceToleranceThe 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
polylineGeoPolyline3distancedoubleplaneNormalGeoVector3
Returns
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
polylineGeoPolyline3distancedoubleplaneNormalGeoVector3toleranceTolerance
Returns
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
polylineGeoPolyline3distancedoubleplaneNormalGeoVector3joinOffsetJoin
Returns
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
polylineGeoPolyline3distancedoubleplaneNormalGeoVector3joinOffsetJointoleranceTolerance
Returns
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
polylineGeoPolyline3distancedoubleplaneNormalGeoVector3optionsOffsetOptions
Returns
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
polylineGeoPolyline3The polyline, which must lie in one plane.
distancedoubleHow far to move it, to its left seen from the tip of the normal when positive.
planeNormalGeoVector3Which 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.
optionsOffsetOptionsThe shape of the corners on the outside of its turns.
toleranceToleranceThe 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.