com.io7m.r2.core

## Class R2ProjectionMesh

- java.lang.Object
- - com.io7m.r2.core.R2ProjectionMesh

- All Implemented Interfaces:
    com.io7m.jcanephora.core.JCGLResourceUsableType, R2DeletableType, R2ProjectionMeshReadableType, R2ProjectionMeshType, R2ProjectionMeshUsableType, R2ProjectionMeshWritableType

      public final class R2ProjectionMesh
      extends Object
      implements R2ProjectionMeshType

  A mesh representing the convex hull for a given projection.

- - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `com.io7m.jcanephora.core.JCGLArrayObjectUsableType` | `arrayObject()`
    `void` | `delete(com.io7m.jcanephora.core.api.JCGLInterfaceGL33Type g)` Delete the current object.
    `boolean` | `isDeleted()`
    `boolean` | `isUpdateRequired()`
    `static R2ProjectionMeshType` | `newMesh(com.io7m.jcanephora.core.api.JCGLInterfaceGL33Type g, R2ProjectionType p, com.io7m.jcanephora.core.JCGLUsageHint array_hint, com.io7m.jcanephora.core.JCGLUsageHint index_hint)` Construct a mesh based on the given projection.
    `R2ProjectionReadableType` | `projectionReadable()`
    `R2ProjectionType` | `projectionWritable()`
    `void` | `updateProjection(com.io7m.jcanephora.core.api.JCGLArrayBuffersType ga)` Update the mesh for the current projection.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Method Detail

    - #### newMesh

          public static R2ProjectionMeshType newMesh(com.io7m.jcanephora.core.api.JCGLInterfaceGL33Type g,
                                                     R2ProjectionType p,
                                                     com.io7m.jcanephora.core.JCGLUsageHint array_hint,
                                                     com.io7m.jcanephora.core.JCGLUsageHint index_hint)

      Construct a mesh based on the given projection.
      Parameters:
        `g` - A GL interface
        `p` - The initial projection
        `array_hint` - The usage hint for the array buffer that backs the mesh
        `index_hint` - The usage hint for the index buffer that backs the mesh indices
      Returns:
        A new mesh

    - #### arrayObject

          public com.io7m.jcanephora.core.JCGLArrayObjectUsableType arrayObject()

      Specified by:
        `arrayObject` in interface `R2ProjectionMeshReadableType`
      Returns:
        The array object for the mesh

    - #### projectionReadable

          public R2ProjectionReadableType projectionReadable()

      Specified by:
        `projectionReadable` in interface `R2ProjectionMeshReadableType`
      Returns:
        A readable reference to the mesh's projection

    - #### isUpdateRequired

          public boolean isUpdateRequired()

      Specified by:
        `isUpdateRequired` in interface `R2ProjectionMeshReadableType`
      Returns:
        `true` iff the values of the projection have changed more recently than the last call to `R2ProjectionMeshWritableType.updateProjection(com.io7m.jcanephora.core.api.JCGLArrayBuffersType)`

    - #### delete

          public void delete(com.io7m.jcanephora.core.api.JCGLInterfaceGL33Type g)
                      throws R2Exception

      Description copied from interface: `R2DeletableType`
      Delete the current object.
      Specified by:
        `delete` in interface `R2DeletableType`
      Parameters:
        `g` - An OpenGL interface
      Throws:
        `R2Exception` - On errors

    - #### isDeleted

          public boolean isDeleted()

      Specified by:
        `isDeleted` in interface `com.io7m.jcanephora.core.JCGLResourceUsableType`

    - #### updateProjection

          public void updateProjection(com.io7m.jcanephora.core.api.JCGLArrayBuffersType ga)

      Description copied from interface: `R2ProjectionMeshWritableType`
      Update the mesh for the current projection.
      Specified by:
        `updateProjection` in interface `R2ProjectionMeshWritableType`
      Parameters:
        `ga` - An array buffer interface

    - #### projectionWritable

          public R2ProjectionType projectionWritable()

      Specified by:
        `projectionWritable` in interface `R2ProjectionMeshWritableType`
      Returns:
        A writable reference to the mesh's projection

Copyright © 2016 <code@io7m.com> http://io7m.com