classdef romInterface

    properties
        Vertex (1,:) {mustBeNumeric,mustBeInteger,mustBePositive,mustBeNonsparse}
        Edge (1,:) {mustBeNumeric,mustBeInteger,mustBePositive,mustBeNonsparse}
        Face (1,:) {mustBeNumeric,mustBeInteger,mustBePositive,mustBeNonsparse}
        RigidInterface (1,1) {mustBeNumericOrLogical,mustBeNonsparse,mustBeReal,mustBeFinite} = false
        ReferencePoint (1,:) double {mustBeNonsparse,mustBeVector,mustBeFinite}
        Radius (1,:) double {mustBeNumeric,mustBePositive, mustBeScalarOrEmpty, mustBeFinite}
    end

    methods
        function self = romInterface (options)
            arguments
                options.?romInterface
            end

            for k=string(fields(options))'
                self.(k) = options.(k);
            end
        end
    end
end

% Copyright 2023 The MathWorks, Inc.