Class ParShapesMesh

  • All Implemented Interfaces:
    Pointer

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

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

    Member documentation

    • points – a flat list of 3-tuples (X Y Z X Y Z...) for the vertex positions
    • npoints – the number of points
    • triangles – flat list of 3-tuples (I J K I J K...)
    • ntriangles – the number of triangles
    • normals – an optional list of 3-tuples (X Y Z X Y Z...) for the vertex normals
    • tcoords – an optional list of 2-tuples (U V U V U V...) for the vertex texture coordinates

    Layout

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

      • SIZEOF

        The struct size in bytes.
      • ALIGNOF

        The struct alignment in bytes.
      • POINTS, NPOINTS, TRIANGLES, NTRIANGLES, NORMALS, TCOORDS

        The struct member offsets.
    • Constructor Detail

      • ParShapesMesh

        public ParShapesMesh​(java.nio.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 Detail

      • sizeof

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

        public java.nio.FloatBuffer points​(int capacity)
        Returns a FloatBuffer view of the data pointed to by the points field.
        Parameters:
        capacity - the number of elements in the returned buffer
      • npoints

        public int npoints()
        Returns the value of the npoints field.
      • triangles

        public java.nio.IntBuffer triangles​(int capacity)
        Returns a IntBuffer view of the data pointed to by the triangles field.
        Parameters:
        capacity - the number of elements in the returned buffer
      • ntriangles

        public int ntriangles()
        Returns the value of the ntriangles field.
      • normals

        @Nullable
        public java.nio.FloatBuffer normals​(int capacity)
        Returns a FloatBuffer view of the data pointed to by the normals field.
        Parameters:
        capacity - the number of elements in the returned buffer
      • tcoords

        @Nullable
        public java.nio.FloatBuffer tcoords​(int capacity)
        Returns a FloatBuffer view of the data pointed to by the tcoords field.
        Parameters:
        capacity - the number of elements in the returned buffer
      • 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 java.nio.FloatBuffer npoints​(long struct,
                                                   int capacity)
        Unsafe version of points.
      • nnpoints

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

        public static java.nio.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 java.nio.FloatBuffer nnormals​(long struct,
                                                    int capacity)
        Unsafe version of normals.
      • ntcoords

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