oevislib_net  0.14.3.0
Loading...
Searching...
No Matches
Constructions

Functions

static Conditional< Arc2Doevislib_net.Geometry.Constructions.ArcThroughPoints (Point2D inPoint1, Point2D inPoint2, Point2D inPoint3)
 Creates an arc using 3 points.
static Conditional< Circle2Doevislib_net.Geometry.Constructions.CircleBetweenTangents (Line2D inLine1, Line2D inLine2, Point2D inPoint, bool inGetMaxRadius)
 Creates a circle using two tangent lines and a point on the circle.
static Conditional< Circle2Doevislib_net.Geometry.Constructions.CircleThroughPoints (Point2D inPoint1, Point2D inPoint2, Point2D inPoint3)
 Creates a circle passing through three points.
static Array< Point2Doevislib_net.Geometry.Constructions.MakePointGrid (Point2D inPoint, int inRowCount, int inColumnCount, float inRowStep=1.0f, float inColumnStep=1.0f, Anchor2D inAnchor=Anchor2D.TopLeft)
 Creates a point grid starting from an anchor point.
static Array< Point2Doevislib_net.Geometry.Constructions.MakePointGrid (Rectangle2D inRectangle, int inRowCount, int inColumnCount, float inMarginWidth, float inMarginHeight, Optional< UCS2D > inAlignment=null, Optional< Rectangle2D > outAlignedRectangle=null)
 Creates a point grid starting from an anchor point and the provided oriented rectangle.
static Segment2D oevislib_net.Geometry.Constructions.NormalSegment (Segment2D inSegment, Point2D inMidpoint, float inLength=1.0f)
 Creates a new segment normal to the input segment, with a specific midpoint and length.

Rectangle2D Constructions

See also
GeometryConstruction
void oevislib_net.Geometry.Rectangle2D.Split (Rectangle2D outRectangle1, Rectangle2D outRectangle2, SplitDirection inSplitDirection)
 Splits the rectangle along the provided direction.

Vector2D Constructions

See also
Constructions
static Vector2D oevislib_net.Geometry.Vector2D.FromDirection (float inLength, float inDirection)
 Creates a new Vector 2D given length and direction.

Detailed Description

Function Documentation

◆ ArcThroughPoints()

Conditional< Arc2D > oevislib_net.Geometry.Constructions.ArcThroughPoints ( Point2D inPoint1,
Point2D inPoint2,
Point2D inPoint3 )
inlinestatic

Creates an arc using 3 points.

When the three points are collinear, the arc does not exist and the Conditional output will be null. Coincident points result in an arc with center set to inPoint1 and all the other dimensions set to 0. The arc's angles, when it exists, are computed starting in inPoint1 and ending in inPoint3, going clockwise.

Parameters
inPoint1First input point.
inPoint2Second input point.
inPoint3Third input point.
Returns
An Arc3D object starting in inPoint1 and ending in inPoint3. The object is Null if the three points are collinear.

◆ CircleBetweenTangents()

Conditional< Circle2D > oevislib_net.Geometry.Constructions.CircleBetweenTangents ( Line2D inLine1,
Line2D inLine2,
Point2D inPoint,
bool inGetMaxRadius )
inlinestatic

Creates a circle using two tangent lines and a point on the circle.

Parameters
inLine1First tangent line.
inLine2Second tangent line.
inPointA point on the circumference.
inGetMaxRadiusIf true, return the circle that has maximum radius.
Returns
A Circle2D object tangent to the lines and passing through the input point. The object is Null if the Circle2D cannot be computed.

◆ CircleThroughPoints()

Conditional< Circle2D > oevislib_net.Geometry.Constructions.CircleThroughPoints ( Point2D inPoint1,
Point2D inPoint2,
Point2D inPoint3 )
inlinestatic

Creates a circle passing through three points.

If the three points are collinear, the circle does not exist and the Conditional output will be null.

Parameters
inPoint1First input point.
inPoint2Second input point.
inPoint3Third input point.
Returns
A Circle2D object passing through the three points. The object is Null if the three points are collinear.

◆ FromDirection()

Vector2D oevislib_net.Geometry.Vector2D.FromDirection ( float inLength,
float inDirection )
inlinestatic

Creates a new Vector 2D given length and direction.

Parameters
inLengthDesired length of the vector in pixels. Range: [0, +inf).
inDirectionDesired direction of the vector in degrees.
Returns
The computed vector.

◆ MakePointGrid() [1/2]

Array< Point2D > oevislib_net.Geometry.Constructions.MakePointGrid ( Point2D inPoint,
int inRowCount,
int inColumnCount,
float inRowStep = 1::0f,
float inColumnStep = 1::0f,
Anchor2D inAnchor = Anchor2D::TopLeft )
inlinestatic

Creates a point grid starting from an anchor point.

Parameters
inPointReference point.
inRowCountNumber of rows. Range: [0, +inf).
inColumnCountNumber of columns. Range: [0, +inf).
inRowStepDistance between grid rows. Range: [0, +inf).
inColumnStepDistance between grid columns. Range: [0, +inf).
inAnchorPosition of the reference point with respect to the grid bounding box.
Returns
Array containing all the grid points. The points are ordered using x and y coordinates.

◆ MakePointGrid() [2/2]

Array< Point2D > oevislib_net.Geometry.Constructions.MakePointGrid ( Rectangle2D inRectangle,
int inRowCount,
int inColumnCount,
float inMarginWidth,
float inMarginHeight,
Optional< UCS2D > inAlignment = null,
Optional< Rectangle2D > outAlignedRectangle = null )
inlinestatic

Creates a point grid starting from an anchor point and the provided oriented rectangle.

Parameters
inRectangleInput rectangle.
inRowCountNumber of rows. Range: [2, +inf).
inColumnCountNumber of columns. Range: [2, +inf).
inMarginWidthGrid's margin width. Range: [0, +inf).
inMarginHeightGrid's margin height. Range: [0, +inf).
inAlignmentInput rectangle alignment.
outAlignedRectangleInput rectangle moved into the provided coordinate system.
Returns
Array containing all the grid points. The points are ordered using x and y coordinates.

◆ NormalSegment()

Segment2D oevislib_net.Geometry.Constructions.NormalSegment ( Segment2D inSegment,
Point2D inMidpoint,
float inLength = 1::0f )
inlinestatic

Creates a new segment normal to the input segment, with a specific midpoint and length.

Parameters
inSegmentInput segment.
inMidpointMidpoint of the new segment.
inLengthLength of the new segment.
Returns
Output segment.

◆ Split()

void oevislib_net.Geometry.Rectangle2D.Split ( Rectangle2D outRectangle1,
Rectangle2D outRectangle2,
SplitDirection inSplitDirection )
inline

Splits the rectangle along the provided direction.

Parameters
outRectangle1First half of the rectangle.
outRectangle2Second half of the rectangle.
inSplitDirectionSplit direction.