SceneMarker Class

A drawing placed on the vertices of a path or a line, such as an arrowhead, as an SVG marker (ScenePath.MarkerStart, ScenePath.MarkerMid, ScenePath.MarkerEnd).

public sealed class SceneMarker

Remarks

The content is drawn at each vertex: its point (SceneMarker.RefX, SceneMarker.RefY) on the vertex, turned as SceneMarker.Orientation says, and scaled by the width of the stroke of the shape unless SceneMarker.Units is SceneMarkerUnits.UserSpace. It is not cut. A marker can be shared by several shapes. The content of a marker that is drawn on a shape of its own content is not drawn again, and its hyperlinks are not links.

Constructors

NameDescription
SceneMarker()

SceneMarker()

SceneMarker.cs
public SceneMarker()

No documentation is available.

Properties

NameDescription
AngleGets or sets the angle of the marker, in degrees, clockwise, when SceneMarker.Orientation is SceneMarkerOrientation.Angle.
ContentGets the drawing of the marker, in its own coordinates.
OrientationGets or sets how the marker is turned: to the direction of the path (the default), the start marker turned back, or a fixed angle (SceneMarker.Angle).
RefXGets or sets the x coordinate of the point of the content placed on the vertex.
RefYGets or sets the y coordinate of the point of the content placed on the vertex.
UnitsGets or sets the units of the content. The default is SceneMarkerUnits.StrokeWidth, as in SVG.

Gets or sets the angle of the marker, in degrees, clockwise, when SceneMarker.Orientation is SceneMarkerOrientation.Angle.

public double Angle { get; set; }

Property value

double

Gets the drawing of the marker, in its own coordinates.

public SceneGroup Content { get; }

Property value

SceneGroup

Orientation

SceneMarker.cs

Gets or sets how the marker is turned: to the direction of the path (the default), the start marker turned back, or a fixed angle (SceneMarker.Angle).

public SceneMarkerOrientation Orientation { get; set; }

Gets or sets the x coordinate of the point of the content placed on the vertex.

public double RefX { get; set; }

Property value

double

Gets or sets the y coordinate of the point of the content placed on the vertex.

public double RefY { get; set; }

Property value

double

Gets or sets the units of the content. The default is SceneMarkerUnits.StrokeWidth, as in SVG.

public SceneMarkerUnits Units { get; set; }

Property value

SceneMarkerUnits

Methods

NameDescription
GetTransform(PathPoint, double, bool)Gets the transform that places the content of the marker on a vertex of a shape.

GetTransform(PathPoint, double, bool)

SceneMarker.cs

Gets the transform that places the content of the marker on a vertex of a shape.

public SceneTransform GetTransform(PathPoint vertex, double strokeWidth, bool isStart = false)

Parameters

vertex PathPoint
The vertex, with the direction of the path there (PathData.GetVertices).
strokeWidth double
The width of the stroke of the shape, which scales the content when SceneMarker.Units is SceneMarkerUnits.StrokeWidth.
isStart bool
Whether the vertex is the first vertex of the shape, which SceneMarkerOrientation.AutoStartReverse turns back.

Returns

SceneTransform The transform from the coordinates of the content to the coordinates of the shape.

Remarks

A direction or an angle that is not finite is 0.