UpdateXYZ() public method

public UpdateXYZ ( ) : void
return void
Esempio n. 1
0
        public void CenterAndZoomToSegment2D(uint segId)
        {
            var centerDataSpace = TileManager.TiledDatasetView.CenterDataSpace;
            var extentDataSpace = TileManager.TiledDatasetView.ExtentDataSpace;

            var boundsTileSpace = TileManager.Internal.GetSegmentZTileBounds(segId, (int)centerDataSpace.Z);

            centerDataSpace.X = 0.5f + boundsTileSpace.X + (boundsTileSpace.Z - boundsTileSpace.X) / 2;
            centerDataSpace.Y = 0.5f + boundsTileSpace.Y + (boundsTileSpace.W - boundsTileSpace.Y) / 2;

            var targetExtentX = 1 + boundsTileSpace.Z - boundsTileSpace.X;
            var targetExtentY = 1 + boundsTileSpace.W - boundsTileSpace.Y;

            var changeBy = (float)Math.Max(1.1, (float)Constants.MAGNIFICATION_STEP);

            while (extentDataSpace.X > targetExtentX || extentDataSpace.Y > targetExtentY)
            {
                extentDataSpace.X /= changeBy;
                extentDataSpace.Y /= changeBy;
            }

            while (extentDataSpace.X < targetExtentX || extentDataSpace.Y < targetExtentY)
            {
                extentDataSpace.X *= changeBy;
                extentDataSpace.Y *= changeBy;
            }

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

            QuickRender();

            TileManager.UpdateXYZ();
            TileManager.UpdateSegmentListFocus();
        }
Esempio n. 2
0
        public void UpdateLocationFromText(object parameter)
        {
            var parameterString = parameter as String;

            if (parameterString != null)
            {
                Console.WriteLine(parameterString);
                string[] coordinateStrings = parameterString.Split(',');
                if (coordinateStrings.Length >= 3)
                {
                    try
                    {
                        var centerDataSpace = TileManager.TiledDatasetView.CenterDataSpace;
                        centerDataSpace.X = float.Parse(coordinateStrings[0]) / Constants.ConstParameters.GetInt("TILE_PIXELS_X");
                        centerDataSpace.Y = float.Parse(coordinateStrings[1]) / Constants.ConstParameters.GetInt("TILE_PIXELS_Y");
                        centerDataSpace.Z = float.Parse(coordinateStrings[2]) / Constants.ConstParameters.GetInt("TILE_PIXELS_Z");
                        TileManager.TiledDatasetView.CenterDataSpace = centerDataSpace;
                    }
                    catch (Exception e)
                    {
                        Console.WriteLine("Couldn't parse location string: " + e.Message);
                    }
                }
            }

            CheckBounds();
            CurrentToolMoveZ();
            TileManager.UpdateXYZ();
            Update();
        }
Esempio n. 3
0
        public void ZoomIn()
        {
            var extentDataSpace = TileManager.TiledDatasetView.ExtentDataSpace;

            if (extentDataSpace.X > 1e-3 && extentDataSpace.Y > 1e-3)
            {
                var changeBy = (float)Constants.MAGNIFICATION_STEP;

                //
                // Decrease the view extent
                //
                extentDataSpace.X /= changeBy;
                extentDataSpace.Y /= changeBy;

                TileManager.TiledDatasetView.ExtentDataSpace = extentDataSpace;

                CheckBounds();

                QuickRender();

                TileManager.UpdateXYZ();
            }
        }
Esempio n. 4
0
        public void PanToSegmentCentroid3D(uint segId)
        {
            var centerDataSpace = TileManager.TiledDatasetView.CenterDataSpace;
            var pointTileSpace  = TileManager.Internal.GetSegmentCentralTileLocation(segId);

            if (centerDataSpace.Z != pointTileSpace.Z && CurrentToolMode == ToolMode.SplitSegmentation && TileManager.JoinSplits3D)
            {
                //
                // Record split state for 3D splitting
                //
                TileManager.Internal.RecordSplitState(TileManager.SelectedSegmentId, centerDataSpace);
            }

            centerDataSpace.X = 0.5f + pointTileSpace.X;
            centerDataSpace.Y = 0.5f + pointTileSpace.Y;
            centerDataSpace.Z = pointTileSpace.Z;

            TileManager.TiledDatasetView.CenterDataSpace = centerDataSpace;

            Tools.Get(ViewerMode.TileManager2D).Get(CurrentToolMode).Select();

            TileManager.UpdateXYZ();
            Update();
        }
Esempio n. 5
0
        public void ZoomOut()
        {
            var extentDataSpace        = TileManager.TiledDatasetView.ExtentDataSpace;
            var tiledVolumeDescription = TileManager.TiledDatasetDescription.TiledVolumeDescriptions.Get("SourceMap");

            if (extentDataSpace.X < tiledVolumeDescription.NumTilesX * 10 && extentDataSpace.Y < tiledVolumeDescription.NumTilesY * 10)
            {
                var changeBy = (float)Constants.MAGNIFICATION_STEP;

                //
                // Increase the view extent
                //
                extentDataSpace.X *= changeBy;
                extentDataSpace.Y *= changeBy;

                TileManager.TiledDatasetView.ExtentDataSpace = extentDataSpace;

                CheckBounds();

                QuickRender();

                TileManager.UpdateXYZ();
            }
        }
Esempio n. 6
0
        public virtual void OnKeyDown(KeyEventArgs keyEventArgs, int width, int height)
        {
            var centerDataSpace             = mTileManager.TiledDatasetView.CenterDataSpace;
            var extentDataSpace             = mTileManager.TiledDatasetView.ExtentDataSpace;
            var dataSpaceUnitWidthNumPixels = width / extentDataSpace.X;

            switch (keyEventArgs.Key)
            {
            case Key.D1:
                mEngine.CurrentToolMode = ToolMode.AdjustSegmentation;
                break;

            case Key.D2:
                mEngine.CurrentToolMode = ToolMode.MergeSegmentation;
                break;

            case Key.D3:
                mEngine.CurrentToolMode = ToolMode.SplitSegmentation;
                break;

            case Key.Left:
                centerDataSpace.X -= Constants.ARROW_KEY_STEP / dataSpaceUnitWidthNumPixels;
                mTileManager.TiledDatasetView.CenterDataSpace = centerDataSpace;
                mTileManager.UpdateXYZ();
                keyEventArgs.Handled = true;
                break;

            case Key.Right:
                centerDataSpace.X += Constants.ARROW_KEY_STEP / dataSpaceUnitWidthNumPixels;
                mTileManager.TiledDatasetView.CenterDataSpace = centerDataSpace;
                mTileManager.UpdateXYZ();
                keyEventArgs.Handled = true;
                break;

            case Key.Up:
                centerDataSpace.Y -= Constants.ARROW_KEY_STEP / dataSpaceUnitWidthNumPixels;
                mTileManager.TiledDatasetView.CenterDataSpace = centerDataSpace;
                mTileManager.UpdateXYZ();
                keyEventArgs.Handled = true;
                break;

            case Key.Down:
                centerDataSpace.Y += Constants.ARROW_KEY_STEP / dataSpaceUnitWidthNumPixels;
                mTileManager.TiledDatasetView.CenterDataSpace = centerDataSpace;
                mTileManager.UpdateXYZ();
                keyEventArgs.Handled = true;
                break;

            case Key.W:
                mEngine.NextImage();
                break;

            case Key.S:
                mEngine.PreviousImage();
                break;

            case Key.X:
                mEngine.ZoomOut();
                break;

            case Key.C:
                mEngine.ZoomIn();
                break;
            }
        }