QuickRender() public method

public QuickRender ( ) : void
return void
Exemplo n.º 1
0
        public override void OnMouseDown(System.Windows.Forms.MouseEventArgs mouseEventArgs, int width, int height)
        {
            base.OnMouseDown(mouseEventArgs, width, height);
            if (mTileManager.SegmentationLoaded && !mTileManager.SegmentationChangeInProgress && mTileManager.SelectedSegmentId != 0)
            {
                //
                // Draw or erase here
                //

                var p = new Vector2((float)mouseEventArgs.X / width, (float)mouseEventArgs.Y / height);

                mCurrentlyDrawing = true;

                if (mouseEventArgs.Button == MouseButtons.Left)
                {
                    mTileManager.DrawRegionA(p);
                    mEngine.QuickRender();
                }
                else if (mouseEventArgs.Button == MouseButtons.Right)
                {
                    mTileManager.DrawRegionB(p);
                    mEngine.QuickRender();
                }
            }
        }
Exemplo n.º 2
0
        public override void OnMouseDown(System.Windows.Forms.MouseEventArgs mouseEventArgs, int width, int height)
        {
            base.OnMouseDown(mouseEventArgs, width, height);

            if (mTileManager.SegmentationLoaded && !mTileManager.SegmentationChangeInProgress)
            {
                //
                // Draw here
                //

                var p = new Vector2((float)mouseEventArgs.X / width, (float)mouseEventArgs.Y / height);

                if (mouseEventArgs.Button == MouseButtons.Left || mouseEventArgs.Button == MouseButtons.Right)
                {
                    mTileManager.PrepForDrawMerge(p);
                    mCurrentlyDrawing = true;
                    mTileManager.DrawRegionA(p, mTileManager.MergeBrushSize);
                    mEngine.QuickRender();
                }
            }
        }
Exemplo n.º 3
0
        public override void OnMouseDown(System.Windows.Forms.MouseEventArgs mouseEventArgs, int width, int height)
        {
            base.OnMouseDown(mouseEventArgs, width, height);
            if (mTileManager.CurrentSplitMode != SplitMode.JoinPoints)
            {
                if (mTileManager.SegmentationLoaded && !mTileManager.SegmentationChangeInProgress)
                {
                    //Get the id of the segment being clicked

                    var p = new Vector2((float)mouseEventArgs.X / width, (float)mouseEventArgs.Y / height);

                    var clickedId = mTileManager.GetSegmentationLabelId(p);

                    if (clickedId == mTileManager.SelectedSegmentId && mTileManager.CurrentSplitMode != SplitMode.JoinPoints)
                    {
                        mCurrentlyDrawing = true;

                        if (mTileManager.CurrentSplitMode == SplitMode.DrawSplit)
                        {
                            if (mouseEventArgs.Button == MouseButtons.Left)
                            {
                                mTileManager.DrawSplit(p);
                                mEngine.QuickRender();
                            }
                            else if (mouseEventArgs.Button == MouseButtons.Right)
                            {
                                mTileManager.DrawErase(p);
                                mEngine.QuickRender();
                            }
                        }
                        else if (mTileManager.CurrentSplitMode == SplitMode.DrawRegions)
                        {
                            if (mouseEventArgs.Button == MouseButtons.Left)
                            {
                                mTileManager.DrawRegionA(p);
                                mEngine.QuickRender();
                            }
                            else if (mouseEventArgs.Button == MouseButtons.Right)
                            {
                                mTileManager.DrawRegionB(p);
                                mEngine.QuickRender();
                            }
                        }
                    }
                }
            }
        }
Exemplo n.º 4
0
        public virtual void OnMouseWheel(System.Windows.Forms.MouseEventArgs mouseEventArgs, int width, int height)
        {
            //
            // Only scroll if the mouse within the extent
            //
            if (mouseEventArgs.X < 0 || mouseEventArgs.X > width ||
                mouseEventArgs.Y < 0 || mouseEventArgs.Y > height)
            {
                return;
            }

            var centerDataSpace        = mTileManager.TiledDatasetView.CenterDataSpace;
            var extentDataSpace        = mTileManager.TiledDatasetView.ExtentDataSpace;
            var tiledVolumeDescription = mTileManager.TiledDatasetDescription.TiledVolumeDescriptions.Get("SourceMap");

            var dataSpaceUnitWidthNumPixels = width / extentDataSpace.X;

            var changeBy = (float)Math.Pow(Constants.MAGNIFICATION_STEP, Math.Abs((double)mouseEventArgs.Delta) / Constants.NUM_DETENTS_PER_WHEEL_MOVE);

            //
            // Prepare for mouse location calculations - these coordinates are relative the the center of the view window
            //
            var relativeMouseLocationX = mouseEventArgs.X - (width / 2f);
            var relativeMouseLocationY = mouseEventArgs.Y - (height / 2f);

            if (mouseEventArgs.Delta > 0 && extentDataSpace.X > 1e-3 && extentDataSpace.Y > 1e-3)
            {
                //
                // Decrease the view extent
                //
                extentDataSpace.X /= changeBy;
                extentDataSpace.Y /= changeBy;

                //
                // Change the center location so that the point under the mouse remains stationary
                //
                centerDataSpace.X += (relativeMouseLocationX * changeBy - relativeMouseLocationX) / dataSpaceUnitWidthNumPixels / changeBy;
                centerDataSpace.Y += (relativeMouseLocationY * changeBy - relativeMouseLocationY) / dataSpaceUnitWidthNumPixels / changeBy;
            }
            else if (mouseEventArgs.Delta < 0 && extentDataSpace.X < tiledVolumeDescription.NumTilesX * 10 && extentDataSpace.Y < tiledVolumeDescription.NumTilesY * 10)
            {
                //
                // Increase the view extent
                //
                extentDataSpace.X *= changeBy;
                extentDataSpace.Y *= changeBy;

                //
                // Change the center location so that the point under the mouse remains stationary
                //
                centerDataSpace.X -= (relativeMouseLocationX * changeBy - relativeMouseLocationX) / dataSpaceUnitWidthNumPixels;
                centerDataSpace.Y -= (relativeMouseLocationY * changeBy - relativeMouseLocationY) / dataSpaceUnitWidthNumPixels;
            }

            if (centerDataSpace.X < 0)
            {
                centerDataSpace.X = 0;
            }
            if (centerDataSpace.X > tiledVolumeDescription.NumTilesX * Constants.ConstParameters.GetInt("TILE_SIZE_X"))
            {
                centerDataSpace.X = tiledVolumeDescription.NumTilesX * Constants.ConstParameters.GetInt("TILE_SIZE_X");
            }

            if (centerDataSpace.Y < 0)
            {
                centerDataSpace.Y = 0;
            }
            if (centerDataSpace.Y > tiledVolumeDescription.NumTilesY)
            {
                centerDataSpace.Y = tiledVolumeDescription.NumTilesY;
            }

            mTileManager.TiledDatasetView.CenterDataSpace = centerDataSpace;
            mTileManager.TiledDatasetView.ExtentDataSpace = extentDataSpace;

            mEngine.QuickRender();

            mTileManager.UpdateXYZ();
        }