oevislib_net  0.14.3.0
Loading...
Searching...
No Matches
Spatial Transforms

Functions

static float oevislib_net.Geometry.AngleMetrics.RotateAngle (float inAngle, float inRotation, AngleRange inAngleRange, bool inInverse)
 Computes the sum of two angles.
static float oevislib_net.Geometry.AngleMetrics.RotateAngle (float inAngle, float inTargetAngle, float inRotation, AngleRange inAngleRange, bool inInverse)
 Rotates an angle towards a target angle, in the direction of minimum rotation.

Arc2D Spatial Transforms

See also
Spatial Transforms
Arc2D oevislib_net.Geometry.Arc2D.Reverse ()
 Returns an object with equal center and radius, but with opposite arc direction.
Arc2D oevislib_net.Geometry.Arc2D.Resize (float inDelta)
 Adds the provided length to the arc radius.
Arc2D oevislib_net.Geometry.Arc2D.Translate (Vector2D inDelta, bool inInverse)
 Translates the arc using the provided vector.
Arc2D oevislib_net.Geometry.Arc2D.Rotate (float inAngle, Optional< Point2D > inCenter=null, bool inInverse=false)
 Rotates the arc using the provided angle.
Arc2D oevislib_net.Geometry.Arc2D.Align (UCS2D inAlignment, bool inInverse)
 Aligns the arc to a new coordinate system.
Arc2D oevislib_net.Geometry.Arc2D.Rescale (float inScale=1.0f, Optional< Point2D > inReferencePoint=null, bool inInverse=false)
 Rescales the arc using a scale factor.

Circle2D Spatial Transforms

See also
Spatial Transforms
Circle2D oevislib_net.Geometry.Circle2D.Translate (Vector2D inDelta, bool inInverse)
 Translates the circle using the provided vector.
Circle2D oevislib_net.Geometry.Circle2D.Rotate (float inAngle, Point2D inCenter, bool inInverse=false)
 Rotates the circle around a rotation center.
Circle2D oevislib_net.Geometry.Circle2D.Align (UCS2D inAlignment, bool inInverse)
 Aligns the circle to a new coordinate system.
Circle2D oevislib_net.Geometry.Circle2D.Rescale (float inScale=1.0f, Optional< Point2D > inReferencePoint=null, bool inInverse=false)
 Rescales the circle using the provided scale factor.
Circle2D oevislib_net.Geometry.Circle2D.Resize (float inRadiusDelta)
 Adds a value to the circle radius.

Ellipse2D Spatial Transforms

See also
Spatial Transforms
Ellipse2D oevislib_net.Geometry.Ellipse2D.Align (UCS2D inAlignment, bool inInverse)
 Aligns the ellipse to a new coordinate system.

Line2D Spatial Transforms

See also
Spatial Transforms
Line2D oevislib_net.Geometry.Line2D.Translate (Vector2D inDelta, TranslateAlignment inDeltaAlignment, bool inInverse)
 Translates the line using the provided vector.
Line2D oevislib_net.Geometry.Line2D.Rotate (float inAngle, Point2D inCenter, bool inInverse)
 Rotates the line around a center point.
Conditional< Segment2Doevislib_net.Geometry.Line2D.Trim (Box inBox)
 Trims the line so that it is entirely contained in a box.
Conditional< Segment2Doevislib_net.Geometry.Line2D.Trim (Rectangle2D inRectangle)
 Trims the line so that it is entirely contained in a rectangle.
Line2D oevislib_net.Geometry.Line2D.Align (UCS2D inAlignment, bool inInverse)
 Aligns the line to a new coordinate system.
Line2D oevislib_net.Geometry.Line2D.Rescale (float inScale, Point2D inReferencePoint, bool inInverse)
 Rescales the line using a scale factor.

Point2D Spatial Transforms

See also
Spatial Transforms
Point2D oevislib_net.Geometry.Point2D.Translate (Vector2D inDelta, bool inInverse)
 Translates the point coordinates using the provided vector.
Point2D oevislib_net.Geometry.Point2D.Translate (Point2D inTargetPoint, float inDistance, bool inInverse)
 Translates the point towards a target point.
Point2D oevislib_net.Geometry.Point2D.Translate (float inDirection, float inDistance, bool inInverse)
 Translates the point along the provided direction.
