@Generated(value={"Immutables.generator","R2InstanceSingleType"}) public final class R2InstanceSingle extends Object implements R2InstanceSingleType
The type of single instances.
A single instance consists of a set of one or more vertex buffers containing mesh data, a per-instance UV matrix, and a transform.
Modifier and Type | Class and Description |
---|---|
static class |
R2InstanceSingle.Builder
Builds instances of type
R2InstanceSingle . |
Modifier and Type | Method and Description |
---|---|
com.io7m.jcanephora.core.JCGLArrayObjectUsableType |
arrayObject() |
static R2InstanceSingle.Builder |
builder()
Creates a builder for
R2InstanceSingle . |
static R2InstanceSingle |
copyOf(R2InstanceSingleType instance)
Creates an immutable copy of a
R2InstanceSingleType value. |
boolean |
equals(Object another)
This instance is equal to all instances of
R2InstanceSingle that have equal attribute values. |
int |
hashCode()
Computes a hash code from attributes:
instanceID , arrayObject , transform , uvMatrix . |
long |
instanceID() |
static R2InstanceSingle |
of(long instanceID,
com.io7m.jcanephora.core.JCGLArrayObjectUsableType arrayObject,
R2TransformReadableType transform,
com.io7m.jtensors.core.parameterized.matrices.PMatrix3x3D<R2SpaceTextureType,R2SpaceTextureType> uvMatrix)
Construct a new immutable
R2InstanceSingle instance. |
String |
toString()
Prints the immutable value
R2InstanceSingle with attribute values. |
R2TransformReadableType |
transform() |
com.io7m.jtensors.core.parameterized.matrices.PMatrix3x3D<R2SpaceTextureType,R2SpaceTextureType> |
uvMatrix() |
R2InstanceSingle |
withArrayObject(com.io7m.jcanephora.core.JCGLArrayObjectUsableType value)
Copy the current immutable object by setting a value for the
arrayObject attribute. |
R2InstanceSingle |
withInstanceID(long value)
Copy the current immutable object by setting a value for the
instanceID attribute. |
R2InstanceSingle |
withTransform(R2TransformReadableType value)
Copy the current immutable object by setting a value for the
transform attribute. |
R2InstanceSingle |
withUvMatrix(com.io7m.jtensors.core.parameterized.matrices.PMatrix3x3D<R2SpaceTextureType,R2SpaceTextureType> value)
Copy the current immutable object by setting a value for the
uvMatrix attribute. |
public long instanceID()
instanceID
in interface R2InstanceSingleType
instanceID
in interface R2InstanceType
instanceID
attributepublic com.io7m.jcanephora.core.JCGLArrayObjectUsableType arrayObject()
arrayObject
in interface R2InstanceSingleType
public R2TransformReadableType transform()
transform
in interface R2InstanceSingleType
public com.io7m.jtensors.core.parameterized.matrices.PMatrix3x3D<R2SpaceTextureType,R2SpaceTextureType> uvMatrix()
uvMatrix
in interface R2InstanceSingleType
public final R2InstanceSingle withInstanceID(long value)
instanceID
attribute.
A value equality check is used to prevent copying of the same value by returning this
.value
- A new value for instanceIDthis
objectpublic final R2InstanceSingle withArrayObject(com.io7m.jcanephora.core.JCGLArrayObjectUsableType value)
arrayObject
attribute.
A shallow reference equality check is used to prevent copying of the same value by returning this
.value
- A new value for arrayObjectthis
objectpublic final R2InstanceSingle withTransform(R2TransformReadableType value)
transform
attribute.
A shallow reference equality check is used to prevent copying of the same value by returning this
.value
- A new value for transformthis
objectpublic final R2InstanceSingle withUvMatrix(com.io7m.jtensors.core.parameterized.matrices.PMatrix3x3D<R2SpaceTextureType,R2SpaceTextureType> value)
uvMatrix
attribute.
A shallow reference equality check is used to prevent copying of the same value by returning this
.value
- A new value for uvMatrixthis
objectpublic boolean equals(Object another)
R2InstanceSingle
that have equal attribute values.public int hashCode()
instanceID
, arrayObject
, transform
, uvMatrix
.public String toString()
R2InstanceSingle
with attribute values.public static R2InstanceSingle of(long instanceID, com.io7m.jcanephora.core.JCGLArrayObjectUsableType arrayObject, R2TransformReadableType transform, com.io7m.jtensors.core.parameterized.matrices.PMatrix3x3D<R2SpaceTextureType,R2SpaceTextureType> uvMatrix)
R2InstanceSingle
instance.instanceID
- The value for the instanceID
attributearrayObject
- The value for the arrayObject
attributetransform
- The value for the transform
attributeuvMatrix
- The value for the uvMatrix
attributepublic static R2InstanceSingle copyOf(R2InstanceSingleType instance)
R2InstanceSingleType
value.
Uses accessors to get values to initialize the new immutable instance.
If an instance is already immutable, it is returned as is.instance
- The instance to copypublic static R2InstanceSingle.Builder builder()
R2InstanceSingle
.Copyright © 2017 <code@io7m.com> http://io7m.com