public void Apply_HeightSmoothing(double Ratio) { clsMouseOver.clsOverTerrain mouseOverTerrain = this.GetMouseOverTerrain(); if (mouseOverTerrain != null) { modMath.sXY_int _int; clsMap.clsApplyHeightSmoothing tool = new clsMap.clsApplyHeightSmoothing { Map = this.Map, Ratio = Ratio }; int num = (int) Math.Round(Math.Ceiling(modProgram.HeightBrush.Radius)); modMath.sXY_int posNum = modProgram.HeightBrush.GetPosNum(mouseOverTerrain.Vertex); tool.Offset.X = modMath.Clamp_int(posNum.X - num, 0, this.Map.Terrain.TileSize.X); tool.Offset.Y = modMath.Clamp_int(posNum.Y - num, 0, this.Map.Terrain.TileSize.Y); _int.X = modMath.Clamp_int(posNum.X + num, 0, this.Map.Terrain.TileSize.X); _int.Y = modMath.Clamp_int(posNum.Y + num, 0, this.Map.Terrain.TileSize.Y); tool.AreaTileSize.X = _int.X - tool.Offset.X; tool.AreaTileSize.Y = _int.Y - tool.Offset.Y; tool.Start(); modProgram.HeightBrush.PerformActionMapVertices(tool, mouseOverTerrain.Vertex); tool.Finish(); this.Map.Update(); this.MapView.DrawViewLater(); } }
public void Apply_HeightSmoothing(double Ratio) { clsMouseOver.clsOverTerrain MouseOverTerrain = GetMouseOverTerrain(); if ( MouseOverTerrain == null ) { return; } clsMap.clsApplyHeightSmoothing ApplyHeightSmoothing = new clsMap.clsApplyHeightSmoothing(); ApplyHeightSmoothing.Map = Map; ApplyHeightSmoothing.Ratio = Ratio; int Radius = (int)(Math.Ceiling(App.HeightBrush.Radius)); sXY_int PosNum = App.HeightBrush.GetPosNum(MouseOverTerrain.Vertex); ApplyHeightSmoothing.Offset.X = MathUtil.Clamp_int(PosNum.X - Radius, 0, Map.Terrain.TileSize.X); ApplyHeightSmoothing.Offset.Y = MathUtil.Clamp_int(PosNum.Y - Radius, 0, Map.Terrain.TileSize.Y); sXY_int PosEnd = new sXY_int(); PosEnd.X = MathUtil.Clamp_int(PosNum.X + Radius, 0, Map.Terrain.TileSize.X); PosEnd.Y = MathUtil.Clamp_int(PosNum.Y + Radius, 0, Map.Terrain.TileSize.Y); ApplyHeightSmoothing.AreaTileSize.X = PosEnd.X - ApplyHeightSmoothing.Offset.X; ApplyHeightSmoothing.AreaTileSize.Y = PosEnd.Y - ApplyHeightSmoothing.Offset.Y; ApplyHeightSmoothing.Start(); App.HeightBrush.PerformActionMapVertices(ApplyHeightSmoothing, MouseOverTerrain.Vertex); ApplyHeightSmoothing.Finish(); Map.Update(); MapViewControl.DrawViewLater(); }