Point2D oevislib_net.Geometry.Point2D.Rotate (float inAngle, Point2D inCenter, bool inInverse)
 Rotates the point coordinates clockwise.
Point2D oevislib_net.Geometry.Point2D.Align (UCS2D inAlignment, bool inInverse)
 Aligns the point to a new coordinate system.
Point2D oevislib_net.Geometry.Point2D.Rescale (float inScale, Point2D inReferencePoint, bool inInverse)
 Rescales the point distance with respect to a reference point.
static void oevislib_net.Geometry.Point2D.TranslatePoints (Array< Point2D > ioPoints, Vector2D inDelta, bool inInverse)
 Translates all the points in the array.
static void oevislib_net.Geometry.Point2D.RotatePoints (Array< Point2D > ioPoints, float inAngle, Optional< Point2D > inCenter=null, bool inInverse=false)
 Rotates clockwise all the points in the array.
static void oevislib_net.Geometry.Point2D.AlignPoints (Array< Point2D > ioPoints, UCS2D inAlignment, bool inInverse)
 Aligns all the points in the array.
static void oevislib_net.Geometry.Point2D.RescalePoints (Array< Point2D > ioPoints, float inScale=1.0f, Optional< Point2D > inReferencePoint=null, bool inInverse=false)
 Rescales all the points in the array with respect to a reference point.
static Array< Point2Doevislib_net.Geometry.Point2D.TrimPoints (Array< Point2D > inPoints, Box inBox)
 Filters the points that are contained in the provided box.
static Array< Point2Doevislib_net.Geometry.Point2D.TrimPoints (Array< Point2D > inPoints, Region inRegion)
 Filters the points that are contained in the provided region.
static void oevislib_net.Geometry.Point2D.SplitPoints (Array< Point2D > inPoints, Line2D inLine, Array< Point2D > outPointsPositive, Array< Point2D > outPointsNegative)
 Divides the input points in two arrays, based on the position with respect to the provided line.

Rectangle2D Spatial Transforms

See also
Spatial Transforms
Rectangle2D oevislib_net.Geometry.Rectangle2D.Translate (Vector2D inDelta, bool inInverse)
 Translates the rectangle using the provided vector.
Rectangle2D oevislib_net.Geometry.Rectangle2D.Rotate (float inAngle, Optional< Point2D > inCenter=null, bool inInverse=false)
 Rotates the rectangle around a point.
Rectangle2D oevislib_net.Geometry.Rectangle2D.Align (UCS2D inAlignment, bool inInverse)
 Aligns the rectangle to a new coordinate system.
Rectangle2D oevislib_net.Geometry.Rectangle2D.Rescale (float inScale=1.0f, Optional< Point2D > inReferencePoint=null, bool inInverse=false)
 Rescales the rectangle using a scale factor.
Rectangle2D oevislib_net.Geometry.Rectangle2D.Resize (Anchor2D inAnchor, Optional< float > inNewWidth=null, Optional< float > inNewHeight=null)
 Changes the dimensions of the rectangle, while keeping an anchor point fixed.
Rectangle2D oevislib_net.Geometry.Rectangle2D.Resize (Anchor2D inAnchor, float inWidthScale, float inHeightScale)
 Changes the dimensions of the rectangle using a scaling factor, while keeping an anchor point fixed.
Rectangle2D oevislib_net.Geometry.Rectangle2D.ResizeRelative (Anchor2D inAnchor, float inWidthDelta, float inHeightDelta)
 Changes the dimensions of the rectangle by adding a certain quantity to each dimension, while keeping an anchor point fixed.
Rectangle2D oevislib_net.Geometry.Rectangle2D.Inflate (float inMargin)
 Increases rectangle dimension by some amount.

Ring2D Spatial Transforms

See also
Spatial Transforms
Ring2D oevislib_net.Geometry.Ring2D.Align (UCS2D inRingAlignment)
 Aligns the ring to a new coordinate system.

Segment2D Spatial Transforms

See also
Spatial Transforms
Segment2D oevislib_net.Geometry.Segment2D.Translate (Vector2D inDelta, TranslateAlignment inDeltaAlignment, bool inInverse)
 Translates the segment using the provided vector.
Segment2D oevislib_net.Geometry.Segment2D.Rotate (float inAngle, Optional< Point2D > inCenter=null, bool inInverse=false)
 Rotates the segment around a center point.
