/// <summary>
 /// Initializes a new instance of the <see cref="MoveEdgeControlPointCommand" /> class.
 /// </summary>
 /// <param name="edgeModel">The edge to edit.</param>
 /// <param name="edgeIndex">The index of the control point to move.</param>
 /// <param name="position">The new position of the control point.</param>
 /// <param name="tightness">The new tightness value for the control point.</param>
 public MoveEdgeControlPointCommand(IEditableEdge edgeModel, int edgeIndex, Vector2 position, float tightness) : this()
 {
     EdgeModel = edgeModel;
     EdgeIndex = edgeIndex;
     Position  = position;
     Tightness = tightness;
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="SetEdgeEditModeCommand"/> class.
 /// </summary>
 /// <param name="edgeModel">The edge to modify.</param>
 /// <param name="value">True if the edge should go enter edit mode, false if it should exit edit mode.</param>
 public SetEdgeEditModeCommand(IEditableEdge edgeModel, bool value) : this()
 {
     EdgeModel = edgeModel;
     Value     = value;
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="RemoveEdgeControlPointCommand"/> class.
 /// </summary>
 /// <param name="edgeModel">The edge on which to remove a control point.</param>
 /// <param name="edgeIndex">The index of the control point to remove.</param>
 public RemoveEdgeControlPointCommand(IEditableEdge edgeModel, int edgeIndex) : this()
 {
     EdgeModel = edgeModel;
     EdgeIndex = edgeIndex;
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="AddControlPointOnEdgeCommand" /> class.
 /// </summary>
 /// <param name="edgeModel">The edge to edit.</param>
 /// <param name="atIndex">Index where to insert the new control point in the list of control points.</param>
 /// <param name="position">Position of the new control point.</param>
 public AddControlPointOnEdgeCommand(IEditableEdge edgeModel, int atIndex, Vector2 position) : this()
 {
     EdgeModel = edgeModel;
     AtIndex   = atIndex;
     Position  = position;
 }