SuperMap.WindowsPhone.Mapping.LayerContainer.SetClipShapeBase C# (CSharp) Method

SetClipShapeBase() private method

private SetClipShapeBase ( ShapeElement sb, Rectangle2D clipBox ) : void
sb ShapeElement
clipBox Rectangle2D
return void
        private void SetClipShapeBase(ShapeElement sb, Rectangle2D clipBox)
        {
            Rectangle2D bounds = sb.Point2Ds.GetBounds();
            if ((Rectangle2D.IsNullOrEmpty(bounds)) || ((bounds.Width / this.Resolution) < 16383.5))
            {
                if (sb.ClippedPoint2Ds != null)
                {
                    sb.ClearClip();
                }
            }
            else if (((Rectangle2D.IsNullOrEmpty(sb.ClipBox)) || !clipBox.Within(sb.ClipBox)) || ((sb.ClipBox.Width / this.Resolution) >= 16383.5))
            {
                if (sb is PolygonElement)
                {
                    sb.SetClip(new PolygonElementClip(clipBox).Clip(sb.Point2Ds), clipBox);
                }
                else if (sb is PolylineElement)
                {
                    sb.SetClip(new PolylineElementClip(clipBox).Clip(sb.Point2Ds), clipBox);
                }
            }
        }