Conditional< Segment2Doevislib_net.Geometry.Segment2D.Trim (Box inBox)
 Trims the segment so that it is entirely contained in a box.
Conditional< Segment2Doevislib_net.Geometry.Segment2D.Trim (Rectangle2D inRectangle)
 Trims the segment so that it is entirely contained in a rectangle.
Conditional< Segment2Doevislib_net.Geometry.Segment2D.Trim (Circle2D inCircle)
 Trims the segment so that it is entirely contained in a circle.
Segment2D oevislib_net.Geometry.Segment2D.Align (UCS2D inAlignment, bool inInverse)
 Aligns the segment to a new coordinate system.
Segment2D oevislib_net.Geometry.Segment2D.Resize (float inNewLength, float inAnchor)
 Changes the length of the segment while keeping an anchor point fixed.
Segment2D oevislib_net.Geometry.Segment2D.ResizeRelative (float inDelta, float inAnchor)
 Increases or decreases the length of the segment while keeping an anchor point fixed.
Segment2D oevislib_net.Geometry.Segment2D.Rescale (float inScale=1.0f, Optional< Point2D > inReferencePoint=null, bool inInverse=false)
 Rescales the segment using a scaling factor.
void oevislib_net.Geometry.Segment2D.Reverse ()
 Swaps the segment endpoints.
Array< Segment2Doevislib_net.Geometry.Segment2D.Split (int inCount)
 Splits the segments in multiple ones, each with the same length.

UCS2D Spatial Transforms

See also
Spatial Transforms
UCS2D oevislib_net.Geometry.UCS2D.Translate (Vector2D inDelta, bool inInverse)
 Translates the coordinate system using the provided vector.
UCS2D oevislib_net.Geometry.UCS2D.Rotate (float inAngle, Optional< Point2D > inCenter=null, bool inInverse=false)
 Rotates the coordinate system around a center point.
UCS2D oevislib_net.Geometry.UCS2D.Align (UCS2D inAlignment, bool inInverse)
 Aligns the object to a new coordinate system.
UCS2D oevislib_net.Geometry.UCS2D.Invert ()
 Inverts the coordinate system.

Vector2D Spatial Transforms

See also
Spatial Transforms
Vector2D oevislib_net.Geometry.Vector2D.Resize (float inNewLength)
 Changes the length of the vector, keeping the direction fixed.
Vector2D oevislib_net.Geometry.Vector2D.ResizeRelative (float inDelta)
 Increases or decreases the vector lengths by the provided amount.
Vector2D oevislib_net.Geometry.Vector2D.Rescale (float inScale, bool inInverse)
 Rescales the vector using a scale factor.
Vector2D oevislib_net.Geometry.Vector2D.Rotate (float inAngle, bool inInverse)
 Rotates the vector.

Detailed Description

Function Documentation

◆ Align() [1/9]

Arc2D oevislib_net.Geometry.Arc2D.Align ( UCS2D inAlignment,
bool inInverse )
inline

Aligns the arc to a new coordinate system.

Parameters
inAlignmentInput coordinate system.
inInverseIf true, the inverse operation is applied.
Returns
The aligned arc.

◆ Align() [2/9]

Circle2D oevislib_net.Geometry.Circle2D.Align ( UCS2D inAlignment,
bool inInverse )
inline

Aligns the circle to a new coordinate system.

Parameters
inAlignmentInput coordinate system.
inInverseIf true, the opposite operation is applied.
Returns
The aligned circle.

◆ Align() [3/9]

Ellipse2D oevislib_net.Geometry.Ellipse2D.Align ( UCS2D inAlignment,
bool inInverse )
inline

Aligns the ellipse to a new coordinate system.

Parameters
inAlignmentInput coordinate system.
inInverseIf true, the inverse transformation is applied.
Returns
The aligned ellipse.

◆ Align() [4/9]

Line2D oevislib_net.Geometry.Line2D.Align ( UCS2D inAlignment,
bool inInverse )
inline

Aligns the line to a new coordinate system.

Parameters
inAlignmentNew coordinate system.
inInverseIf true, the inverse transformation is applied.
Returns
The aligned line.

◆ Align() [5/9]

Point2D oevislib_net.Geometry.Point2D.Align ( UCS2D inAlignment,
bool inInverse )
inline

