/** * Builds a new {@link SMFCoordinateSystem SMFCoordinateSystem}. * @return An immutable instance of SMFCoordinateSystem * @throws java.lang.IllegalStateException if any required attributes are missing */ public SMFCoordinateSystem build() { return new SMFCoordinateSystem(this); } }
/** * Construct a new immutable {@code SMFCoordinateSystem} instance. * @param axes The value for the {@code axes} attribute * @param windingOrder The value for the {@code windingOrder} attribute * @return An immutable SMFCoordinateSystem instance */ public static SMFCoordinateSystem of(CAxisSystem axes, SMFFaceWindingOrder windingOrder) { return new SMFCoordinateSystem(axes, windingOrder); }
/** * Construct a new immutable {@code SMFCoordinateSystem} instance. * @param axes The value for the {@code axes} attribute * @param windingOrder The value for the {@code windingOrder} attribute * @return An immutable SMFCoordinateSystem instance */ public static SMFCoordinateSystem of(CAxisSystem axes, SMFFaceWindingOrder windingOrder) { return new SMFCoordinateSystem(axes, windingOrder); }
/** * Copy the current immutable object by setting a value for the {@link SMFCoordinateSystemType#windingOrder() windingOrder} attribute. * A value equality check is used to prevent copying of the same value by returning {@code this}. * @param value A new value for windingOrder * @return A modified copy of the {@code this} object */ public final SMFCoordinateSystem withWindingOrder(SMFFaceWindingOrder value) { if (this.windingOrder == value) return this; SMFFaceWindingOrder newValue = Objects.requireNonNull(value, "windingOrder"); return new SMFCoordinateSystem(this, this.axes, newValue); }
/** * Copy the current immutable object by setting a value for the {@link SMFCoordinateSystemType#windingOrder() windingOrder} attribute. * A shallow reference equality check is used to prevent copying of the same value by returning {@code this}. * @param value A new value for windingOrder * @return A modified copy of the {@code this} object */ public final SMFCoordinateSystem withWindingOrder(SMFFaceWindingOrder value) { if (this.windingOrder == value) return this; SMFFaceWindingOrder newValue = Objects.requireNonNull(value, "windingOrder"); return new SMFCoordinateSystem(this, this.axes, newValue); }
/** * Copy the current immutable object by setting a value for the {@link SMFCoordinateSystemType#axes() axes} attribute. * A shallow reference equality check is used to prevent copying of the same value by returning {@code this}. * @param value A new value for axes * @return A modified copy of the {@code this} object */ public final SMFCoordinateSystem withAxes(CAxisSystem value) { if (this.axes == value) return this; CAxisSystem newValue = Objects.requireNonNull(value, "axes"); return new SMFCoordinateSystem(this, newValue, this.windingOrder); }
/** * Copy the current immutable object by setting a value for the {@link SMFCoordinateSystemType#axes() axes} attribute. * A shallow reference equality check is used to prevent copying of the same value by returning {@code this}. * @param value A new value for axes * @return A modified copy of the {@code this} object */ public final SMFCoordinateSystem withAxes(CAxisSystem value) { if (this.axes == value) return this; CAxisSystem newValue = Objects.requireNonNull(value, "axes"); return new SMFCoordinateSystem(this, newValue, this.windingOrder); }
/** * Builds a new {@link SMFCoordinateSystem SMFCoordinateSystem}. * @return An immutable instance of SMFCoordinateSystem * @throws java.lang.IllegalStateException if any required attributes are missing */ public SMFCoordinateSystem build() { if (initBits != 0) { throw new IllegalStateException(formatRequiredAttributesMessage()); } return new SMFCoordinateSystem(null, axes, windingOrder); }