com.io7m.r2.meshes

## Class R2MeshTangents

- java.lang.Object
- - com.io7m.r2.meshes.R2MeshTangents

- All Implemented Interfaces:
    R2MeshTangentsType, R2MeshType

      public final class R2MeshTangents
      extends Object
      implements R2MeshTangentsType

  The default implementation of the `R2MeshTangentsType` interface.

- - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `it.unimi.dsi.fastutil.BigList<com.io7m.jtensors.parameterized.PVectorI3D<R2SpaceObjectType>>` | `bitangents()`
    `boolean` | `equals(Object o)`
    `static R2MeshTangentsType` | `generateTangents(R2MeshBasicType in_m)` Generate tangent and bitangent vectors for the given mesh.
    `int` | `hashCode()`
    `static R2MeshTangentsBuilderType` | `newBuilder(long v_count, long t_count)`
    `it.unimi.dsi.fastutil.BigList<com.io7m.jtensors.parameterized.PVectorI3D<R2SpaceObjectType>>` | `normals()`
    `it.unimi.dsi.fastutil.BigList<com.io7m.jtensors.parameterized.PVectorI3D<R2SpaceObjectType>>` | `positions()`
    `it.unimi.dsi.fastutil.BigList<com.io7m.jtensors.parameterized.PVectorI4D<R2SpaceObjectType>>` | `tangents()`
    `it.unimi.dsi.fastutil.BigList<R2MeshTriangleType>` | `triangles()`
    `it.unimi.dsi.fastutil.BigList<com.io7m.jtensors.parameterized.PVectorI2D<R2SpaceTextureType>>` | `uvs()`
    `it.unimi.dsi.fastutil.BigList<R2MeshTangentsVertexType>` | `vertices()`

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

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

    - ### Methods inherited from interface com.io7m.r2.meshes.R2MeshTangentsType

      `matchMesh`

- - ### Method Detail

    - #### newBuilder

          public static R2MeshTangentsBuilderType newBuilder(long v_count,
                                                             long t_count)

      Parameters:
        `v_count` - A hint to the implementation regarding the number of vertices that are expected to be created. The implementation will allocate `v_count` vertices ahead of time to avoid having to perform any internal reallocations during building.
        `t_count` - A hint to the implementation regarding the number of triangles that are expected to be created. The implementation will allocate `t_count` triangles ahead of time to avoid having to perform any internal reallocations during building.
      Returns:
        A new mutable mesh builder

    - #### generateTangents

          public static R2MeshTangentsType generateTangents(R2MeshBasicType in_m)

      Generate tangent and bitangent vectors for the given mesh.
      Parameters:
        `in_m` - The initial mesh
      Returns:
        A mesh with generated tangent/bitangent vectors

    - #### normals

          public it.unimi.dsi.fastutil.BigList<com.io7m.jtensors.parameterized.PVectorI3D<R2SpaceObjectType>> normals()

      Specified by:
        `normals` in interface `R2MeshTangentsType`
      Returns:
        The list of normal vectors

    - #### bitangents

          public it.unimi.dsi.fastutil.BigList<com.io7m.jtensors.parameterized.PVectorI3D<R2SpaceObjectType>> bitangents()

      Specified by:
        `bitangents` in interface `R2MeshTangentsType`
      Returns:
        The list of bitangent vectors

    - #### tangents

          public it.unimi.dsi.fastutil.BigList<com.io7m.jtensors.parameterized.PVectorI4D<R2SpaceObjectType>> tangents()

      Specified by:
        `tangents` in interface `R2MeshTangentsType`
      Returns:
        The list of tangent vectors

    - #### positions

          public it.unimi.dsi.fastutil.BigList<com.io7m.jtensors.parameterized.PVectorI3D<R2SpaceObjectType>> positions()

      Specified by:
        `positions` in interface `R2MeshTangentsType`
      Returns:
        The list of position vectors

    - #### uvs

          public it.unimi.dsi.fastutil.BigList<com.io7m.jtensors.parameterized.PVectorI2D<R2SpaceTextureType>> uvs()

      Specified by:
        `uvs` in interface `R2MeshTangentsType`
      Returns:
        The list of UV vectors

    - #### vertices

          public it.unimi.dsi.fastutil.BigList<R2MeshTangentsVertexType> vertices()

      Specified by:
        `vertices` in interface `R2MeshTangentsType`
      Returns:
        The list of vertices

    - #### triangles

          public it.unimi.dsi.fastutil.BigList<R2MeshTriangleType> triangles()

      Specified by:
        `triangles` in interface `R2MeshTangentsType`
      Returns:
        The list of triangles

    - #### equals

          public boolean equals(Object o)

      Overrides:
        `equals` in class `Object`

    - #### hashCode

          public int hashCode()

      Overrides:
        `hashCode` in class `Object`

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