Aligns the point to a new coordinate system.

Parameters
inAlignmentNew coordinate system.
inInverseIf true, the inverse transform is used.
Returns
The aligned point.

◆ Align() [6/9]

Rectangle2D oevislib_net.Geometry.Rectangle2D.Align ( UCS2D inAlignment,
bool inInverse )
inline

Aligns the rectangle to a new coordinate system.

Parameters
inAlignmentInput coordinate system.
inInverseIf true, the inverse transformation is applied.
Returns
The aligned rectangle.

◆ Align() [7/9]

Ring2D oevislib_net.Geometry.Ring2D.Align ( UCS2D inRingAlignment)
inline

Aligns the ring to a new coordinate system.

Parameters
inRingAlignmentInput coordinate system.
Returns
The aligned ring.

◆ Align() [8/9]

Segment2D oevislib_net.Geometry.Segment2D.Align ( UCS2D inAlignment,
bool inInverse )
inline

Aligns the segment to a new coordinate system.

Parameters
inAlignmentInput coordinate system.
inInverseIf true, the opposite transformation is applied.
Returns
The aligned segment.

◆ Align() [9/9]

UCS2D oevislib_net.Geometry.UCS2D.Align ( UCS2D inAlignment,
bool inInverse )
inline

Aligns the object to a new coordinate system.

Parameters
inAlignmentNew coordinate system.
inInverseIf true, the opposite transformation is applied.
Returns
The aligned coordinate system.

◆ AlignPoints()

void oevislib_net.Geometry.Point2D.AlignPoints ( Array< Point2D > ioPoints,
UCS2D inAlignment,
bool inInverse )
inlinestatic

Aligns all the points in the array.

The operation is applied in-place.

Parameters
ioPointsInput points.
inAlignmentNew coordinate system.
inInverseIf true, the inverse transform is applied.

◆ Inflate()

Rectangle2D oevislib_net.Geometry.Rectangle2D.Inflate ( float inMargin)
inline

Increases rectangle dimension by some amount.

Parameters
inMarginAmount added to each side of the rectangle.
Returns
The inflated rectangle.

◆ Invert()

UCS2D oevislib_net.Geometry.UCS2D.Invert ( )
inline

Inverts the coordinate system.

Returns
The inverted coordinate system.

◆ Rescale() [1/7]

Arc2D oevislib_net.Geometry.Arc2D.Rescale ( float inScale = 1::0f,
Optional< Point2D > inReferencePoint = null,
bool inInverse = false )
inline

Rescales the arc using a scale factor.

Parameters
inScaleInput scale factor.
inReferencePointReference point used to rescale the distance of the arc center. If null, the arc center is not moved.
inInverseIf true, the inverse of the scale factor is used.
Returns
The rescaled arc.

◆ Rescale() [2/7]

Circle2D oevislib_net.Geometry.Circle2D.Rescale ( float inScale = 1::0f,
Optional< Point2D > inReferencePoint = null,
bool inInverse = false )
inline

Rescales the circle using the provided scale factor.

Parameters
inScaleInput scale factor.
inReferencePointReference point used to rescale the distance of the circle center. If null, the circle center is not moved.
inInverseIf true, the inverse of the scale factor is considered.
Returns
The rescaled circle.

◆ Rescale() [3/7]

Line2D oevislib_net.Geometry.Line2D.Rescale ( float inScale,
Point2D inReferencePoint,
bool inInverse )
inline

Rescales the line using a scale factor.

Parameters
inScaleRescaling factor.
inReferencePointPoint used to calculate the distance from the line.
inInverseIf true, the inverse of the rescaling factor is used.
Returns
The rescaled line.

◆ Rescale() [4/7]

Point2D oevislib_net.Geometry.Point2D.Rescale ( float inScale,
Point2D inReferencePoint,
bool inInverse )
inline

Rescales the point distance with respect to a reference point.

Parameters
inScaleScale factor.
inReferencePointInput reference point.
inInverseIf true, the scale is inverted.
Returns
The rescaled point.

◆ Rescale() [5/7]

Rectangle2D oevislib_net.Geometry.Rectangle2D.Rescale ( float inScale = 1::0f,
Optional< Point2D > inReferencePoint = null,
bool inInverse = false )
inline

Rescales the rectangle using a scale factor.

