private void btnStandaloneSolarPanel_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                RadiationField radiation = new RadiationField();
                radiation.AmbientRadiation = 1d;

                ConverterRadiationToEnergyDNA dna = new ConverterRadiationToEnergyDNA()
                {
                    PartType = ConverterRadiationToEnergy.PARTTYPE,
                    Shape = UtilityCore.GetRandomEnum<SolarPanelShape>(),
                    Position = new Point3D(0, 0, 0),
                    Orientation = Quaternion.Identity,
                    Scale = new Vector3D(1, 1, 1)
                };
                ModifyDNA(dna, chkStandaloneRandSize.IsChecked.Value, chkStandaloneRandOrientation.IsChecked.Value);

                ConverterRadiationToEnergy solar = new ConverterRadiationToEnergy(_editorOptions, _itemOptions, dna, null, radiation);

                BuildStandalonePart(solar);

                if (chkStandaloneShowMassBreakdown.IsChecked.Value)
                {
                    double cellSize = Math1D.Max(dna.Scale.X, dna.Scale.Y, dna.Scale.Z) * UtilityCore.GetScaledValue_Capped(.1d, .3d, 0d, 1d, _rand.NextDouble());
                    DrawMassBreakdown(solar.GetMassBreakdown(cellSize), cellSize);
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString(), this.Title, MessageBoxButton.OK, MessageBoxImage.Error);
            }
        }
        private void btnSolarPanel_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                ShipPartDNA dna = GetDefaultDNA(EnergyTank.PARTTYPE);
                EnergyTank energyTank = new EnergyTank(_editorOptions, _itemOptions, dna);

                RadiationField radiation = new RadiationField();
                radiation.AmbientRadiation = 1d;

                ConverterRadiationToEnergyDNA dna2 = new ConverterRadiationToEnergyDNA()
                {
                    PartType = ConverterRadiationToEnergy.PARTTYPE,
                    Shape = UtilityCore.GetRandomEnum<SolarPanelShape>(),
                    Position = new Point3D(0, 0, 0),
                    Orientation = Quaternion.Identity,
                    Scale = new Vector3D(1, 1, 1)
                };
                ConverterRadiationToEnergy solar = new ConverterRadiationToEnergy(_editorOptions, _itemOptions, dna2, energyTank, radiation);

                solar.Transfer(1d, Transform3D.Identity);
                solar.Transfer(1d, Transform3D.Identity);
                solar.Transfer(1d, Transform3D.Identity);
                solar.Transfer(1d, Transform3D.Identity);
                solar.Transfer(1d, Transform3D.Identity);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString(), this.Title, MessageBoxButton.OK, MessageBoxImage.Error);
            }
        }