Click or drag to resize

PolyLineMetafileCommand Class

Provides the metafile command to draw a line.
Inheritance Hierarchy
System.Object
  RAYLASE.Marker.VectorGraphicElement.MetafileCommand.BaseMetafileCommand
    RAYLASE.Marker.VectorGraphicElement.MetafileCommand.BasePolyLineMetafileCommand
      RAYLASE.Marker.VectorGraphicElement.MetafileCommand.PolyLineMetafileCommand

Namespace: RAYLASE.Marker.VectorGraphicElement.MetafileCommand
Assembly: RAYLASE.Marker.VectorGraphicElement (in RAYLASE.Marker.VectorGraphicElement.dll) Version: 2.20.0
Syntax
C#
public class PolyLineMetafileCommand : BasePolyLineMetafileCommand

The PolyLineMetafileCommand type exposes the following members.

Constructors
 NameDescription
Public methodPolyLineMetafileCommandInitializes a new instance of the PolyLineMetafileCommand class
Top
Properties
 NameDescription
Public propertyIsGeometric Returns true if the command describes a path (either with jumps or marks). LaserOn commands (aka drills) are excluded.
(Inherited from BaseMetafileCommand)
Public propertyItem Returns a point from Points
(Inherited from BasePolyLineMetafileCommand)
Public propertyLabel The display name of the meta file command type.
(Inherited from BasePolyLineMetafileCommand)
Public propertyLength The length of the vector.
(Inherited from BasePolyLineMetafileCommand)
Protected propertyMetafileCommandFactory
(Inherited from BaseMetafileCommand)
Public propertyPointCount The number of points accessible by the indexer.
(Inherited from BasePolyLineMetafileCommand)
Public propertyPoints The points of the polyline. The starting point is the end point of the last command.
(Inherited from BasePolyLineMetafileCommand)
Public propertySegmentEndPointPair The end points of the segment generated by this metafile command. This value functions as a cache to reduce redundant calculations.
(Inherited from BaseMetafileCommand)
Top
Methods
 NameDescription
Public methodAddPoint Adds a point to the polyline.
Public methodAddPoints Adds a range of points to the polyline.
Public methodCompareWith
(Inherited from BaseMetafileCommand)
Public methodCopyFrom Copies the property values from a given metafile command. The InvokeCommandChanged() is invoked at the end.
(Inherited from BaseMetafileCommand)
Public methodCreateArc Tries to approximate the polyline by an arc.
(Overrides BaseMetafileCommand.CreateArc(Int32, Int32, Double))
Public methodCreateArcs Loops through the given range of points and tries to detect arcs. We start with the first three points and calculate an arc out of them. If the angle does not exceed maxPhi it is considered to be a valid arc, and the next point is checked if it lays on the same circle. This is to be considered as yes if its distance from the arc's center does not differ from the arc's radius more than delta and if the angle between the last point and the point is not larger then maxPhi - and so on with the next point. If an arc is detected it is put in the resulting list of BaseMetafileCommands, if not the points are put into the list as lines.
Public methodCreateCubicCurves Loops through the polygon and creates a cubic curve between each two points.
(Overrides BaseMetafileCommand.CreateCubicCurves())
Public methodCreateEllipse Tries to approximate the command by an elliptical arc. Available only for arcs yet, creating an ellipse with both semi axes having the length of the arc's radius.

Return Value

The calculated elliptical arc.
(Inherited from BaseMetafileCommand)
Public methodCreateEmptyPolyline 
Public methodCreatePolyline Creates a copy of the poly line.
(Overrides BaseMetafileCommand.CreatePolyline(Int32, Double))
Public methodCreateQuadraticCurves Loops through the polygon and creates a quadratic curve between each two points.
(Overrides BaseMetafileCommand.CreateQuadraticCurves())
Protected methodDoAddPoint
(Inherited from BasePolyLineMetafileCommand)
Protected methodDoAddPoints
(Inherited from BasePolyLineMetafileCommand)
Protected methodDoCompareWith
(Inherited from BaseMetafileCommand)
Protected methodDoCopyFrom Copies extra property values from a given metafile command. This method is called from CopyFrom(BaseMetafileCommand).
(Inherited from BasePolyLineMetafileCommand)
Protected methodDoInvert
(Inherited from BasePolyLineMetafileCommand)
Protected methodDoInvokeCommandChanged
(Inherited from BaseMetafileCommand)
Protected methodDoSplitByLength
(Overrides BaseMetafileCommand.DoSplitByLength(Double, dmat4))
Protected methodDoTransform
(Inherited from BasePolyLineMetafileCommand)
Public methodDoublePoints Inserts an additional point between each two points of the polyline.
Protected methodDoUpdateEndPoint
(Inherited from BasePolyLineMetafileCommand)
Public methodGenerateCommandPoints Generates a list of points that are significant to the shape.
(Inherited from BasePolyLineMetafileCommand)
Public methodGetTransformedLength
(Inherited from BasePolyLineMetafileCommand)
Protected methodInvokeCommandChanged
(Inherited from BaseMetafileCommand)
Public methodIsEqual Checks if two objects of type BaseMetafileCommand (or a derived class) are equal to each other. All position values must differ less than delta d to be considered as equal. Angles, axes ratios and the check on collinearity of lines are using the fixed value 0.01 rad.
(Inherited from BasePolyLineMetafileCommand)
Public methodIsPointInPolygon Checks if point q is in the polygon built by the numOfPoints points from startIdx on.
Public methodRemoveDuplicatePoints Removes adjacent duplicate points.
Public methodRemoveLoops Removes all duplicate points and loops in the polyline. See RemoveFirstLoop(Int32, Double) for details.
Public methodRemoveStraightPoints Loops repeatedly through the Points[] until all points laying on a line defined by two predecessor points are removed. See for details.
Public methodSetZCoordsToZero Sets all z-coordinates in this object to zero.
(Overrides BaseMetafileCommand.SetZCoordsToZero())
Public methodShowUI(String)
(Inherited from BaseMetafileCommand)
Public methodShowUI(String, PropertyMask)
(Inherited from BasePolyLineMetafileCommand)
Public methodShowUICallback
(Inherited from BasePolyLineMetafileCommand)
Public methodSplitAndConvert Splits the polyline into three polylines and converts the part from startIdx to endIdx into another type.
Example:

                .  *   * 
            .               *
        .                      *           .
   .                              .   .

  -1    0   1   2  3   4    5  6  7   8    9
The points with indices from startIdx 3 to endIdx 6 should be in a new polyline after splitting.
Public methodSplitByLength Splits the command at the provided length.
(Inherited from BaseMetafileCommand)
Public methodSplitIntoParts Splits the polyline into parts at all points in the index list.
Public methodSplitIntoTwo Creates two adjacent commands of the same type at the same position in a way that the two commands can replace the original.
(Overrides BaseMetafileCommand.SplitIntoTwo())
Public methodToStringReturns a string that represents the current object.
(Overrides Object.ToString())
Public methodUpdateEndPoint Updates the start and end points of this command based on a given starting point.
(Inherited from BaseMetafileCommand)
Top
Events
 NameDescription
Public eventCommandChanged Raised whenever a metafile command is changed.
(Inherited from BaseMetafileCommand)
Top
Fields
 NameDescription
Protected fieldInternalPoints
(Inherited from BasePolyLineMetafileCommand)
Top
See Also