/// <summary>
        /// Creates a new instance of <see cref="GrassCoverErosionInwardsOutput"/>.
        /// </summary>
        /// <param name="overtoppingOutput">The overtopping output.</param>
        /// <param name="dikeHeightOutput">The dike height output.</param>
        /// <param name="overtoppingRateOutput">The overtopping rate output.</param>
        /// <exception cref="ArgumentNullException">Thrown when <paramref name="overtoppingOutput"/>
        /// is <c>null</c>.</exception>
        public GrassCoverErosionInwardsOutput(OvertoppingOutput overtoppingOutput,
                                              DikeHeightOutput dikeHeightOutput,
                                              OvertoppingRateOutput overtoppingRateOutput)
        {
            if (overtoppingOutput == null)
            {
                throw new ArgumentNullException(nameof(overtoppingOutput));
            }

            OvertoppingOutput     = overtoppingOutput;
            DikeHeightOutput      = dikeHeightOutput;
            OvertoppingRateOutput = overtoppingRateOutput;
        }
        public override object Clone()
        {
            var clone = (GrassCoverErosionInwardsOutput)base.Clone();

            clone.OvertoppingOutput = (OvertoppingOutput)OvertoppingOutput.Clone();

            if (DikeHeightOutput != null)
            {
                clone.DikeHeightOutput = (DikeHeightOutput)DikeHeightOutput.Clone();
            }

            if (OvertoppingRateOutput != null)
            {
                clone.OvertoppingRateOutput = (OvertoppingRateOutput)OvertoppingRateOutput.Clone();
            }

            return(clone);
        }
 /// <summary>
 /// Clears the illustration points the output.
 /// </summary>
 public void ClearIllustrationPoints()
 {
     OvertoppingOutput.ClearIllustrationPoints();
     DikeHeightOutput?.ClearIllustrationPoints();
     OvertoppingRateOutput?.ClearIllustrationPoints();
 }