Esempio n. 1
0
 public static Line GetLine(this IRoiRectangle roiRectangle)
 {
     return(new Line(roiRectangle.StartX,
                     roiRectangle.StartY,
                     roiRectangle.EndX,
                     roiRectangle.EndY));
 }
Esempio n. 2
0
        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);
        }
Esempio n. 3
0
        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()));
        }
Esempio n. 4
0
 public static Vector GetCenterVector(this IRoiRectangle roiRectangle)
 {
     return(new Vector((roiRectangle.StartX + roiRectangle.EndX) / 2.0, (roiRectangle.StartY + roiRectangle.EndY) / 2.0));
 }
Esempio n. 5
0
 public static Vector GetEndVector(this IRoiRectangle roiRectangle)
 {
     return(new Vector(roiRectangle.EndX, roiRectangle.EndY));
 }
Esempio n. 6
0
 public static Vector GetStartVector(this IRoiRectangle roiRectangle)
 {
     return(new Vector(roiRectangle.StartX, roiRectangle.StartY));
 }