Parameters
inScaleRescaling factor.
inReferencePointReference point used to rescale distances. If Null, the rectangle center is used.
inInverseIf true, the inverse of the rescaling factor is used.
Returns
The rescaled rectangle.

◆ Rescale() [6/7]

Segment2D oevislib_net.Geometry.Segment2D.Rescale ( float inScale = 1::0f,
Optional< Point2D > inReferencePoint = null,
bool inInverse = false )
inline

Rescales the segment using a scaling factor.

Parameters
inScaleInput scaling factor. If negative, the segment will be inverted.
inReferencePointReference point used to compute the distances that will be rescaled. If Null, the segment midpoint will be considered.
inInverseIf true, the inverse of the scaling factor will be used.
Returns
Segment2D

◆ Rescale() [7/7]

Vector2D oevislib_net.Geometry.Vector2D.Rescale ( float inScale,
bool inInverse )
inline

Rescales the vector using a scale factor.

Parameters
inScaleScaling factor.
inInverseIf true, the inverse of the scale factor is used.
Returns
The rescaled vector.

◆ RescalePoints()

void oevislib_net.Geometry.Point2D.RescalePoints ( Array< Point2D > ioPoints,
float inScale = 1::0f,
Optional< Point2D > inReferencePoint = null,
bool inInverse = false )
inlinestatic

Rescales all the points in the array with respect to a reference point.

The operation is applied in-place.

Parameters
ioPointsInput points.
inScaleScale coefficient.
inReferencePointReference point used to calculate distances. If Null, the mass center is used.
inInverseIf true, the scale coefficient is inverted.

◆ Resize() [1/6]

Arc2D oevislib_net.Geometry.Arc2D.Resize ( float inDelta)
inline

Adds the provided length to the arc radius.

Parameters
inDeltaLength added to the arc radius.
Returns
The resized arc.

◆ Resize() [2/6]

Circle2D oevislib_net.Geometry.Circle2D.Resize ( float inRadiusDelta)
inline

Adds a value to the circle radius.

Parameters
inRadiusDeltaQuantity added to the radius.
Returns
The resized circle.

◆ Resize() [3/6]

Rectangle2D oevislib_net.Geometry.Rectangle2D.Resize ( Anchor2D inAnchor,
float inWidthScale,
float inHeightScale )
inline

Changes the dimensions of the rectangle using a scaling factor, while keeping an anchor point fixed.

Parameters
inAnchorSelects the point of the rectangle that will not change its coordinate.
inWidthScaleScale factor for the rectangle width.
inHeightScaleScale factor for the rectangle height.
Returns
The resized rectangle.

◆ Resize() [4/6]

Rectangle2D oevislib_net.Geometry.Rectangle2D.Resize ( Anchor2D inAnchor,
Optional< float > inNewWidth = null,
Optional< float > inNewHeight = null )
inline

Changes the dimensions of the rectangle, while keeping an anchor point fixed.

Parameters
inAnchorSelects the point of the rectangle that will not change its coordinate.
inNewWidthNew rectangle width. If Null, the width will not be changed.
inNewHeightNew rectangle height. If Null, the height will not be changed.
Returns
The resized rectangle.

◆ Resize() [5/6]

Segment2D oevislib_net.Geometry.Segment2D.Resize ( float inNewLength,
float inAnchor )
inline

Changes the length of the segment while keeping an anchor point fixed.

Parameters
inNewLengthNew length of the segment. Range: [0, +inf).
inAnchorPoint in the original segment that will be maintained fixed. If equal to 0, the first point will be maintained fixed. If equal to 1, the second point will be maintained fixed.
Returns
The resized segment.

◆ Resize() [6/6]

Vector2D oevislib_net.Geometry.Vector2D.Resize ( float inNewLength)
inline

Changes the length of the vector, keeping the direction fixed.

Parameters
inNewLengthNew vector length. Range: [0, +inf).
Returns
The resized vector.

◆ ResizeRelative() [1/3]

Rectangle2D oevislib_net.Geometry.Rectangle2D.ResizeRelative ( Anchor2D inAnchor,
float inWidthDelta,
float inHeightDelta )
inline

Changes the dimensions of the rectangle by adding a certain quantity to each dimension, while keeping an anchor point fixed.

