public AttenuationZone(float d1, float d2, Part part, Vector3 start, Vector3 end)
        {
            dist1 = d1;
            dist2 = d2;
            if (HighLogic.LoadedSceneIsEditor)
            {
                part.DragCubes.SetDragWeights();
            }

            volume = Utils.GetDisplacement(part);
            if (part.Rigidbody != null)
            {
                density = (part.mass + part.GetResourceMass()) / volume;
            }
            else
            {
                density = (part.mass + part.GetResourceMass()) / volume;
            }

            attenuationCoeff = (double)RadioactivitySettings.defaultPartAttenuationCoefficient;
            attenuationType  = AttenuationType.Part;
            associatedPart   = part;
            parameters       = part.GetComponent <RadiationParameters>();
            if (parameters != null)
            {
                attenuationType  = AttenuationType.ParameterizedPart;
                density          = parameters.Density;
                attenuationCoeff = (double)parameters.AttenuationCoefficient;
            }
            startPosition = start;
            endPosition   = end;
        }
 public AttenuationZone(float d1, float d2, AttenuationType tp, Vector3 start, Vector3 end)
 {
     dist1           = d1;
     dist2           = d2;
     attenuationType = AttenuationType.Terrain;
     startPosition   = start;
     endPosition     = end;
 }
 public AttenuationZone(float d1, float d2, Vector3 start, Vector3 end)
 {
     attenuationType = AttenuationType.Empty;
     dist1           = d1;
     dist2           = d2;
     startPosition   = start;
     endPosition     = end;
 }