@Override public Generic selfExpand() { return expressionValue(); }
@Override public Generic selfElementary() { return selfExpand(); }
@Override public void setParameters(@Nullable Generic[] parameters) { super.setParameters(createParameters(getParameter(parameters, 0), getParameter(parameters, 1), getParameter(parameters, 2))); }
@Nonnull private static Generic[] createParameters(@Nullable Generic degrees, @Nullable Generic minutes, @Nullable Generic seconds) { final Generic[] result = new Generic[3]; setDefaultValue(result, degrees, 0); setDefaultValue(result, minutes, 1); setDefaultValue(result, seconds, 2); return result; }
@Nonnull @Override protected String formatUndefinedParameter(int i) { switch (i) { case 0: return "d"; case 1: return "m"; case 2: return "s"; default: return super.formatUndefinedParameter(i); } } }
@Override public Generic selfNumeric() { return AngleUnit.deg.transform(AngleUnit.rad, super.selfNumeric()); }
@Override public Generic selfSimplify() { return selfExpand(); }