コード例 #1
0
        static SCoordsWorkRequest GetTransformWorkRequestZ(int jobId, SCoords curCoords, CanvasSize samplePoints)
        {
            MapSection         mapSection = new MapSection(new Point(40, 40), new CanvasSize(20, 20));
            SCoordsWorkRequest result     = new SCoordsWorkRequest(TransformType.In, curCoords, samplePoints, mapSection, jobId);

            return(result);
        }
コード例 #2
0
        static SCoordsWorkRequest GetTransformWorkRequest(int jobId, SCoords curCoords, TransformType transformType, int amount)
        {
            CanvasSize         samplePoints = new CanvasSize(0, 0);
            MapSection         mapSection   = new MapSection(new Point(amount, 0), new CanvasSize(0, 0));
            SCoordsWorkRequest result       = new SCoordsWorkRequest(transformType, curCoords, samplePoints, mapSection, jobId);

            return(result);
        }
コード例 #3
0
ファイル: CoordsMath.cs プロジェクト: drminor/FractalStudio
        public SCoords DoOp(SCoordsWorkRequest sCoordsWorkRequest)
        {
            FJobRequest fJobRequest  = CreateFJobRequest(sCoordsWorkRequest, ++_nextJobId);
            string      requestMsgId = SendJobToMq(fJobRequest);

            SCoords result = GetResponseFromMq(requestMsgId);

            return(result);
        }
コード例 #4
0
        public IActionResult Post([FromBody] SCoordsWorkRequest request)
        {
            CoordsMath coordsMath = new CoordsMath();
            SCoords    result     = coordsMath.DoOp(request);

            // Update the original request with the result coords.
            request.SCoords = result;

            // Return the updated request.
            return(Ok(request));
        }
コード例 #5
0
ファイル: CoordsMath.cs プロジェクト: drminor/FractalStudio
        private FJobRequest CreateFJobRequest(SCoordsWorkRequest sCoordsWorkRequest, int jobId)
        {
            SCoords sCoords = sCoordsWorkRequest.SCoords;

            MqMessages.Coords coords = new MqMessages.Coords(sCoords.LeftBot.X, sCoords.RightTop.X, sCoords.LeftBot.Y, sCoords.RightTop.Y);

            CanvasSize cs           = sCoordsWorkRequest.CanvasSize;
            SizeInt    samplePoints = new SizeInt(cs.Width, cs.Height);

            MapSection ms = sCoordsWorkRequest.MapSection;

            RectangleInt area = new RectangleInt(new PointInt(ms.SectionAnchor.X, ms.SectionAnchor.Y), new SizeInt(ms.CanvasSize.Width, ms.CanvasSize.Height));

            string      name        = "CoordsRequest";
            FJobRequest fJobRequest = new FJobRequest(jobId, name, FJobRequestType.TransformCoords, coords, area, samplePoints, 0, sCoordsWorkRequest.TransformType);

            return(fJobRequest);
        }
コード例 #6
0
        static SCoords HandleTransCoRequest(Request request, SCoords curCoords)
        {
            SCoordsWorkRequest sCoordsWorkRequest = null;

            switch (request.TransformType)
            {
            case TransformType.In:
                sCoordsWorkRequest = GetTransformWorkRequestZ(request.JobId, curCoords, _samplePoints);
                break;

            case TransformType.Out:
                sCoordsWorkRequest = GetTransformWorkRequest(request.JobId, curCoords, request.TransformType.Value, request.Amount);
                break;

            case TransformType.Down:
                sCoordsWorkRequest = GetTransformWorkRequest(request.JobId, curCoords, request.TransformType.Value, request.Amount);
                break;

            case TransformType.Up:
                sCoordsWorkRequest = GetTransformWorkRequest(request.JobId, curCoords, request.TransformType.Value, request.Amount);
                break;

            case TransformType.Left:
                sCoordsWorkRequest = GetTransformWorkRequest(request.JobId, curCoords, request.TransformType.Value, request.Amount);
                break;

            case TransformType.Right:
                sCoordsWorkRequest = GetTransformWorkRequest(request.JobId, curCoords, request.TransformType.Value, request.Amount);
                break;

            default:
                Console.WriteLine("Peforming no op.");
                return(null);
            }

            SCoords result = _coordsMath.DoOp(sCoordsWorkRequest);

            return(result);
        }