Click or drag to resize

BaseMetafileCommand Class

Represents the base for all metafile commands that are used to define a vector graphic.
Inheritance Hierarchy
SystemObject
  RAYLASE.Marker.VectorGraphicElement.MetafileCommandBaseMetafileCommand
    More

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

The BaseMetafileCommand type exposes the following members.

Constructors
 NameDescription
Protected methodBaseMetafileCommand Constructor. Initializes the CommandType and end points.
Top
Properties
 NameDescription
Public propertyIsGeometric Returns true if the command describes a path (either with jumps or marks). LaserOn commands (aka drills) are excluded.
Public propertyItem Returns a point that are significant to the shape. The type of point and the position depends on the command type.
Public propertyLabel The display name of the meta file command type.
Public propertyLength The length of the vector.
Protected propertyMetafileCommandFactory 
Public propertyPointCount The number of points accessible by the indexer.
Public propertySegmentEndPointPair The end points of the segment generated by this metafile command. This value functions as a cache to reduce redundant calculations.
Top
Methods
 NameDescription
Public methodStatic memberAreVecsEqual Compares to dvec3 objects and returns true if each of their coordinates differs less than d. Needed in the derived classes to check for equality.
Public methodCompareWith 
Public methodCopyFrom Copies the property values from a given metafile command. The InvokeCommandChanged is invoked at the end.
Public methodCreateArc Tries to approximate the command by a circular arc.
Public methodCreateCubicCurves Converts the command into a list of up to four cubic curves approximating the original command element. Available only for arcs.
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.
Public methodCreatePolyline Creates a polyline from the command. The creation process is done in two steps: In the first step a polyline with numOfPoints points is created; this number should not be too small to have a good approximation guaranteed. In the second step all straight points are removed using the delta parameter. See CheckThreePointsOnLinearityWithDistance(dvec3, dvec3, dvec3, Double) for details.
Public methodCreateQuadraticCurves Converts the command into a list of up to eight quadratic curves approximating the original command element. Available only for arcs.
Protected methodDoCompareWith 
Protected methodDoCopyFrom Copies extra property values from a given metafile command. This method is called from CopyFrom(BaseMetafileCommand).
Protected methodDoInvert 
Protected methodDoInvokeCommandChanged 
Protected methodDoSplitByLength 
Protected methodDoTransform Transforms points in this metafile command, other than the end points.
Protected methodDoUpdateEndPoint 
Public methodGenerateCommandPoints Generates a list of points that are significant to the shape.
Public methodGetTransformedLength Returns the length of the transformed vector.
Protected methodInvokeCommandChanged 
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.
Public methodSetZCoordsToZero Sets all z-coordinates in this object to zero.
Public methodShowUI(String) 
Public methodShowUI(String, PropertyMask) 
Public methodShowUICallback 
Public methodSplitByLength Splits the command at the provided length.
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.
Public methodUpdateEndPoint Updates the start and end points of this command based on a given starting point.
Top
Events
 NameDescription
Public eventCommandChanged Raised whenever a metafile command is changed.
Top
Fields
 NameDescription
Protected fieldStatic memberAngleDelta The default delta used to decide if angles are equal in metafile commands. This is also used for the axes ratio of ellipses.
Protected fieldStatic memberDelta The default delta used to decide if two positions of points are equal in metafile commands.
Protected fieldStatic memberScaleDelta 
Top
See Also
Inheritance Hierarchy