Reference for the Mosaic class Graphics::ArcPath

Graphics::ArcPath
EndAngle
InnerRadius
InnerRadiusX
InnerRadiusY
NoOfEdges
Radius
RadiusX
RadiusY
StartAngle
Style
Graphics::Path
AddArc()
AddBezier2()
AddBezier3()
AddCopy()
AddLine()
Begin()
Close()
CreateFromSVGString()
GetMaxNoOfSubPaths()
GetNoOfEdges()
GetNoOfFreeEdges()
GetNodeX()
GetNodeY()
GetPathBounds()
GetSVGParserErrorPos()
GetSubPathBounds()
InitMatrix()
InitSubPath()
IsClosed()
PopMatrix()
PushMatrix()
Rotate()
Scale()
SetMaxNoOfSubPaths()
SetNoOfEdges()
SetNode()
ShiftNodes()
Translate()

SEE ALSO

Using the Arc Path Data object to create circular polygons, arcs, pie segments, etc..

The class Graphics::ArcPath provides a convenient version of Graphics::Path class intended to calculate paths for elliptical arcs, segments, pies or rings. The arc is configured with the properties StartAngle, EndAngle, RadiusX and RadiusY. With the property Style the particular variant (Arc, Segment, Pie, etc.) of the resulting path is determined. If the style 'Pie', 'PieRounded', 'PieRoundedStart' or 'PieRoundedEnd' is selected, the the additional properties InnerRadiusX and InnerRadiusY can be used to construct a ring or segment of a ring.

With the path information the curves can be displayed on the screen. The view Views::FillPath displays the path as filled polygon. The view Views::StrokePath displays the path as a line with specified width.

property float EndAngle = 360.0;

The property 'EndAngle' determines the angle for the end position of the arc expressed in degree and measured clockwise relative to the positive X-axis of the coordinate system.

property float InnerRadius = 0.0;

The property 'InnerRadius' determines the inner radius of a circular arc within a path configured with Style == Graphics::ArcStyle.Pie, Style == Graphics::ArcStyle.PieRoundedStart, Style == Graphics::ArcStyle.PieRoundedEnd or Style == Graphics::ArcStyle.PieRounded. Changes of this property will be immediately reflected in the properties InnerRadiusX and InnerRadiusY.

property float InnerRadiusX = 0.0;

The property 'InnerRadiusX' determines the inner radius of the arc in horizontal direction used when constructing a path configured with Style == Graphics::ArcStyle.Pie, Style == Graphics::ArcStyle.PieRoundedStart, Style == Graphics::ArcStyle.PieRoundedEnd or Style == Graphics::ArcStyle.PieRounded.

property float InnerRadiusY = 0.0;

The property 'InnerRadiusY' determines the inner radius of the arc in vertical direction used when constructing a path configured with Style == Graphics::ArcStyle.Pie, Style == Graphics::ArcStyle.PieRoundedStart, Style == Graphics::ArcStyle.PieRoundedEnd or Style == Graphics::ArcStyle.PieRounded.

property int32 NoOfEdges = 0;

The property 'NoOfEdges' determines from how many line segments the arc should be composed of. The more segments the more smooth the resulting arc. Specifying the value 0 in this property will cause the class to automatically calculate the optimal number of segments depending on the arc angle (StartAngle, EndAngle) and radius (RadiusX and RadiusY.).

property float Radius = 0.0;

The property 'Radius' determines the radius of a circular arc. Changes of this property will be immediately reflected in the properties RadiusX and RadiusY.

property float RadiusX = 0.0;

The property 'RadiusX' determines the radius of the arc in horizontal direction.

property float RadiusY = 0.0;

The property 'RadiusY' determines the radius of the arc in vertical direction.

property float StartAngle = 0.0;

The property 'StartAngle' determines the angle for the start position of the arc expressed in degree and measured clockwise relative to the positive X-axis of the coordinate system.

property Graphics::ArcStyle Style = Graphics::ArcStyle.Arc;

The property 'Style' determines the resulting shape of the calculated path. The property can assume following values: