private void button1_Click(object sender, EventArgs e)
        {
            BaseShape f = null;

            switch (comboBox1.SelectedIndex)
            {
            case 0:
                f = new BaseTriangle(float.Parse(txtWidth.Text), float.Parse(txtHeight.Text));
                break;

            case 1:
                f = new BaseRectangle(float.Parse(txtWidth.Text), float.Parse(txtHeight.Text));
                break;

            case 2:
                f = new BaseSector(float.Parse(txtWidth.Text), int.Parse(txtHeight.Text));
                break;

            default:
                break;
            }

            var p = new ConcreteParameters(float.Parse(txtX.Text), float.Parse(txtY.Text), int.Parse(txtAngle.Text));
            var c = new ConcreteShape(f, p);

            ResultLabel.Text = c.ToString() + "\n" + c.GetMaxDistance(new PointF(0, 0)).ToString();
        }
        public override int Read_2048(byte[] buffer, int offset)
        {
            //to get 2048 bytes out of this sector type, start 16 bytes in
            int ret = BaseSector.Read_2352(TempSector, 0);

            Buffer.BlockCopy(TempSector, 16, buffer, offset, 2048);
            System.Diagnostics.Debug.Assert(buffer != TempSector);
            return(2048);
        }
 public override int Read_2352(byte[] buffer, int offset)
 {
     return(BaseSector.Read_2352(buffer, offset));
 }