Parameters
inAnchorSelects the point of the rectangle that will not change its coordinate.
inWidthDeltaAmount added to the rectangle width.
inHeightDeltaAmount added to the rectangle height.
Returns
The resized rectangle.

◆ ResizeRelative() [2/3]

Segment2D oevislib_net.Geometry.Segment2D.ResizeRelative ( float inDelta,
float inAnchor )
inline

Increases or decreases the length of the segment while keeping an anchor point fixed.

Parameters
inDeltaQuantity that will be added to the segment length.
inAnchorPoint in the original segment that will be maintained fixed. If equal to 0, the first point will be maintained fixed. If equal to 1, the second point will be maintained fixed.
Returns
The resized segment.

◆ ResizeRelative() [3/3]

Vector2D oevislib_net.Geometry.Vector2D.ResizeRelative ( float inDelta)
inline

Increases or decreases the vector lengths by the provided amount.

Parameters
inDeltaQuantity added to the vector length.
Returns
The resized vector.

◆ Reverse() [1/2]

Arc2D oevislib_net.Geometry.Arc2D.Reverse ( )
inline

Returns an object with equal center and radius, but with opposite arc direction.

Returns
Reversed arc.

◆ Reverse() [2/2]

void oevislib_net.Geometry.Segment2D.Reverse ( )
inline

Swaps the segment endpoints.

◆ Rotate() [1/8]

Arc2D oevislib_net.Geometry.Arc2D.Rotate ( float inAngle,
Optional< Point2D > inCenter = null,
bool inInverse = false )
inline

Rotates the arc using the provided angle.

Parameters
inAngleInput rotation angle.
inCenterInput rotation center. If null, the arc center is used.
inInverseIf true, the opposite angle is used.
Returns
The rotated arc.

◆ Rotate() [2/8]

Circle2D oevislib_net.Geometry.Circle2D.Rotate ( float inAngle,
Point2D inCenter,
bool inInverse = false )
inline

Rotates the circle around a rotation center.

Parameters
inAngleRotation angle.
inCenterRotation center.
inInverseif true, the opposite rotation angle is used.
Returns
The rotated circle.

◆ Rotate() [3/8]

Line2D oevislib_net.Geometry.Line2D.Rotate ( float inAngle,
Point2D inCenter,
bool inInverse )
inline

Rotates the line around a center point.

Parameters
inAngleRotation angle.
inCenterRotation center.
inInverseIf true, the opposite rotation angle is used.
Returns
The rotated line.

◆ Rotate() [4/8]

Point2D oevislib_net.Geometry.Point2D.Rotate ( float inAngle,
Point2D inCenter,
bool inInverse )
inline

Rotates the point coordinates clockwise.

Parameters
inAngleRotation angle.
inCenterRotation center.
inInverseIf true, the rotation is performed counter-clockwise.
Returns
The rotated point.

◆ Rotate() [5/8]

Rectangle2D oevislib_net.Geometry.Rectangle2D.Rotate ( float inAngle,
Optional< Point2D > inCenter = null,
bool inInverse = false )
inline

Rotates the rectangle around a point.

Parameters
inAngleRotation angle.
inCenterRotation center. If Null, the rectangle center is used.
inInverseIf true, the opposite rotation angle is used.
Returns
The rotated rectangle.

◆ Rotate() [6/8]

Segment2D oevislib_net.Geometry.Segment2D.Rotate ( float inAngle,
Optional< Point2D > inCenter = null,
bool inInverse = false )
inline

Rotates the segment around a center point.

Parameters
inAngleRotation angle.
inCenterRotation center. If Null, the segment midpoint is used.
inInverseIf true, the opposite rotation angle is considered.
Returns
The rotated segment.

◆ Rotate() [7/8]

UCS2D oevislib_net.Geometry.UCS2D.Rotate ( float inAngle,
Optional< Point2D > inCenter = null,
bool inInverse = false )
inline

Rotates the coordinate system around a center point.

Parameters
inAngleRotation angle.
inCenterRotation center. If Null, the coordinate system origin is used.
inInverseIf true, the opposite rotation angle is used.
Returns
The rotated coordinate system.

◆ Rotate() [8/8]

Vector2D oevislib_net.Geometry.Vector2D.Rotate ( float inAngle,
bool inInverse )
inline

Rotates the vector.

