public static Line GetLine(this IRoiRectangle roiRectangle) { return(new Line(roiRectangle.StartX, roiRectangle.StartY, roiRectangle.EndX, roiRectangle.EndY)); }
public static bool IsHorizontalOrVertical(this IRoiRectangle roiRectangle) { if (Math.Abs(roiRectangle.StartX - roiRectangle.EndX) < 0.000001 || Math.Abs(roiRectangle.StartY - roiRectangle.EndY) < 0.000001) { return(true); } return(false); }
public static Line GetWidthLine(this IRoiRectangle roiRectangle) { var centerVector = roiRectangle.GetCenterVector(); var linkLine = roiRectangle.GetLine().GetVectorFrom2To1().GetAngleToX(); var leftVector = new Vector(roiRectangle.ROIWidth, 0).Rotate(linkLine - 90); var rightVector = new Vector(roiRectangle.ROIWidth, 0).Rotate(linkLine + 90); var offsetLeft = leftVector + centerVector; var offsetRight = rightVector + centerVector; return(new Line(offsetLeft.ToPoint(), offsetRight.ToPoint())); }
public static Vector GetCenterVector(this IRoiRectangle roiRectangle) { return(new Vector((roiRectangle.StartX + roiRectangle.EndX) / 2.0, (roiRectangle.StartY + roiRectangle.EndY) / 2.0)); }
public static Vector GetEndVector(this IRoiRectangle roiRectangle) { return(new Vector(roiRectangle.EndX, roiRectangle.EndY)); }
public static Vector GetStartVector(this IRoiRectangle roiRectangle) { return(new Vector(roiRectangle.StartX, roiRectangle.StartY)); }