Class VirtualIndexBuffer

java.lang.Object
com.jme3.scene.mesh.IndexBuffer
com.jme3.scene.mesh.VirtualIndexBuffer
Direct Known Subclasses:
WrappedIndexBuffer

public class VirtualIndexBuffer extends IndexBuffer
IndexBuffer implementation that generates vertex indices sequentially based on a specific Mesh Mesh.Mode. The generated indices are as if the mesh is in the given mode but contains no index buffer, thus this implementation will return the indices if the index buffer was there and contained sequential triangles. Example:
  • Field Details

    • numVerts

      protected int numVerts
    • numIndices

      protected int numIndices
    • meshMode

      protected Mesh.Mode meshMode
    • position

      protected int position
  • Constructor Details

    • VirtualIndexBuffer

      public VirtualIndexBuffer(int numVerts, Mesh.Mode meshMode)
  • Method Details

    • get

      public int get()
      Description copied from class: IndexBuffer
      Returns the vertex index for the current position.
      Specified by:
      get in class IndexBuffer
      Returns:
      the index
    • rewind

      public void rewind()
      Overrides:
      rewind in class IndexBuffer
      See Also:
    • remaining

      public int remaining()
      Overrides:
      remaining in class IndexBuffer
      Returns:
      the count (≥0)
      See Also:
    • get

      public int get(int i)
      Description copied from class: IndexBuffer
      Returns the vertex index for the given index in the index buffer.
      Specified by:
      get in class IndexBuffer
      Parameters:
      i - The index inside the index buffer
      Returns:
      the index
    • put

      public IndexBuffer put(int i, int value)
      Description copied from class: IndexBuffer
      Absolute put method.

      Puts the vertex index at the index buffer's index. Implementations may throw an UnsupportedOperationException if modifying the IndexBuffer is not supported (e.g. virtual index buffers).

      Specified by:
      put in class IndexBuffer
      Parameters:
      i - The buffer index
      value - The vertex index
      Returns:
      This buffer
    • size

      public int size()
      Description copied from class: IndexBuffer
      Returns the size of the index buffer.
      Specified by:
      size in class IndexBuffer
      Returns:
      the size of the index buffer.
    • getBuffer

      public Buffer getBuffer()
      Description copied from class: IndexBuffer
      Returns the underlying data-type specific Buffer. Implementations may return null if there's no underlying buffer.
      Specified by:
      getBuffer in class IndexBuffer
      Returns:
      the underlying Buffer.
    • put

      public IndexBuffer put(int value)
      Description copied from class: IndexBuffer
      Relative put method.

      Puts the vertex index at the current position, then increments the position. Implementations may throw an UnsupportedOperationException if modifying the IndexBuffer is not supported (e.g. virtual index buffers).

      Specified by:
      put in class IndexBuffer
      Parameters:
      value - The vertex index
      Returns:
      This buffer
    • getFormat

      public VertexBuffer.Format getFormat()
      Description copied from class: IndexBuffer
      Returns the format of the data stored in this buffer.

      This method can be used to set an IndexBuffer to a Mesh:

       mesh.setBuffer(Type.Index, 3, 
           indexBuffer.getFormat(), indexBuffer);
       
      Specified by:
      getFormat in class IndexBuffer
      Returns:
      an enum value