/// <summary> /// Skews the specified segment to the skewing of a containing box. /// </summary> /// <param name="stationaryReferencePoint">The stationary reference point of the skew box.</param> /// <param name="skewingReferencePoint">The skewing reference point of the skew box.</param> /// <param name="magnitude">The magnitude to skew along the x-axis and y-axis.</param> /// <returns>IPathSegment.</returns> public virtual IPathSegment Skew( CartesianCoordinate stationaryReferencePoint, CartesianCoordinate skewingReferencePoint, CartesianOffset magnitude) { return(new LineSegment( CartesianCoordinate.SkewWithinBox(I, stationaryReferencePoint, skewingReferencePoint, magnitude), CartesianCoordinate.SkewWithinBox(J, stationaryReferencePoint, skewingReferencePoint, magnitude))); }
/// <summary> /// Skews the specified segment about point J by shearing point I. /// </summary> /// <param name="magnitude">The magnitude to skew along the x-axis and y-axis.</param> /// <returns>IPathSegment.</returns> public virtual IPathSegment SkewAboutJ(CartesianOffset magnitude) { return(new LineSegment( CartesianCoordinate.SkewWithinBox(I, J, I, magnitude), CartesianCoordinate.SkewWithinBox(J, J, I, magnitude))); }