private void RemoveDisplayForAClickType(ClickPositionOnImage clickPositionToRemove)
        {
            switch (clickPositionToRemove.PositionType)
            {
            case ClickPositionOnImageTypes.BottomMostPartOfModel:
                ImageCanvas.RemoveDisplayObject(DisplayMarkerNames.BottomMostPartOfModel);
                break;

            case ClickPositionOnImageTypes.LeftEndOfRotatingDisc:
                ImageCanvas.RemoveDisplayObject(DisplayMarkerNames.LeftEndOfRotatingDisc);
                ImageCanvas.RemoveDisplayObject(DisplayMarkerNames.CenterLine);
                ImageCanvas.RemoveDisplayObject(DisplayMarkerNames.DashedLineJoiningTwoEdgesOfDisc);
                break;

            case ClickPositionOnImageTypes.RightEndOfRotatingDisc:
                //undo the rotation
                ImageCanvas.SetImage(_currentImage);

                ImageCanvas.RemoveDisplayObject(DisplayMarkerNames.RightEndOfRotatingDisc);
                ImageCanvas.RemoveDisplayObject(DisplayMarkerNames.CenterLine);
                ImageCanvas.RemoveDisplayObject(DisplayMarkerNames.DashedLineJoiningTwoEdgesOfDisc);
                break;

            case ClickPositionOnImageTypes.MarkerLeftFromCenter:
                ImageCanvas.RemoveDisplayObject(DisplayMarkerNames.MarkerLeftFromCenter);
                break;

            case ClickPositionOnImageTypes.MarkerRightFromCenter:
                ImageCanvas.RemoveDisplayObject(DisplayMarkerNames.MarkerRightFromCenter);
                break;
            }
        }
 private void SetClickPositions(Point position, ClickPositionOnImage clickPos)
 {
     clickPos.ClickXPos     = position.X;
     clickPos.ClickYPos     = position.Y;
     clickPos.AllowedWidth  = ImageCanvas.Width;
     clickPos.AllowedHeight = ImageCanvas.Height;
     clickPos.Processed     = true;
 }
        private static bool ClearOutClickPosition(ClickPositionOnImage clickPositionReference)
        {
            if (clickPositionReference == null)
            {
                return(false);
            }

            clickPositionReference.AllowedHeight = 0.0;
            clickPositionReference.AllowedWidth  = 0.0;
            clickPositionReference.ClickXPos     = 0.0;
            clickPositionReference.ClickYPos     = 0.0;
            clickPositionReference.Processed     = false;

            return(true);
        }
Ejemplo n.º 4
0
        /// <summary>
        /// Gets the angle by which the image should be rotated (using function RotateImg)
        /// to make the disc edge horizontal
        /// </summary>
        /// <param name="leftOfDisc"></param>
        /// <param name="rightOfDisc"></param>
        /// <returns></returns>
        public static float GetRotationAngleToRealign(ClickPositionOnImage leftOfDisc, ClickPositionOnImage rightOfDisc)
        {
            var xDiff = Math.Abs(rightOfDisc.ClickXPos - leftOfDisc.ClickXPos);

            var yDiff = Math.Abs(rightOfDisc.ClickYPos - leftOfDisc.ClickYPos);

            if (xDiff == 0 || yDiff == 0)
            {
                return(0);
            }

            var degrees = GetAngleInDegrees(xDiff, yDiff);

            //positive direction is clockwise from top left
            return(rightOfDisc.ClickYPos < leftOfDisc.ClickYPos ? degrees : -degrees);
        }
        private void CopyPositions(ClickPositionOnImage copyPosition)
        {
            var matchingInList = ClickSequences.FirstOrDefault(x => x.PositionType == copyPosition.PositionType);

            if (matchingInList == null)
            {
                return;
            }

            matchingInList.AllowedHeight = copyPosition.AllowedHeight;
            matchingInList.AllowedWidth  = copyPosition.AllowedWidth;
            matchingInList.ClickXPos     = copyPosition.ClickXPos;
            matchingInList.ClickYPos     = copyPosition.ClickYPos;
            matchingInList.Processed     = true;
            MarkPositionOnCanvas(new Point {
                X = copyPosition.ClickXPos, Y = copyPosition.ClickYPos
            }, copyPosition.PositionType);
        }
Ejemplo n.º 6
0
 public static float GetRotationAngleToRealign(ClickPositionOnImage leftOfDisc, ClickPositionOnImage rightOfDisc)
 {
     return(ImageRotator.GetRotationAngleToRealign(leftOfDisc, rightOfDisc));
 }