Package com.io7m.smfj.core
Class SMFCoordinateSystem.Builder
- java.lang.Object
-
- com.io7m.smfj.core.SMFCoordinateSystem.Builder
-
- Enclosing class:
- SMFCoordinateSystem
public static final class SMFCoordinateSystem.Builder extends java.lang.ObjectBuilds instances of typeSMFCoordinateSystem. Initialize attributes and then invoke thebuild()method to create an immutable instance.Builderis not thread-safe and generally should not be stored in a field or collection, but instead used immediately to create instances.
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description SMFCoordinateSystembuild()Builds a newSMFCoordinateSystem.SMFCoordinateSystem.Builderfrom(SMFCoordinateSystemType instance)Fill a builder with attribute values from the providedSMFCoordinateSystemTypeinstance.SMFCoordinateSystem.BuildersetAxes(com.io7m.jcoords.core.conversion.CAxisSystem axes)Initializes the value for theaxesattribute.SMFCoordinateSystem.BuildersetWindingOrder(SMFFaceWindingOrder windingOrder)Initializes the value for thewindingOrderattribute.
-
-
-
Method Detail
-
from
public final SMFCoordinateSystem.Builder from(SMFCoordinateSystemType instance)
Fill a builder with attribute values from the providedSMFCoordinateSystemTypeinstance. Regular attribute values will be replaced with those from the given instance. Absent optional values will not replace present values.- Parameters:
instance- The instance from which to copy values- Returns:
thisbuilder for use in a chained invocation
-
setAxes
public final SMFCoordinateSystem.Builder setAxes(com.io7m.jcoords.core.conversion.CAxisSystem axes)
Initializes the value for theaxesattribute.If not set, this attribute will have a default value as returned by the initializer of
axes.- Parameters:
axes- The value for axes- Returns:
thisbuilder for use in a chained invocation
-
setWindingOrder
public final SMFCoordinateSystem.Builder setWindingOrder(SMFFaceWindingOrder windingOrder)
Initializes the value for thewindingOrderattribute.If not set, this attribute will have a default value as returned by the initializer of
windingOrder.- Parameters:
windingOrder- The value for windingOrder- Returns:
thisbuilder for use in a chained invocation
-
build
public SMFCoordinateSystem build()
Builds a newSMFCoordinateSystem.- Returns:
- An immutable instance of SMFCoordinateSystem
- Throws:
java.lang.IllegalStateException- if any required attributes are missing
-
-