Class GeometryExtensions
Methods related to planar geometry.
Inheritance
Inherited Members
Namespace: Telerik.WinControls.UI.Diagrams
Assembly: Telerik.WinControls.RadDiagram.dll
Syntax
public static class GeometryExtensions
Methods
Add(PathFigure, PathSegment)
Adds the given PathSegment to the path figure.
Declaration
public static PathFigure Add(this PathFigure pathFigure, PathSegment segment)
Parameters
PathFigure
pathFigure
The path figure. |
PathSegment
segment
The segment. |
Returns
PathFigure
The augmented path figure. |
Add(PathFigure, PathSegment, Point)
Adds the given PathSegment to the path figure and sets the starting point at the same time.
Declaration
public static PathFigure Add(this PathFigure pathFigure, PathSegment segment, Point startPoint)
Parameters
PathFigure
pathFigure
The path figure. |
PathSegment
segment
The segment. |
Point
startPoint
The start point. |
Returns
PathFigure
The augmented path figure. |
Add(PathGeometry, PathFigure)
Adds the given figure to the geometry.
Declaration
public static PathGeometry Add(this PathGeometry pathGeometry, PathFigure pathFigure)
Parameters
PathGeometry
pathGeometry
The path geometry. |
PathFigure
pathFigure
The path figure. |
Returns
PathGeometry
The resulting path geometry. |
AddArc(PathFigure, Double, Double, Double, Double, Double, Double, Boolean)
Adds an arc to the path figure.
Declaration
public static void AddArc(this PathFigure pathFigure, double x, double y, double width, double height, double startAngle, double sweep, bool startPoint)
Parameters
PathFigure
pathFigure
The figure. |
System.Double
x
The x-coordinate of the bounding rectangle. |
System.Double
y
The y-coordinate of the bounding rectangle. |
System.Double
width
The width of the bounding rectangle. |
System.Double
height
The height of the bounding rectangle. |
System.Double
startAngle
The start angle. |
System.Double
sweep
The sweeping angle of the arc. |
System.Boolean
startPoint
If set to |
AddBezier(PathFigure, Double[])
Adds a bezier segment to the path.
Declaration
public static void AddBezier(this PathFigure pathFigure, double[] points)
Parameters
PathFigure
pathFigure
The path. |
System.Double[]
points
The eight values specifying the eight coordinates of the four Bezier points. |
AddBeziers(PathFigure, Point[])
Adds a bezier segment to the path.
Declaration
public static void AddBeziers(this PathFigure pathFigure, Point[] points)
Parameters
PathFigure
pathFigure
The figure. |
Point[]
points
The points defining the Bezier segment. |
AddLine(PathFigure, Double, Double, Double, Double)
Adds a line to the path.
Declaration
public static PathFigure AddLine(this PathFigure pathFigure, double x1, double y1, double x2, double y2)
Parameters
PathFigure
pathFigure
The path figure. |
System.Double
x1
The x-coordinate of the start point. |
System.Double
y1
The y-coordinate of the start point. |
System.Double
x2
The x-coordinate of the end point. |
System.Double
y2
The y-coordinate of the end point. |
Returns
PathFigure
|
AddLine(PathFigure, Point, Point)
Adds a line to the path.
Declaration
public static PathFigure AddLine(this PathFigure pathFigure, Point point1, Point point2)
Parameters
PathFigure
pathFigure
The path figure. |
Point
point1
The start point of the line. |
Point
point2
The end point of the line. |
Returns
PathFigure
The augmented path figure. |
AddPolyLine(PathFigure, IEnumerable<Point>)
Adds a polyline to the figure.
Declaration
public static void AddPolyLine(this PathFigure pathFigure, IEnumerable<Point> points)
Parameters
PathFigure
pathFigure
The figure. |
System.Collections.Generic.IEnumerable<Point>
points
The points defining the polyline. |
AddPolyLine(PathFigure, PointCollection)
Adds a polyline to the figure.
Declaration
public static void AddPolyLine(this PathFigure pathFigure, PointCollection collection)
Parameters
PathFigure
pathFigure
The figure. |
PointCollection
collection
The points defining the polyline. |
CreateBaseLineGeometry(LineSpecification)
Creates a line geometry based on the given specifications.
Declaration
public static PathGeometry CreateBaseLineGeometry(LineSpecification specs)
Parameters
LineSpecification
specs
The specs. |
Returns
PathGeometry
|
Remarks
CreateBezier(Point, Point, Point, Point, Double)
Creates a bezier geometry.
Declaration
public static Geometry CreateBezier(Point startPoint, Point endPoint, Point startBezierPoint, Point endBezierPoint, double tension = 1)
Parameters
Point
startPoint
The start point. |
Point
endPoint
The end point. |
Point
startBezierPoint
The start bezier point. |
Point
endBezierPoint
The end bezier point. |
System.Double
tension
The tension of the Bezier curve. |
Returns
Geometry
|
CreateConnectionGeometry(IConnection, BridgeType, Boolean)
This method is called by the connection update process to create a geometry which is then plugged into the Path in the XAML template of the connection.
Declaration
public static Geometry CreateConnectionGeometry(IConnection connection, BridgeType connectionBridge, bool connectionRoundedCorners)
Parameters
IConnection
connection
The connection for which to create a geometry. |
BridgeType
connectionBridge
What type of bridging should be applied to the line. |
System.Boolean
connectionRoundedCorners
Whether the corners of the line should be rounded. |
Returns
Geometry
The geometry of the connection path. |
Remarks
CreateEllipse(Point, Double, Double)
Creates an ellipse.
Declaration
public static Geometry CreateEllipse(Point center, double radiusX, double radiusY)
Parameters
Point
center
The center. |
System.Double
radiusX
The x radius. |
System.Double
radiusY
The y radius. |
Returns
Geometry
|
CreateLineGeometry(PolylineSpecification)
Creates a line geometry based on the given specifications.
Declaration
public static Geometry CreateLineGeometry(PolylineSpecification specs)
Parameters
PolylineSpecification
specs
|
Returns
Geometry |
Remarks
See Also
CreateLineGeometry(Point, Point, Boolean, Point[])
Creates the polyline.
Declaration
public static Geometry CreateLineGeometry(Point startPoint, Point endPoint, bool roundedCorners = false, params Point[] points)
Parameters
Point
startPoint
The start point. |
Point
endPoint
The end point. |
System.Boolean
roundedCorners
If set to |
Point[]
points
The points. |
Returns
Geometry
|
CreatePathGeometry(Point, IList<PathSegment>)
Creates a geometry.
Declaration
public static Geometry CreatePathGeometry(Point startPoint, IList<PathSegment> pathSegments)
Parameters
Point
startPoint
The start point. |
System.Collections.Generic.IList<PathSegment>
pathSegments
The path segments. |
Returns
Geometry
|
CreatePolylineLineFigure(PolylineSpecification)
Gets the polyline figure.
Declaration
public static PathGeometry CreatePolylineLineFigure(PolylineSpecification specs)
Parameters
PolylineSpecification
specs
The polyline specifications. |
Returns
PathGeometry
|
CreateRoundedPolyline(PathFigure, IList<Point>, Boolean)
Adds rounded corners to the existing polyline figure.
Declaration
public static void CreateRoundedPolyline(PathFigure figure, IList<Point> points, bool addLastLine)
Parameters
PathFigure
figure
The figure which will be incremented with corner arcs. |
System.Collections.Generic.IList<Point>
points
The points of the polyline. |
System.Boolean
addLastLine
If set to |
Remarks
The corner radius is set in the ConnectionCornerRadius and has default 5.0
pixels.
CreateSplineFigures(IList<Point>, Double, Boolean, Boolean)
Creates a canonical spline figure.
Declaration
public static IList<PathFigure> CreateSplineFigures(IList<Point> points, double tension = 0.5, bool isClosed = false, bool isFilled = false)
Parameters
System.Collections.Generic.IList<Point>
points
The points defining the spline. These should be in local coordinates and include the endpoints. |
System.Double
tension
The tension of the spline. A tension or zero will result in a polyline, a tension between 0.5 and 0.8 is pleasing, other values lead to wild curves. |
System.Boolean
isClosed
If set to |
System.Boolean
isFilled
If set to |
Returns
System.Collections.Generic.IList<PathFigure>
|
Remarks
Based on the code in http://www.charlespetzold.com/blog/2009/01/canonical-splines-in-wpf-and-silverlight.html
.
FindIntersection(Point, Point, Geometry, Double, Boolean)
Finds the intersection.
Declaration
public static Point FindIntersection(Point sourcePoint, Point targetPoint, Geometry geometry, double edgeThick, bool isArrow)
Parameters
Point
sourcePoint
The source point. |
Point
targetPoint
The target point. |
Geometry
geometry
The geometry. |
System.Double
edgeThick
The edge thick. |
System.Boolean
isArrow
If set to |
Returns
Point
|
GetGeometry(PathGeometry)
Declaration
public static GraphicsPath GetGeometry(PathGeometry geometry)
Parameters
PathGeometry
geometry
|
Returns
System.Drawing.Drawing2D.GraphicsPath
|
GetSplineFigureTangents(IList<Point>, out Point, out Point, Double, Boolean)
Gets the tangents of the spline figure.
Declaration
public static void GetSplineFigureTangents(IList<Point> points, out Point startTangentPoint, out Point endTangentPoint, double tension = 0.5, bool isClosed = false)
Parameters
System.Collections.Generic.IList<Point>
points
The points of the connection. |
Point
startTangentPoint
The start tangent point. |
Point
endTangentPoint
The end tangent point. |
System.Double
tension
The tension. |
System.Boolean
isClosed
If set to |
GetString(Geometry)
Converts the geometry object to its string equivalent.
Declaration
public static string GetString(this Geometry geometry)
Parameters
Geometry
geometry
The geometry. |
Returns
System.String
|