classdef LHSDesignOptions
    %LHSDESIGNOPTIONS 
    %

    % Copyright 2022 The MathWorks, Inc.

    properties
       Smooth (1,1) string {mustBeMember(Smooth,["on","off"])} =  'on'
       Criterion (1,1) string {mustBeMember(Criterion,["maximin","none","correlation"])}  = 'maximin'
       Iterations (1,1) double {mustBeInteger, mustBePositive} = 5;
    end

    methods
        function obj = LHSDesignOptions(options)
            %LHSDESIGNOPTIONS 
            %

            arguments
                options.smooth = "on"
                options.criterion = "maximin"
                options.iterations = 5;
            end

            obj.Smooth = options.smooth;
            obj.Criterion = options.criterion;
            obj.Iterations = options.iterations;
        end
    end
end
