menu

WinForms

  • Code Examples
  • Upgrade Guide
  • User Guide
  • Demos
  • Support
  • Forums
  • Download
Class Geometry - WindowsForms API Reference | Syncfusion

    Show / Hide Table of Contents

    Class Geometry

    Contains static declarations for functions and constants used for performing calculations on points, lines, and rectangles.

    Inheritance
    System.Object
    Geometry
    Inherited Members
    System.Object.Equals(System.Object)
    System.Object.Equals(System.Object, System.Object)
    System.Object.GetHashCode()
    System.Object.GetType()
    System.Object.MemberwiseClone()
    System.Object.ReferenceEquals(System.Object, System.Object)
    System.Object.ToString()
    Namespace: Syncfusion.Windows.Forms.Diagram
    Assembly: Syncfusion.Diagram.Base.dll
    Syntax
    public class Geometry

    Constructors

    Geometry()

    Declaration
    public Geometry()

    Fields

    RadiansQuadrant1

    Angle of quadrant 1 for a unit circle in radians.

    Declaration
    public static double RadiansQuadrant1
    Field Value
    Type
    System.Double

    RadiansQuadrant2

    Angle of quadrant 2 for a unit circle in radians.

    Declaration
    public static double RadiansQuadrant2
    Field Value
    Type
    System.Double

    RadiansQuadrant3

    Angle of quadrant 3 for a unit circle in radians.

    Declaration
    public static double RadiansQuadrant3
    Field Value
    Type
    System.Double

    RadiansQuadrant4

    Angle of quadrant 4 for a unit circle in radians.

    Declaration
    public static double RadiansQuadrant4
    Field Value
    Type
    System.Double

    Methods

    AppendMatrix(PointF, Matrix)

    Appends the matrix to point.

    Declaration
    public static PointF AppendMatrix(PointF ptPoint, Matrix mtxTransform)
    Parameters
    Type Name Description
    System.Drawing.PointF ptPoint

    The point.

    System.Drawing.Drawing2D.Matrix mtxTransform

    The matrix transform.

    Returns
    Type Description
    System.Drawing.PointF

    The matrix point.

    AppendMatrix(RectangleF, Matrix)

    Appends the matrix to rectangle.

    Declaration
    public static RectangleF AppendMatrix(RectangleF rcRect, Matrix mtxTransform)
    Parameters
    Type Name Description
    System.Drawing.RectangleF rcRect

    The rectangle.

    System.Drawing.Drawing2D.Matrix mtxTransform

    The matrix transform.

    Returns
    Type Description
    System.Drawing.RectangleF

    The rect.

    ArcFromPoints(Point, Point, out Rectangle, out Single, out Single)

    Creates an arc given two points.

    Declaration
    public static void ArcFromPoints(Point pt1, Point pt2, out Rectangle rcBounds, out float startAngle, out float sweepAngle)
    Parameters
    Type Name Description
    System.Drawing.Point pt1

    First point.

    System.Drawing.Point pt2

    Second point.

    System.Drawing.Rectangle rcBounds

    Output parameter to receive the bounds of the arc created.

    System.Single startAngle

    Output parameter to receive the start angle of the arc created.

    System.Single sweepAngle

    Output parameter to receive the end angle of the arc created.

    Remarks

    The two points passed in are used to calculate the bounds of the arc and the start and end angle.

    ArcFromPoints(PointF, PointF, out RectangleF, out Single, out Single)

    Create arc from given points.

    Declaration
    public static void ArcFromPoints(PointF pt1, PointF pt2, out RectangleF rcBounds, out float startAngle, out float sweepAngle)
    Parameters
    Type Name Description
    System.Drawing.PointF pt1

    The start point.

    System.Drawing.PointF pt2

    The end point.

    System.Drawing.RectangleF rcBounds

    The bound rectangle.

    System.Single startAngle

    The start angle.

    System.Single sweepAngle

    The sweep angle.

    CalcEndpointDirections(PointF, PointF, out CompassHeading, out CompassHeading)

    Calculate the optimal directions for the two specified points.

    Declaration
    public static void CalcEndpointDirections(PointF pt1, PointF pt2, out CompassHeading pt1Heading, out CompassHeading pt2Heading)
    Parameters
    Type Name Description
    System.Drawing.PointF pt1

    First point in the line.

    System.Drawing.PointF pt2

    Second point in the line.

    CompassHeading pt1Heading

    Heading calculated for the first point.

    CompassHeading pt2Heading

    Heading calculated for the second point.

    Remarks

    This method is used for orthogonal lines. Given two points, this method determines the compass headings for the two points. The compass heading for each point determines which direction the line will attach to the point.

    CalcHorizontalIntercept(PointF, PointF, Single, out Single)

    Calcs the horizontal intercept.

    Declaration
    public static bool CalcHorizontalIntercept(PointF pt1, PointF pt2, float y, out float x)
    Parameters
    Type Name Description
    System.Drawing.PointF pt1

    The first point.

    System.Drawing.PointF pt2

    The second point.

    System.Single y

    The y position.

    System.Single x

    The x position.

    Returns
    Type Description
    System.Boolean

    true, if calculate horizontal intercept

    CalcLineLength(PointF[])

    Calcs the length of the line.

    Declaration
    public static double CalcLineLength(PointF[] pts)
    Parameters
    Type Name Description
    System.Drawing.PointF[] pts

    The point array.

    Returns
    Type Description
    System.Double

    The line length

    CalcLineSegmentIntersect(LineSegment, LineSegment, out PointF)

    Calcs the line segment intersect.

    Declaration
    public static bool CalcLineSegmentIntersect(LineSegment seg1, LineSegment seg2, out PointF ptIntersect)
    Parameters
    Type Name Description
    LineSegment seg1

    The first segment.

    LineSegment seg2

    The second segment.

    System.Drawing.PointF ptIntersect

    The intersect point.

    Returns
    Type Description
    System.Boolean

    true, if line segment intersect.

    CalcLineSegmentIntersect(PointF, PointF, PointF, PointF, ref PointF)

    Calcs the line segment intersect.

    Declaration
    public static bool CalcLineSegmentIntersect(PointF ptStart1, PointF ptEnd1, PointF ptStart2, PointF ptEnd2, ref PointF ptIntersect)
    Parameters
    Type Name Description
    System.Drawing.PointF ptStart1

    The first start point.

    System.Drawing.PointF ptEnd1

    The first end point.

    System.Drawing.PointF ptStart2

    The second start point.

    System.Drawing.PointF ptEnd2

    The second end point.

    System.Drawing.PointF ptIntersect

    The intersect point.

    Returns
    Type Description
    System.Boolean

    true, line segment intersect.

    CalcLineSegmentIntersect(Single, Single, Single, Single, Single, Single, Single, Single, ref Single, ref Single)

    Calcs the line segment intersect.

    Declaration
    public static bool CalcLineSegmentIntersect(float x0, float y0, float x1, float y1, float x2, float y2, float x3, float y3, ref float xi, ref float yi)
    Parameters
    Type Name Description
    System.Single x0

    The first x.

    System.Single y0

    The first y.

    System.Single x1

    The second x.

    System.Single y1

    The second y.

    System.Single x2

    The third x.

    System.Single y2

    The third y.

    System.Single x3

    The four x.

    System.Single y3

    The four y.

    System.Single xi

    The intersection x.

    System.Single yi

    The intersection y.

    Returns
    Type Description
    System.Boolean

    true, if line segment intersect.

    CalcOrthogonalPoints(PointF, CompassHeading, PointF, CompassHeading, Single, Single, Single, Single)

    Calculate the orthogonal points.

    Declaration
    public static PointF[] CalcOrthogonalPoints(PointF ptEnd1, CompassHeading endPt1Heading, PointF ptEnd2, CompassHeading endPt2Heading, float padLeft, float padRight, float padTop, float padBottom)
    Parameters
    Type Name Description
    System.Drawing.PointF ptEnd1

    The tail end point position.

    CompassHeading endPt1Heading

    The tail end heading.

    System.Drawing.PointF ptEnd2

    The head end point position.

    CompassHeading endPt2Heading

    The head end point heading.

    System.Single padLeft

    The pad left.

    System.Single padRight

    The pad right.

    System.Single padTop

    The pad top.

    System.Single padBottom

    The pad bottom.

    Returns
    Type Description
    System.Drawing.PointF[]

    The points.

    CalcVerticalIntercept(PointF, PointF, Single, out Single)

    Calcs the vertical intercept.

    Declaration
    public static bool CalcVerticalIntercept(PointF pt1, PointF pt2, float x, out float y)
    Parameters
    Type Name Description
    System.Drawing.PointF pt1

    The first point.

    System.Drawing.PointF pt2

    The second point.

    System.Single x

    The x position.

    System.Single y

    The y position.

    Returns
    Type Description
    System.Boolean

    true, if calculate vertical intercept.

    CenterPoint(Point, Point)

    Calculate centre point between start and end points.

    Declaration
    public static Point CenterPoint(Point ptStart, Point ptEnd)
    Parameters
    Type Name Description
    System.Drawing.Point ptStart

    The start point.

    System.Drawing.Point ptEnd

    The end point.

    Returns
    Type Description
    System.Drawing.Point

    Centre point between start and end point.

    CenterPoint(PointF, PointF)

    Calculate centre point between start and end points.

    Declaration
    public static PointF CenterPoint(PointF ptStart, PointF ptEnd)
    Parameters
    Type Name Description
    System.Drawing.PointF ptStart

    The start point.

    System.Drawing.PointF ptEnd

    The end point.

    Returns
    Type Description
    System.Drawing.PointF

    Centre point between start and end point.

    CenterPoint(Rectangle)

    Calculate center point in rectangle.

    Declaration
    public static Point CenterPoint(Rectangle rect)
    Parameters
    Type Name Description
    System.Drawing.Rectangle rect

    The rectangle.

    Returns
    Type Description
    System.Drawing.Point

    The center point

    CenterPoint(RectangleF)

    Calculate centre point in rectangle.

    Declaration
    public static PointF CenterPoint(RectangleF rect)
    Parameters
    Type Name Description
    System.Drawing.RectangleF rect

    The rectangle.

    Returns
    Type Description
    System.Drawing.PointF

    The center point.

    CheckOrthogonalLine(Point, Point, Point)

    Checks whether point to test lies on line formed with start and end points.

    Declaration
    public static bool CheckOrthogonalLine(Point ptStart, Point ptEnd, Point ptTest)
    Parameters
    Type Name Description
    System.Drawing.Point ptStart

    Start point.

    System.Drawing.Point ptEnd

    End point.

    System.Drawing.Point ptTest

    Point to test.

    Returns
    Type Description
    System.Boolean

    The line.

    Remarks

    Used with orthogonal lines to reduce the overhead of graphics path and region creation.

    CheckOrthogonalLine(PointF, PointF, PointF)

    Checks whether point to test lies on line formed with start and end points.

    Declaration
    public static bool CheckOrthogonalLine(PointF ptStart, PointF ptEnd, PointF ptTest)
    Parameters
    Type Name Description
    System.Drawing.PointF ptStart

    Start point.

    System.Drawing.PointF ptEnd

    End point.

    System.Drawing.PointF ptTest

    Point to test.

    Returns
    Type Description
    System.Boolean

    true, if point is on the line.

    Remarks

    Used with orthogonal lines to reduce the overhead of graphics path and region creation.

    CheckPointOnLine(PointF, PointF, Int32)

    Checks the point on line.

    Declaration
    public static bool CheckPointOnLine(PointF ptStart, PointF ptEnd, int nDigits)
    Parameters
    Type Name Description
    System.Drawing.PointF ptStart

    The first point.

    System.Drawing.PointF ptEnd

    The second point.

    System.Int32 nDigits

    The point number to be routed.

    Returns
    Type Description
    System.Boolean

    true, if point is on the line.

    CompassHeadingToVector(CompassHeading)

    Compasses the heading to vector.

    Declaration
    public static Size CompassHeadingToVector(CompassHeading heading)
    Parameters
    Type Name Description
    CompassHeading heading

    The heading.

    Returns
    Type Description
    System.Drawing.Size

    The size.

    ConvertPoint(PointF)

    Convert the System.Drawing.Point to System.Drawing.PointF

    Declaration
    public static Point ConvertPoint(PointF ptPoint)
    Parameters
    Type Name Description
    System.Drawing.PointF ptPoint

    The given point.

    Returns
    Type Description
    System.Drawing.Point

    The point.

    ConvertPoints(Point[])

    Converts the points.

    Declaration
    public static PointF[] ConvertPoints(Point[] pts)
    Parameters
    Type Name Description
    System.Drawing.Point[] pts

    The point array.

    Returns
    Type Description
    System.Drawing.PointF[]

    The converted points.

    ConvertPoints(PointF[])

    Converts the points.

    Declaration
    public static Point[] ConvertPoints(PointF[] pts)
    Parameters
    Type Name Description
    System.Drawing.PointF[] pts

    The point array.

    Returns
    Type Description
    System.Drawing.Point[]

    The converted points.

    ConvertRectangle(RectangleF)

    Converts the rectangle.

    Declaration
    public static Rectangle ConvertRectangle(RectangleF rcRect)
    Parameters
    Type Name Description
    System.Drawing.RectangleF rcRect

    The rectangle.

    Returns
    Type Description
    System.Drawing.Rectangle

    The converted rect.

    ConvertSize(SizeF)

    Converts the size.

    Declaration
    public static Size ConvertSize(SizeF szSize)
    Parameters
    Type Name Description
    System.Drawing.SizeF szSize

    The size.

    Returns
    Type Description
    System.Drawing.Size

    The converted size.

    ConvertToFullCircle(Single)

    Converts from angle range [-180 ; 180 ] , to angle range [0; 360].

    Declaration
    public static float ConvertToFullCircle(float angle)
    Parameters
    Type Name Description
    System.Single angle

    The angle.

    Returns
    Type Description
    System.Single

    The angle value.

    ConvertToPartCircle(Single)

    Converts from angle range [0 ; 360 ] , to angle range [-180; 180].

    Declaration
    public static float ConvertToPartCircle(float angle)
    Parameters
    Type Name Description
    System.Single angle

    The angle.

    Returns
    Type Description
    System.Single

    The angle value.

    CounterClockwise(PointF, PointF, PointF)

    Gets counters the clockwise.

    Declaration
    public static int CounterClockwise(PointF pt0, PointF pt1, PointF pt2)
    Parameters
    Type Name Description
    System.Drawing.PointF pt0

    The first point.

    System.Drawing.PointF pt1

    The second point.

    System.Drawing.PointF pt2

    The third point.

    Returns
    Type Description
    System.Int32

    The counter value.

    CreateRect(Point, Point)

    Create a rectangle from two points.

    Declaration
    public static Rectangle CreateRect(Point pt1, Point pt2)
    Parameters
    Type Name Description
    System.Drawing.Point pt1

    First point.

    System.Drawing.Point pt2

    Second point.

    Returns
    Type Description
    System.Drawing.Rectangle

    The Rectangle

    CreateRect(Point[])

    Creates the System.Drawing.RectangleF from points array.

    Declaration
    public static Rectangle CreateRect(Point[] pts)
    Parameters
    Type Name Description
    System.Drawing.Point[] pts

    The point array.

    Returns
    Type Description
    System.Drawing.Rectangle

    The rect.

    CreateRect(PointF, PointF)

    Creates the System.Drawing.Rectangle.

    Declaration
    public static RectangleF CreateRect(PointF pt1, PointF pt2)
    Parameters
    Type Name Description
    System.Drawing.PointF pt1

    The start point.

    System.Drawing.PointF pt2

    The second point.

    Returns
    Type Description
    System.Drawing.RectangleF

    The rect

    CreateRect(PointF, SizeF)

    Create right rectangle with converting negative size to offset location.

    Declaration
    public static RectangleF CreateRect(PointF ptCenter, SizeF szRect)
    Parameters
    Type Name Description
    System.Drawing.PointF ptCenter

    Rectangle's center point.

    System.Drawing.SizeF szRect

    Size for current rectangle. Can be negative. Later it was converted.

    Returns
    Type Description
    System.Drawing.RectangleF

    Right rectangle without negative size.

    CreateRect(PointF[])

    Creates the System.Drawing.RectangleF from points array.

    Declaration
    public static RectangleF CreateRect(PointF[] pts)
    Parameters
    Type Name Description
    System.Drawing.PointF[] pts

    The points.

    Returns
    Type Description
    System.Drawing.RectangleF

    The rect.

    CreateRegionFromGraphicsPath(GraphicsPath)

    Creates a regions from given a graphics path.

    Declaration
    public static Region[] CreateRegionFromGraphicsPath(GraphicsPath gfxPath)
    Parameters
    Type Name Description
    System.Drawing.Drawing2D.GraphicsPath gfxPath

    Graphics path to create region from

    Returns
    Type Description
    System.Drawing.Region[]

    Region the graphics path occupies

    Remarks

    This version of CreateRegionFromGraphicsPath does no conversion between logical units and pixels. It assumes that the caller has already performed any necessary conversion.

    CreateRegionFromGraphicsPath(GraphicsPath, MeasureUnits)

    Creates a region given a graphics path and measurement units.

    Declaration
    public static Region CreateRegionFromGraphicsPath(GraphicsPath grfxPath, MeasureUnits units)
    Parameters
    Type Name Description
    System.Drawing.Drawing2D.GraphicsPath grfxPath

    Graphics path to create region from.

    MeasureUnits units

    GraphicsPath's PathPoints measure units.

    Returns
    Type Description
    System.Drawing.Region

    Region the graphics path occupies

    Remarks

    This method generates a region given a graphics path. The region created is always in pixel units. If the incoming graphics path is not in pixel units, the points in the graphics path are converted before generating the region.

    CreateRhomb(PointF, SizeF)

    Creates the rhomb shape.

    Declaration
    public static PointF[] CreateRhomb(PointF ptCenter, SizeF szBoundingRect)
    Parameters
    Type Name Description
    System.Drawing.PointF ptCenter

    The center point.

    System.Drawing.SizeF szBoundingRect

    The bounding rectangle.

    Returns
    Type Description
    System.Drawing.PointF[]

    The points

    EqualPoints(PointF, PointF, Int32)

    Equals the two points.

    Declaration
    public static bool EqualPoints(PointF ptFirst, PointF ptSecond, int nDigits)
    Parameters
    Type Name Description
    System.Drawing.PointF ptFirst

    The first point.

    System.Drawing.PointF ptSecond

    The second point.

    System.Int32 nDigits

    The digits count to be rounded.

    Returns
    Type Description
    System.Boolean

    true, if points are equal.

    GetAggregateBounds(NodeCollection)

    Gets the aggregate bounds.

    Declaration
    public static RectangleF GetAggregateBounds(NodeCollection nodes)
    Parameters
    Type Name Description
    NodeCollection nodes

    The node collection.

    Returns
    Type Description
    System.Drawing.RectangleF

    The rect.

    GetAnchorPoint(RectangleF, BoxPosition)

    Gets the anchor point.

    Declaration
    public static PointF GetAnchorPoint(RectangleF rect, BoxPosition anchor)
    Parameters
    Type Name Description
    System.Drawing.RectangleF rect

    The rect.

    BoxPosition anchor

    The anchor.

    Returns
    Type Description
    System.Drawing.PointF

    The anchor point.

    GetBoundaryIntercept(GraphicsPath, MeasureUnits, PointF, PointF, CompassHeading, out PointF)

    Gets the boundary intercept.

    Declaration
    public static bool GetBoundaryIntercept(GraphicsPath grphPath, MeasureUnits units, PointF first, PointF second, CompassHeading heading, out PointF ptIntsct)
    Parameters
    Type Name Description
    System.Drawing.Drawing2D.GraphicsPath grphPath

    The grphPath to intercept.

    MeasureUnits units

    The units.

    System.Drawing.PointF first

    The first.

    System.Drawing.PointF second

    The second.

    CompassHeading heading

    The heading.

    System.Drawing.PointF ptIntsct

    The given point.

    Returns
    Type Description
    System.Boolean

    true, if boundary intercept.

    GetBoundaryIntercept(GraphicsPath, MeasureUnits, PointF, PointF, out PointF)

    The Region class internally rounds off floating point values to the nearest integer. This causes problems when using GraphicsUnit.Inches. Using Pixel units for calculating the region bounds helps avoid this round off error.

    Declaration
    public static bool GetBoundaryIntercept(GraphicsPath grfxPath, MeasureUnits units, PointF pt1, PointF pt2, out PointF ptIntercept)
    Parameters
    Type Name Description
    System.Drawing.Drawing2D.GraphicsPath grfxPath

    The node graphics path to intercept..

    MeasureUnits units

    The units.

    System.Drawing.PointF pt1

    The first point.

    System.Drawing.PointF pt2

    The second point.

    System.Drawing.PointF ptIntercept

    The given point.

    Returns
    Type Description
    System.Boolean

    true, if boundary intercept.

    GetBoundaryIntercept(GraphicsPath, PointF, BoxSide, out PointF)

    Gets the boundary intercept.

    Declaration
    public static bool GetBoundaryIntercept(GraphicsPath grfxPath, PointF ptCentralPoint, BoxSide side, out PointF ptIntercept)
    Parameters
    Type Name Description
    System.Drawing.Drawing2D.GraphicsPath grfxPath

    The node to intercept.

    System.Drawing.PointF ptCentralPoint

    Central point.

    BoxSide side

    The side of box.

    System.Drawing.PointF ptIntercept

    The intercept point.

    Returns
    Type Description
    System.Boolean

    true, if boundary intercept.

    GetBoundaryIntercept(RectangleF[], PointF, PointF, out PointF)

    Gets the boundary intercepting.

    Declaration
    public static bool GetBoundaryIntercept(RectangleF[] rcScans, PointF ptInside, PointF ptOutside, out PointF ptIntercept)
    Parameters
    Type Name Description
    System.Drawing.RectangleF[] rcScans

    The region scans.

    System.Drawing.PointF ptInside

    The inside point.

    System.Drawing.PointF ptOutside

    The outside point.

    System.Drawing.PointF ptIntercept

    The intercept point.

    Returns
    Type Description
    System.Boolean

    true, if boundary intercept.

    GetBoundaryIntercept(Region, PointF, PointF, out PointF)

    Gets the boundary intercepting.

    Declaration
    public static bool GetBoundaryIntercept(Region rgn, PointF pt1, PointF pt2, out PointF ptIntercept)
    Parameters
    Type Name Description
    System.Drawing.Region rgn

    The shape region.

    System.Drawing.PointF pt1

    The start point.

    System.Drawing.PointF pt2

    The end point.

    System.Drawing.PointF ptIntercept

    The intercept point.

    Returns
    Type Description
    System.Boolean

    true, if boundary intercept.

    GetBoundaryIntercepts(GraphicsPath, MeasureUnits, PointF, PointF[])

    Returns the four points that intersect the given region along the X and Y axis extending from the given point.

    Declaration
    public static void GetBoundaryIntercepts(GraphicsPath grfxPath, MeasureUnits units, PointF ptTarget, PointF[] ptIntercepts)
    Parameters
    Type Name Description
    System.Drawing.Drawing2D.GraphicsPath grfxPath

    The GRFX path.

    MeasureUnits units

    The units.

    System.Drawing.PointF ptTarget

    Point inside the region from which the X and Y axes extend

    System.Drawing.PointF[] ptIntercepts

    Array to receive values

    Remarks

    This method is used to determine where to dock orthogonal lines at the boundaries of shapes. The points are returned in the following order: north, east, south, west, northeast, northwest, southeast, southwest.

    GetBoundaryIntercepts(RectangleF, PointF, CompassHeading)

    Gets the boundary intercepts.

    Declaration
    public static PointF[] GetBoundaryIntercepts(RectangleF rcBounds, PointF ptLocation, CompassHeading heading)
    Parameters
    Type Name Description
    System.Drawing.RectangleF rcBounds

    The rectangle for interception check.

    System.Drawing.PointF ptLocation

    The end point what contains in rectangle.

    CompassHeading heading

    endpoint container commpassHeading.

    Returns
    Type Description
    System.Drawing.PointF[]

    Array of interception points. Array contains eight points of eight commpasHeadng directions.

    GetBoundaryIntercepts(Region, PointF, PointF[])

    Returns the four points that intersect the given region along the X and Y axis extending from the given point.

    Declaration
    public static void GetBoundaryIntercepts(Region rgn, PointF ptTarget, PointF[] ptIntercepts)
    Parameters
    Type Name Description
    System.Drawing.Region rgn

    Region to find intercepts for

    System.Drawing.PointF ptTarget

    Point inside the region from which the X and Y axes extend

    System.Drawing.PointF[] ptIntercepts

    Array to receive values

    Remarks

    This method is used to determine where to dock orthogonal lines at the boundaries of shapes. The points are returned in the following order: north, south, east, west.

    GetBoundaryPoint(RectangleF, PointF, CompassHeading)

    Gets the boundary point by compass heading checking only horizontal and vertical direction.

    Declaration
    public static PointF GetBoundaryPoint(RectangleF rcBounds, PointF ptInnerPoint, CompassHeading heading)
    Parameters
    Type Name Description
    System.Drawing.RectangleF rcBounds

    The bounds to intersect.

    System.Drawing.PointF ptInnerPoint

    The point inside bounds.

    CompassHeading heading

    The intersect direction.

    Returns
    Type Description
    System.Drawing.PointF

    Boundary side point.

    GetBoxSide(PointF, PointF)

    Gets the box side of endpoint to start point.

    Declaration
    public static BoxSide GetBoxSide(PointF ptStartPoint, PointF ptEndPoint)
    Parameters
    Type Name Description
    System.Drawing.PointF ptStartPoint

    The start point.

    System.Drawing.PointF ptEndPoint

    The end point.

    Returns
    Type Description
    BoxSide

    The box side.

    GetCompassHeading(EndPoint)

    Gets the compass heading.

    Declaration
    public static CompassHeading GetCompassHeading(EndPoint endPoint)
    Parameters
    Type Name Description
    EndPoint endPoint

    The end point.

    Returns
    Type Description
    CompassHeading

    Compass heading.

    GetCompassHeading(RectangleF, PointF)

    Gets the compass heading direction. Return only North, West, South, East or None value.

    Declaration
    public static CompassHeading GetCompassHeading(RectangleF rcBounds, PointF ptPoint)
    Parameters
    Type Name Description
    System.Drawing.RectangleF rcBounds

    The round area.

    System.Drawing.PointF ptPoint

    The outside point.

    Returns
    Type Description
    CompassHeading

    Heading direction.

    GetEndPointIndex(EndPoint, Int32, Int32)

    Gets the endPoint index in given path points.

    Declaration
    public static int GetEndPointIndex(EndPoint endPoint, int nPathLength, int nDepthOffset)
    Parameters
    Type Name Description
    EndPoint endPoint

    The end point.

    System.Int32 nPathLength

    Length of the points path in PathNode.

    System.Int32 nDepthOffset

    The offset to inside points range..

    Returns
    Type Description
    System.Int32

    The end point index.

    GetLineIntersect(PointF, PointF, RectangleF, out PointF[])

    Gets the all line intersect points.

    Declaration
    public static int GetLineIntersect(PointF pt1, PointF pt2, RectangleF rect, out PointF[] ptsIntersect)
    Parameters
    Type Name Description
    System.Drawing.PointF pt1

    The start point.

    System.Drawing.PointF pt2

    The end point.

    System.Drawing.RectangleF rect

    The bounding rectangle.

    System.Drawing.PointF[] ptsIntersect

    The intersect points.

    Returns
    Type Description
    System.Int32

    Line intersect count.

    GetOrthogonalIntersect(PointF, PointF, PointF, PointF, out PointF)

    Gets the intersecting point of two orthogonal line segments.

    Declaration
    public static bool GetOrthogonalIntersect(PointF pt1, PointF pt2, PointF pt3, PointF pt4, out PointF ptIntersect)
    Parameters
    Type Name Description
    System.Drawing.PointF pt1

    First point in first line segment

    System.Drawing.PointF pt2

    Second point in first line segment

    System.Drawing.PointF pt3

    First point in second line segment

    System.Drawing.PointF pt4

    Second point in second line segment

    System.Drawing.PointF ptIntersect

    Point at which the orthogonal line segments intersect

    Returns
    Type Description
    System.Boolean

    true if an intersection exists; otherwise false

    Remarks

    This method only returns an intersection point if one of the line segments is horizontal and the other is vertical. It does not calculate the intersection of lines that are not orthogonal to each other and parallel with the X and Y axes.

    GetPointByOffset(PointF, PointF, Single)

    Gets the point by offset.

    Declaration
    public static PointF GetPointByOffset(PointF ptStart, PointF ptEnd, float fOffsetFromEnd)
    Parameters
    Type Name Description
    System.Drawing.PointF ptStart

    The start point.

    System.Drawing.PointF ptEnd

    The end point.

    System.Single fOffsetFromEnd

    The offset from end to calculate new point.

    Returns
    Type Description
    System.Drawing.PointF

    Point that contain line.

    GetProjection(PointF, PointF, PointF)

    Get point projection to line.

    Declaration
    public static PointF GetProjection(PointF ptPoint, PointF ptLineStart, PointF ptLineEnd)
    Parameters
    Type Name Description
    System.Drawing.PointF ptPoint

    Point to projection.

    System.Drawing.PointF ptLineStart

    Line start point.

    System.Drawing.PointF ptLineEnd

    Line end point.

    Returns
    Type Description
    System.Drawing.PointF

    Projection point that place in line.

    GetRouteBounds(ConnectionPoint)

    Gets the route container bounds by connection point.

    Declaration
    public static RectangleF GetRouteBounds(ConnectionPoint port)
    Parameters
    Type Name Description
    ConnectionPoint port

    The port.

    Returns
    Type Description
    System.Drawing.RectangleF

    Route bounds.

    HitTestLine(PointF, PointF, PointF, Single)

    Hit test line with slop.

    Declaration
    public static bool HitTestLine(PointF pt1, PointF pt2, PointF ptTest, float slop)
    Parameters
    Type Name Description
    System.Drawing.PointF pt1

    The start point.

    System.Drawing.PointF pt2

    The end point.

    System.Drawing.PointF ptTest

    The point to test.

    System.Single slop

    The slop value.

    Returns
    Type Description
    System.Boolean

    If line contain test point.

    IntToCompassHeading(Int32)

    Convert integer value to compass heading enum.

    Declaration
    public static CompassHeading IntToCompassHeading(int val)
    Parameters
    Type Name Description
    System.Int32 val

    The val.

    Returns
    Type Description
    CompassHeading

    Compass heading.

    IsOrthogonalLine(PointF[])

    Determines whether points array creates orthogonal line.

    Declaration
    public static bool IsOrthogonalLine(PointF[] pts)
    Parameters
    Type Name Description
    System.Drawing.PointF[] pts

    The points.

    Returns
    Type Description
    System.Boolean

    true if the points array creates orthogonal line; otherwise, false.

    LineAngle(Point, Point)

    Gets angle between two points.

    Declaration
    public static double LineAngle(Point pt1, Point pt2)
    Parameters
    Type Name Description
    System.Drawing.Point pt1

    The first point.

    System.Drawing.Point pt2

    The second point.

    Returns
    Type Description
    System.Double

    The angle.

    LineAngle(Point, Point, Point)

    Gets angle between three points.

    Declaration
    public static double LineAngle(Point ptA, Point ptO, Point ptB)
    Parameters
    Type Name Description
    System.Drawing.Point ptA

    The point A.

    System.Drawing.Point ptO

    The origin point.

    System.Drawing.Point ptB

    The point B.

    Returns
    Type Description
    System.Double

    The angle.

    LineAngle(PointF, PointF)

    Gets angle between two points.

    Declaration
    public static double LineAngle(PointF pt1, PointF pt2)
    Parameters
    Type Name Description
    System.Drawing.PointF pt1

    The first point.

    System.Drawing.PointF pt2

    The second point.

    Returns
    Type Description
    System.Double

    The angle.

    LineAngle(PointF, PointF, PointF)

    Gets angle between three points.

    Declaration
    public static double LineAngle(PointF ptA, PointF ptO, PointF ptB)
    Parameters
    Type Name Description
    System.Drawing.PointF ptA

    The point A.

    System.Drawing.PointF ptO

    The origin point.

    System.Drawing.PointF ptB

    The point B.

    Returns
    Type Description
    System.Double

    The angle.

    LinesIntersect(GraphicsPath, PointF, PointF)

    Intersect lines.

    Declaration
    public static bool LinesIntersect(GraphicsPath gfxNodePath, PointF ptStart, PointF ptEnd)
    Parameters
    Type Name Description
    System.Drawing.Drawing2D.GraphicsPath gfxNodePath

    The graphics node path.

    System.Drawing.PointF ptStart

    The start point.

    System.Drawing.PointF ptEnd

    The end point.

    Returns
    Type Description
    System.Boolean

    true, if lines intersect

    LinesIntersect(PointF, PointF, PointF, PointF)

    Check for intersecting between two lines.

    Declaration
    public static bool LinesIntersect(PointF pt0, PointF pt1, PointF pt2, PointF pt3)
    Parameters
    Type Name Description
    System.Drawing.PointF pt0

    The first start point.

    System.Drawing.PointF pt1

    The first end point.

    System.Drawing.PointF pt2

    The second start point.

    System.Drawing.PointF pt3

    The second end point.

    Returns
    Type Description
    System.Boolean

    true, if line intersect.

    LineSlope(Point, Point)

    Calculate line slope.

    Declaration
    public static double LineSlope(Point pt1, Point pt2)
    Parameters
    Type Name Description
    System.Drawing.Point pt1

    The start point.

    System.Drawing.Point pt2

    The end point.

    Returns
    Type Description
    System.Double

    The line slope.

    LineSlope(PointF, PointF)

    Calculate line slope.

    Declaration
    public static double LineSlope(PointF pt1, PointF pt2)
    Parameters
    Type Name Description
    System.Drawing.PointF pt1

    The start point.

    System.Drawing.PointF pt2

    The end point.

    Returns
    Type Description
    System.Double

    The line slope.

    MergeDuplicateLineSegments(ArrayList, Int32)

    Merge the duplicate line segments.

    Declaration
    public static void MergeDuplicateLineSegments(ArrayList pts, int mergeThreshold)
    Parameters
    Type Name Description
    System.Collections.ArrayList pts

    The array of Point.

    System.Int32 mergeThreshold

    The merge threshold.

    MergeDuplicateLineSegmentsF(ArrayList, Single)

    Merge the duplicate line segments.

    Declaration
    public static void MergeDuplicateLineSegmentsF(ArrayList pts, float mergeThreshold)
    Parameters
    Type Name Description
    System.Collections.ArrayList pts

    The array of PointF.

    System.Single mergeThreshold

    The merge threshold.

    MergePointsInLine(PointF[])

    Merges the points in line.

    Declaration
    public static PointF[] MergePointsInLine(PointF[] pts)
    Parameters
    Type Name Description
    System.Drawing.PointF[] pts

    The array of PointF.

    Returns
    Type Description
    System.Drawing.PointF[]

    The points.

    MergePointsInLine(PointF[], Int32, Int32)

    Merges the points in line.

    Declaration
    public static PointF[] MergePointsInLine(PointF[] ptsPath, int nIndex, int nLength)
    Parameters
    Type Name Description
    System.Drawing.PointF[] ptsPath

    The array of PointF.

    System.Int32 nIndex

    Start index of the range.

    System.Int32 nLength

    Range length .

    Returns
    Type Description
    System.Drawing.PointF[]

    The points.

    MoveLineSegment(Point[], Int32, Int32)

    Moves the line segment.

    Declaration
    public static Point[] MoveLineSegment(Point[] pts, int segIdx, int distance)
    Parameters
    Type Name Description
    System.Drawing.Point[] pts

    The point array.

    System.Int32 segIdx

    The segment idx.

    System.Int32 distance

    The distance.

    Returns
    Type Description
    System.Drawing.Point[]

    The line segments.

    MoveLineSegment(PointF[], Int32, Single, Single)

    Moves the line segment.

    Declaration
    public static PointF[] MoveLineSegment(PointF[] pts, int segIdx, float distance, float mergeThreshold)
    Parameters
    Type Name Description
    System.Drawing.PointF[] pts

    The points.

    System.Int32 segIdx

    The segment index.

    System.Single distance

    The distance.

    System.Single mergeThreshold

    The merge threshold.

    Returns
    Type Description
    System.Drawing.PointF[]

    The line segments.

    PointDistance(PointF, PointF)

    Calculate distance between two points.

    Declaration
    public static double PointDistance(PointF pt1, PointF pt2)
    Parameters
    Type Name Description
    System.Drawing.PointF pt1

    The start point.

    System.Drawing.PointF pt2

    The end point.

    Returns
    Type Description
    System.Double

    Distance between the points.

    RectIntersectsWithLineSegment(RectangleF, PointF, PointF)

    Check if line segment intersects with rectangle.

    Declaration
    public static bool RectIntersectsWithLineSegment(RectangleF rect, PointF pt1, PointF pt2)
    Parameters
    Type Name Description
    System.Drawing.RectangleF rect

    The rectangle to check.

    System.Drawing.PointF pt1

    The first point in line segment.

    System.Drawing.PointF pt2

    The second point in line segment.

    Returns
    Type Description
    System.Boolean

    true, if intersect with line segment.

    RectIntersectsWithLineSegment(RectangleF, PointF, PointF, out PointF)

    Declaration
    public static bool RectIntersectsWithLineSegment(RectangleF r, PointF p1, PointF p2, out PointF ptIntersect)
    Parameters
    Type Name Description
    System.Drawing.RectangleF r
    System.Drawing.PointF p1
    System.Drawing.PointF p2
    System.Drawing.PointF ptIntersect
    Returns
    Type
    System.Boolean

    RotatePointAt(Single, PointF, ref PointF)

    Rotate given point around anchor point.

    Declaration
    public static void RotatePointAt(float angle, PointF ptAnchor, ref PointF ptPoint)
    Parameters
    Type Name Description
    System.Single angle

    The angle to rotate.

    System.Drawing.PointF ptAnchor

    The anchor point.

    System.Drawing.PointF ptPoint

    The point to rotate.

    Remarks

    This rotate method used only double numbers to get a tru-running.

    RouteEndPointToHeading(ref PointF[], EndPoint, Single)

    Route the head end point to current heading.

    Declaration
    public static bool RouteEndPointToHeading(ref PointF[] ptsPath, EndPoint endPoint, float fRouteDistance)
    Parameters
    Type Name Description
    System.Drawing.PointF[] ptsPath

    The last path points.

    EndPoint endPoint

    The end point.

    System.Single fRouteDistance

    The route distance.

    Returns
    Type Description
    System.Boolean

    true, if head end point is routed to current heading.

    TestOrthogonalIntersect(PointF, PointF, PointF, PointF)

    Test two orthogonal line segments to determine if they intersect.

    Declaration
    public static bool TestOrthogonalIntersect(PointF pt1, PointF pt2, PointF pt3, PointF pt4)
    Parameters
    Type Name Description
    System.Drawing.PointF pt1

    First point in first line segment

    System.Drawing.PointF pt2

    Second point in first line segment

    System.Drawing.PointF pt3

    First point in second line segment

    System.Drawing.PointF pt4

    Second point in second line segment

    Returns
    Type Description
    System.Boolean

    true if an intersection exists; otherwise false

    Remarks

    This method only returns true if one of the line segments is horizontal and the other is vertical and the two line segments cross.

    TestOrthogonalIntersect(PointF, PointF, RectangleF)

    Tests the given orthogonal line segment to see if it intersects the given rectangle.

    Declaration
    public static bool TestOrthogonalIntersect(PointF pt1, PointF pt2, RectangleF rect)
    Parameters
    Type Name Description
    System.Drawing.PointF pt1

    First point on the line segment

    System.Drawing.PointF pt2

    Second point on the line segment

    System.Drawing.RectangleF rect

    Rectangle to test

    Returns
    Type Description
    System.Boolean

    true if they intersect, otherwise false

    Remarks

    This method only works if the line segment is either horizontal or vertical. In other words, the line segment must be parallel to either the X or Y axis.

    TranslateToGridOrigin(PointF[])

    Translates points to grid origin (0,0)

    Declaration
    public static void TranslateToGridOrigin(PointF[] pts)
    Parameters
    Type Name Description
    System.Drawing.PointF[] pts

    points to move.

    TranslateToOrigin(PointF[], PointF)

    Translates points to given origin.

    Declaration
    public static void TranslateToOrigin(PointF[] pts, PointF ptOrigin)
    Parameters
    Type Name Description
    System.Drawing.PointF[] pts

    Points to move.

    System.Drawing.PointF ptOrigin

    Origin to move points to.

    Union(Rectangle, Rectangle)

    Unions the specified rectangle.

    Declaration
    public static Rectangle Union(Rectangle rect1, Rectangle rect2)
    Parameters
    Type Name Description
    System.Drawing.Rectangle rect1

    The first rectangle.

    System.Drawing.Rectangle rect2

    The second rectangle.

    Returns
    Type Description
    System.Drawing.Rectangle

    The rect.

    Union(RectangleF, RectangleF)

    Unions the specified rectangle.

    Declaration
    public static RectangleF Union(RectangleF rect1, RectangleF rect2)
    Parameters
    Type Name Description
    System.Drawing.RectangleF rect1

    The first rectangle.

    System.Drawing.RectangleF rect2

    The second rectangle.

    Returns
    Type Description
    System.Drawing.RectangleF

    The rect.

    Union(RectangleF[])

    Unions the specified rectangles.

    Declaration
    public static RectangleF Union(RectangleF[] rects)
    Parameters
    Type Name Description
    System.Drawing.RectangleF[] rects

    The rectangle array.

    Returns
    Type Description
    System.Drawing.RectangleF

    The rect.

    UpdatePointsOfPolyLine(PointF[])

    Updates the path points of the polyline connector.

    Declaration
    public static PointF[] UpdatePointsOfPolyLine(PointF[] pts)
    Parameters
    Type Name Description
    System.Drawing.PointF[] pts

    Path points of the polyline connector.

    Returns
    Type
    System.Drawing.PointF[]

    UpdateRectWith(Rectangle, Rectangle)

    Updates given rect with another.

    Declaration
    public static Rectangle UpdateRectWith(Rectangle rcUpdating, Rectangle rcToUpdateWith)
    Parameters
    Type Name Description
    System.Drawing.Rectangle rcUpdating

    Updating rectangle.

    System.Drawing.Rectangle rcToUpdateWith

    Rectangle to update with.

    Returns
    Type Description
    System.Drawing.Rectangle

    The rect

    Remarks

    If updating rectangle is empty it is replaced with rectangle to update with.

    UpdateRectWith(RectangleF, RectangleF)

    Updates given rect with another.

    Declaration
    public static RectangleF UpdateRectWith(RectangleF rcUpdating, RectangleF rcToUpdateWith)
    Parameters
    Type Name Description
    System.Drawing.RectangleF rcUpdating

    Updating rectangle.

    System.Drawing.RectangleF rcToUpdateWith

    Rectangle to update with.

    Returns
    Type Description
    System.Drawing.RectangleF

    The rect.

    Remarks

    If updating rectangle is empty it is replaced with rectangle to update with.

    WidenPoint(PointF, BoxSide, Single)

    Widens the point.

    Declaration
    public static PointF WidenPoint(PointF ptPoint, BoxSide side, float width)
    Parameters
    Type Name Description
    System.Drawing.PointF ptPoint

    The given point.

    BoxSide side

    The box side.

    System.Single width

    The widen width.

    Returns
    Type Description
    System.Drawing.PointF

    The widen point.

    WidenRect(RectangleF, Single)

    Scale rectangle to given width.

    Declaration
    public static RectangleF WidenRect(RectangleF rcRect, float fWidth)
    Parameters
    Type Name Description
    System.Drawing.RectangleF rcRect

    The given rectangle.

    System.Single fWidth

    The widen width .

    Returns
    Type Description
    System.Drawing.RectangleF

    The widen rect.

    Back to top Generated by DocFX
    Copyright © 2001 - 2025 Syncfusion Inc. All Rights Reserved