Package com.io7m.smfj.processing.api
Class SMFMemoryMesh.Builder
- java.lang.Object
-
- com.io7m.smfj.processing.api.SMFMemoryMesh.Builder
-
- Enclosing class:
- SMFMemoryMesh
public static final class SMFMemoryMesh.Builder extends java.lang.ObjectBuilds instances of typeSMFMemoryMesh. 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 SMFMemoryMesh.BuilderaddAllMetadata(java.lang.Iterable<? extends SMFMetadata> elements)Adds elements tometadatalist.SMFMemoryMesh.BuilderaddAllTriangles(java.lang.Iterable<? extends com.io7m.jtensors.core.unparameterized.vectors.Vector3L> elements)Adds elements totriangleslist.SMFMemoryMesh.BuilderaddMetadata(SMFMetadata element)Adds one element tometadatalist.SMFMemoryMesh.BuilderaddMetadata(SMFMetadata... elements)Adds elements tometadatalist.SMFMemoryMesh.BuilderaddTriangles(com.io7m.jtensors.core.unparameterized.vectors.Vector3L element)Adds one element totriangleslist.SMFMemoryMesh.BuilderaddTriangles(com.io7m.jtensors.core.unparameterized.vectors.Vector3L... elements)Adds elements totriangleslist.SMFMemoryMeshbuild()Builds a newSMFMemoryMesh.SMFMemoryMesh.Builderfrom(SMFMemoryMeshType instance)Fill a builder with attribute values from the providedSMFMemoryMeshTypeinstance.SMFMemoryMesh.BuilderputAllArrays(java.util.Map<? extends SMFAttributeName,? extends SMFAttributeArrayType> entries)Put all mappings from the specified map as entries toarraysmap.SMFMemoryMesh.BuilderputArrays(SMFAttributeName key, SMFAttributeArrayType value)Put one entry to thearraysmap.SMFMemoryMesh.BuilderputArrays(java.util.Map.Entry<? extends SMFAttributeName,? extends SMFAttributeArrayType> entry)Put one entry to thearraysmap.SMFMemoryMesh.BuildersetArrays(java.util.Map<? extends SMFAttributeName,? extends SMFAttributeArrayType> entries)Sets or replaces all mappings from the specified map as entries for thearraysmap.SMFMemoryMesh.BuildersetHeader(SMFHeader header)Initializes the value for theheaderattribute.SMFMemoryMesh.BuildersetMetadata(java.lang.Iterable<? extends SMFMetadata> elements)Sets or replaces all elements formetadatalist.SMFMemoryMesh.BuildersetTriangles(java.lang.Iterable<? extends com.io7m.jtensors.core.unparameterized.vectors.Vector3L> elements)Sets or replaces all elements fortriangleslist.
-
-
-
Method Detail
-
from
public final SMFMemoryMesh.Builder from(SMFMemoryMeshType instance)
Fill a builder with attribute values from the providedSMFMemoryMeshTypeinstance. Regular attribute values will be replaced with those from the given instance. Absent optional values will not replace present values. Collection elements and entries will be added, not replaced.- Parameters:
instance- The instance from which to copy values- Returns:
thisbuilder for use in a chained invocation
-
setHeader
public final SMFMemoryMesh.Builder setHeader(SMFHeader header)
Initializes the value for theheaderattribute.- Parameters:
header- The value for header- Returns:
thisbuilder for use in a chained invocation
-
putArrays
public final SMFMemoryMesh.Builder putArrays(SMFAttributeName key, SMFAttributeArrayType value)
Put one entry to thearraysmap.- Parameters:
key- The key in the arrays mapvalue- The associated value in the arrays map- Returns:
thisbuilder for use in a chained invocation
-
putArrays
public final SMFMemoryMesh.Builder putArrays(java.util.Map.Entry<? extends SMFAttributeName,? extends SMFAttributeArrayType> entry)
Put one entry to thearraysmap. Nulls are not permitted- Parameters:
entry- The key and value entry- Returns:
thisbuilder for use in a chained invocation
-
setArrays
public final SMFMemoryMesh.Builder setArrays(java.util.Map<? extends SMFAttributeName,? extends SMFAttributeArrayType> entries)
Sets or replaces all mappings from the specified map as entries for thearraysmap. Nulls are not permitted- Parameters:
entries- The entries that will be added to the arrays map- Returns:
thisbuilder for use in a chained invocation
-
putAllArrays
public final SMFMemoryMesh.Builder putAllArrays(java.util.Map<? extends SMFAttributeName,? extends SMFAttributeArrayType> entries)
Put all mappings from the specified map as entries toarraysmap. Nulls are not permitted- Parameters:
entries- The entries that will be added to the arrays map- Returns:
thisbuilder for use in a chained invocation
-
addMetadata
public final SMFMemoryMesh.Builder addMetadata(SMFMetadata element)
Adds one element tometadatalist.- Parameters:
element- A metadata element- Returns:
thisbuilder for use in a chained invocation
-
addMetadata
public final SMFMemoryMesh.Builder addMetadata(SMFMetadata... elements)
Adds elements tometadatalist.- Parameters:
elements- An array of metadata elements- Returns:
thisbuilder for use in a chained invocation
-
setMetadata
public final SMFMemoryMesh.Builder setMetadata(java.lang.Iterable<? extends SMFMetadata> elements)
Sets or replaces all elements formetadatalist.- Parameters:
elements- An iterable of metadata elements- Returns:
thisbuilder for use in a chained invocation
-
addAllMetadata
public final SMFMemoryMesh.Builder addAllMetadata(java.lang.Iterable<? extends SMFMetadata> elements)
Adds elements tometadatalist.- Parameters:
elements- An iterable of metadata elements- Returns:
thisbuilder for use in a chained invocation
-
addTriangles
public final SMFMemoryMesh.Builder addTriangles(com.io7m.jtensors.core.unparameterized.vectors.Vector3L element)
Adds one element totriangleslist.- Parameters:
element- A triangles element- Returns:
thisbuilder for use in a chained invocation
-
addTriangles
public final SMFMemoryMesh.Builder addTriangles(com.io7m.jtensors.core.unparameterized.vectors.Vector3L... elements)
Adds elements totriangleslist.- Parameters:
elements- An array of triangles elements- Returns:
thisbuilder for use in a chained invocation
-
setTriangles
public final SMFMemoryMesh.Builder setTriangles(java.lang.Iterable<? extends com.io7m.jtensors.core.unparameterized.vectors.Vector3L> elements)
Sets or replaces all elements fortriangleslist.- Parameters:
elements- An iterable of triangles elements- Returns:
thisbuilder for use in a chained invocation
-
addAllTriangles
public final SMFMemoryMesh.Builder addAllTriangles(java.lang.Iterable<? extends com.io7m.jtensors.core.unparameterized.vectors.Vector3L> elements)
Adds elements totriangleslist.- Parameters:
elements- An iterable of triangles elements- Returns:
thisbuilder for use in a chained invocation
-
build
public SMFMemoryMesh build()
Builds a newSMFMemoryMesh.- Returns:
- An immutable instance of SMFMemoryMesh
- Throws:
java.lang.IllegalStateException- if any required attributes are missing
-
-