Parameters
inAngleRotation angle.
inInverseIf true, the opposite rotation angle is used.
Returns
The rotated vector.

◆ RotateAngle() [1/2]

float oevislib_net.Geometry.AngleMetrics.RotateAngle ( float inAngle,
float inRotation,
AngleRange inAngleRange,
bool inInverse )
inlinestatic

Computes the sum of two angles.

Parameters
inAngleInput angle [deg].
inRotationRotation angle [deg].
inAngleRangeRange out the output angle.
inInverseIf true, the second angle is subtracted from the first.
Returns
The computed angle.

◆ RotateAngle() [2/2]

float oevislib_net.Geometry.AngleMetrics.RotateAngle ( float inAngle,
float inTargetAngle,
float inRotation,
AngleRange inAngleRange,
bool inInverse )
inlinestatic

Rotates an angle towards a target angle, in the direction of minimum rotation.

Parameters
inAngleInput angle [deg].
inTargetAngleAngle used to determine the rotation direction [deg].
inRotationRotation angle [deg].
inAngleRangeRange out the output angle.
inInverseIf true, the angle is rotated in the opposite direction.
Returns
The computed angle.

◆ RotatePoints()

void oevislib_net.Geometry.Point2D.RotatePoints ( Array< Point2D > ioPoints,
float inAngle,
Optional< Point2D > inCenter = null,
bool inInverse = false )
inlinestatic

Rotates clockwise all the points in the array.

The operation is applied in-place.

Parameters
ioPointsInput points.
inAngleInput angle [deg].
inCenterRotation center. If Null, the mass center is used.
inInverseIf true, rotation is applied counterclockwise.

◆ Split()

Array< Segment2D > oevislib_net.Geometry.Segment2D.Split ( int inCount)
inline

Splits the segments in multiple ones, each with the same length.

Parameters
inCountThe number of resulting segments. Range: [1, +inf).
Returns
Array containing all the segment obtained by the splitting.

◆ SplitPoints()

void oevislib_net.Geometry.Point2D.SplitPoints ( Array< Point2D > inPoints,
Line2D inLine,
Array< Point2D > outPointsPositive,
Array< Point2D > outPointsNegative )
inlinestatic

Divides the input points in two arrays, based on the position with respect to the provided line.

Parameters
inPointsInput points.
inLineReference line.
outPointsPositiveArray of points with positive distance from the reference line.
outPointsNegativeArray of points with negative distance from the reference line.

◆ Translate() [1/9]

Arc2D oevislib_net.Geometry.Arc2D.Translate ( Vector2D inDelta,
bool inInverse )
inline

Translates the arc using the provided vector.

Parameters
inDeltaInput vector used for translations.
inInverseIf true, the vector with the opposite direction is used.
Returns
The translated arc.

◆ Translate() [2/9]

Circle2D oevislib_net.Geometry.Circle2D.Translate ( Vector2D inDelta,
bool inInverse )
inline

Translates the circle using the provided vector.

Parameters
inDeltaInput vector used for translation.
inInverseIf true, the vector with the opposite direction is used.
Returns
The translated circle.

◆ Translate() [3/9]

Line2D oevislib_net.Geometry.Line2D.Translate ( Vector2D inDelta,
TranslateAlignment inDeltaAlignment,
bool inInverse )
inline

Translates the line using the provided vector.

Parameters
inDeltaTranslation vector.
inDeltaAlignmentCoordinate system used for translation.
inInverseIf true, the vector with the opposite direction is used.
Returns
The translated line.

◆ Translate() [4/9]

Point2D oevislib_net.Geometry.Point2D.Translate ( float inDirection,
float inDistance,
bool inInverse )
inline

Translates the point along the provided direction.

Parameters
inDirectionDirection of translation.
inDistanceDistance of translation.
inInverseIf true, the point is translated in the opposite direction with respect to inTargetPoint.
Returns
The translated point.

◆ Translate() [5/9]

Point2D oevislib_net.Geometry.Point2D.Translate ( Point2D inTargetPoint,
float inDistance,
bool inInverse )
inline

Translates the point towards a target point.

Parameters
inTargetPointPoint that define the direction of translation.
inDistanceDistance of translation.
inInverseIf true, the point is translated in the opposite direction with respect to inTargetPoint.
Returns
The translated point.

◆ Translate() [6/9]

