function X = transformPoints(this, XTable)
% Convert a table in native space to a matrix of transformed points.
%

%   Copyright 2016-2022 The MathWorks, Inc.

VarSpec = this.PrivOptions.VarSpec;
IsNumericLinear = ~VarSpec.isCat & ~VarSpec.isLog;
IsNumericLog = ~VarSpec.isCat & VarSpec.isLog;
IsZeroMinLogInt = VarSpec.isInt & VarSpec.isLog & VarSpec.LBs==0;
if any(IsNumericLinear)
    X(:,IsNumericLinear) = XTable{:,IsNumericLinear};
end
if any(IsNumericLog)
    X(:,IsNumericLog) = log(XTable{:,IsNumericLog});
end
if any(IsZeroMinLogInt)
    X(:,IsZeroMinLogInt) = log1p(XTable{:,IsZeroMinLogInt});
end
if any(VarSpec.isCat)
    X(:,VarSpec.isCat) = table2array(varfun(@bayesoptim.intCodeCategorical, XTable(:,VarSpec.isCat)));
end
end
