public TightShape2 Transform(IMap <GridPoint2, GridPoint2> transformation) { var newPoints = Points.Select <GridPoint2, GridPoint2>(transformation.Forward); var newBounds = ExplicitShape.GetBounds(newPoints); var newShape = shape.ReverseSelect(transformation.Reverse).ToExplicit(newBounds); return(new TightShape2(newShape, true)); }
private void InitTightShape(IExplicitShape <GridPoint2> looseShape) { var newBounds = ExplicitShape.GetBounds(looseShape.Points); shape = looseShape.ToExplicit(newBounds); }