Class ParShapesMesh

All Implemented Interfaces:
Pointer

public class ParShapesMesh extends Struct<ParShapesMesh>
The par_shapes.h mesh structure.

LWJGL note: in the default build, PAR_SHAPES_T is uint32_t.

Layout


 struct par_shapes_mesh {
     float * points(int);
     int npoints();
     PAR_SHAPES_T * triangles(int);
     int ntriangles();
     float * normals(int);
     float * tcoords(int);
 }
  • Field Details

    • SIZEOF

      public static final int SIZEOF
      The struct size in bytes.
    • ALIGNOF

      public static final int ALIGNOF
      The struct alignment in bytes.
    • POINTS

      public static final int POINTS
      The struct member offsets.
    • NPOINTS

      public static final int NPOINTS
      The struct member offsets.
    • TRIANGLES

      public static final int TRIANGLES
      The struct member offsets.
    • NTRIANGLES

      public static final int NTRIANGLES
      The struct member offsets.
    • NORMALS

      public static final int NORMALS
      The struct member offsets.
    • TCOORDS

      public static final int TCOORDS
      The struct member offsets.
  • Constructor Details

    • ParShapesMesh

      public ParShapesMesh(ByteBuffer container)
      Creates a ParShapesMesh instance at the current position of the specified ByteBuffer container. Changes to the buffer's content will be visible to the struct instance and vice versa.

      The created instance holds a strong reference to the container object.

  • Method Details

    • sizeof

      public int sizeof()
      Description copied from class: Struct
      Returns sizeof(struct).
      Specified by:
      sizeof in class Struct<ParShapesMesh>
    • points

      public FloatBuffer points(int capacity)
      Parameters:
      capacity - the number of elements in the returned buffer
      Returns:
      a flat list of 3-tuples (X Y Z X Y Z...) for the vertex positions
    • npoints

      public int npoints()
      the number of points
    • triangles

      public IntBuffer triangles(int capacity)
      Parameters:
      capacity - the number of elements in the returned buffer
      Returns:
      flat list of 3-tuples (I J K I J K...)
    • ntriangles

      public int ntriangles()
      the number of triangles
    • normals

      @Nullable public FloatBuffer normals(int capacity)
      Parameters:
      capacity - the number of elements in the returned buffer
      Returns:
      an optional list of 3-tuples (X Y Z X Y Z...) for the vertex normals
    • tcoords

      @Nullable public FloatBuffer tcoords(int capacity)
      Parameters:
      capacity - the number of elements in the returned buffer
      Returns:
      an optional list of 2-tuples (U V U V U V...) for the vertex texture coordinates
    • create

      public static ParShapesMesh create(long address)
      Returns a new ParShapesMesh instance for the specified memory address.
    • createSafe

      @Nullable public static ParShapesMesh createSafe(long address)
      Like create, but returns null if address is NULL.
    • create

      public static ParShapesMesh.Buffer create(long address, int capacity)
      Create a ParShapesMesh.Buffer instance at the specified memory.
      Parameters:
      address - the memory address
      capacity - the buffer capacity
    • createSafe

      @Nullable public static ParShapesMesh.Buffer createSafe(long address, int capacity)
      Like create, but returns null if address is NULL.
    • npoints

      public static FloatBuffer npoints(long struct, int capacity)
      Unsafe version of points.
    • nnpoints

      public static int nnpoints(long struct)
      Unsafe version of npoints().
    • ntriangles

      public static IntBuffer ntriangles(long struct, int capacity)
      Unsafe version of triangles.
    • nntriangles

      public static int nntriangles(long struct)
      Unsafe version of ntriangles().
    • nnormals

      @Nullable public static FloatBuffer nnormals(long struct, int capacity)
      Unsafe version of normals.
    • ntcoords

      @Nullable public static FloatBuffer ntcoords(long struct, int capacity)
      Unsafe version of tcoords.