/** * Builds a new {@link SMFTriangles SMFTriangles}. * @return An immutable instance of SMFTriangles * @throws java.lang.IllegalStateException if any required attributes are missing */ public SMFTriangles build() { return SMFTriangles.validate(new SMFTriangles(this)); }
/** * Builds a new {@link SMFTriangles SMFTriangles}. * @return An immutable instance of SMFTriangles * @throws java.lang.IllegalStateException if any required attributes are missing */ public SMFTriangles build() { return SMFTriangles.validate(new SMFTriangles(this)); }
/** * Copy the current immutable object by setting a value for the {@link SMFTrianglesType#triangleCount() triangleCount} attribute. * A value equality check is used to prevent copying of the same value by returning {@code this}. * @param value A new value for triangleCount * @return A modified copy of the {@code this} object */ public final SMFTriangles withTriangleCount(long value) { if (this.triangleCount == value) return this; return validate(new SMFTriangles(value, this.triangleIndexSizeBits)); }
/** * Construct a new immutable {@code SMFTriangles} instance. * @param triangleCount The value for the {@code triangleCount} attribute * @param triangleIndexSizeBits The value for the {@code triangleIndexSizeBits} attribute * @return An immutable SMFTriangles instance */ public static SMFTriangles of(long triangleCount, int triangleIndexSizeBits) { return validate(new SMFTriangles(triangleCount, triangleIndexSizeBits)); }
/** * Copy the current immutable object by setting a value for the {@link SMFTrianglesType#triangleCount() triangleCount} attribute. * A value equality check is used to prevent copying of the same value by returning {@code this}. * @param value A new value for triangleCount * @return A modified copy of the {@code this} object */ public final SMFTriangles withTriangleCount(long value) { if (this.triangleCount == value) return this; return validate(new SMFTriangles(value, this.triangleIndexSizeBits)); }
/** * Copy the current immutable object by setting a value for the {@link SMFTrianglesType#triangleIndexSizeBits() triangleIndexSizeBits} attribute. * A value equality check is used to prevent copying of the same value by returning {@code this}. * @param value A new value for triangleIndexSizeBits * @return A modified copy of the {@code this} object */ public final SMFTriangles withTriangleIndexSizeBits(int value) { if (this.triangleIndexSizeBits == value) return this; return validate(new SMFTriangles(this.triangleCount, value)); }
/** * Copy the current immutable object by setting a value for the {@link SMFTrianglesType#triangleIndexSizeBits() triangleIndexSizeBits} attribute. * A value equality check is used to prevent copying of the same value by returning {@code this}. * @param value A new value for triangleIndexSizeBits * @return A modified copy of the {@code this} object */ public final SMFTriangles withTriangleIndexSizeBits(long value) { if (this.triangleIndexSizeBits == value) return this; return validate(new SMFTriangles(this.triangleCount, value)); }
/** * Construct a new immutable {@code SMFTriangles} instance. * @param triangleCount The value for the {@code triangleCount} attribute * @param triangleIndexSizeBits The value for the {@code triangleIndexSizeBits} attribute * @return An immutable SMFTriangles instance */ public static SMFTriangles of(long triangleCount, long triangleIndexSizeBits) { return validate(new SMFTriangles(triangleCount, triangleIndexSizeBits)); }