Point2D oevislib_net.Geometry.Point2D.Translate ( Vector2D inDelta,
bool inInverse )
inline

Translates the point coordinates using the provided vector.

Parameters
inDeltaTranslation vector.
inInverseIf true, the vector with opposite direction is used.
Returns
The translated point.

◆ Translate() [7/9]

Rectangle2D oevislib_net.Geometry.Rectangle2D.Translate ( Vector2D inDelta,
bool inInverse )
inline

Translates the rectangle using the provided vector.

Parameters
inDeltaTranslation vector.
inInverseIf true, the vector with the opposite direction is used.
Returns
The translated rectangle.

◆ Translate() [8/9]

Segment2D oevislib_net.Geometry.Segment2D.Translate ( Vector2D inDelta,
TranslateAlignment inDeltaAlignment,
bool inInverse )
inline

Translates the segment using the provided vector.

Parameters
inDeltaTranslation vector.
inDeltaAlignmentCoordinate system used for translation.
inInverseIf true, the vector with the opposite direction is used.
Returns
The translated segment.

◆ Translate() [9/9]

UCS2D oevislib_net.Geometry.UCS2D.Translate ( Vector2D inDelta,
bool inInverse )
inline

Translates the coordinate system using the provided vector.

Parameters
inDeltaTranslation segment.
inInverseIf true, the vector with the opposite direction is used.
Returns
The translated segment.

◆ TranslatePoints()

void oevislib_net.Geometry.Point2D.TranslatePoints ( Array< Point2D > ioPoints,
Vector2D inDelta,
bool inInverse )
inlinestatic

Translates all the points in the array.

The operation is applied in-place.

Parameters
ioPointsInput points.
inDeltaInput translation vector.
inInverseIf true, the translation is applied using the vector with opposite direction.

◆ Trim() [1/5]

Conditional< Segment2D > oevislib_net.Geometry.Line2D.Trim ( Box inBox)
inline

Trims the line so that it is entirely contained in a box.

Parameters
inBoxInput box.
Returns
A conditional segment entirely contained in the provided box. If no part of the line is contained in the box, the conditional object will be Null.

◆ Trim() [2/5]

Conditional< Segment2D > oevislib_net.Geometry.Line2D.Trim ( Rectangle2D inRectangle)
inline

Trims the line so that it is entirely contained in a rectangle.

Parameters
inRectangleInput rectangle.
Returns
A conditional segment entirely contained in the provided rectangle. If no part of the line is contained in the rectangle, the conditional object will be Null.

◆ Trim() [3/5]

Conditional< Segment2D > oevislib_net.Geometry.Segment2D.Trim ( Box inBox)
inline

Trims the segment so that it is entirely contained in a box.

Parameters
inBoxInput box.
Returns
A conditional object containing the part of the segment entirely contained in the box. If no part of the segment is contained in the box, the conditional will be Null.

◆ Trim() [4/5]

Conditional< Segment2D > oevislib_net.Geometry.Segment2D.Trim ( Circle2D inCircle)
inline

Trims the segment so that it is entirely contained in a circle.

Parameters
inCircleInput circle.
Returns
A conditional object containing the part of the segment entirely contained in the circle. If no part of the segment is contained in the circle, the conditional will be Null.

◆ Trim() [5/5]

Conditional< Segment2D > oevislib_net.Geometry.Segment2D.Trim ( Rectangle2D inRectangle)
inline

Trims the segment so that it is entirely contained in a rectangle.

Parameters
inRectangleInput rectangle.
Returns
A conditional object containing the part of the segment entirely contained in the rectangle. If no part of the segment is contained in the rectangle, the conditional will be Null.

◆ TrimPoints() [1/2]

Array< Point2D > oevislib_net.Geometry.Point2D.TrimPoints ( Array< Point2D > inPoints,
Box inBox )
inlinestatic

Filters the points that are contained in the provided box.

Parameters
inPointsInput points.
inBoxReference box.
Returns
Array with all the points that are contained in the box.

◆ TrimPoints() [2/2]

Array< Point2D > oevislib_net.Geometry.Point2D.TrimPoints ( Array< Point2D > inPoints,
Region inRegion )
inlinestatic

Filters the points that are contained in the provided region.

Parameters
inPointsInput points.
inRegionReference region.
Returns
Array with all the points that are contained in the region.