Class ParStreamlines

java.lang.Object
org.lwjgl.util.par.ParStreamlines

public class ParStreamlines extends Object
Bindings to par_streamlines.h, a single-file, zero-dependency, C99 library that can triangulate wide lines and curves.
  • Field Details

  • Method Details

    • nparsl_create_context

      public static long nparsl_create_context(long config)
    • parsl_create_context

      public static long parsl_create_context(ParSLConfig config)
    • nparsl_destroy_context

      public static void nparsl_destroy_context(long ctx)
    • parsl_destroy_context

      public static void parsl_destroy_context(long ctx)
    • nparsl_mesh_from_lines

      public static long nparsl_mesh_from_lines(long ctx, long spines)
      Unsafe version of: mesh_from_lines
    • parsl_mesh_from_lines

      @Nullable public static ParSLMesh parsl_mesh_from_lines(long ctx, ParSLSpineList spines)
      Low-level function that generates two triangles for each line segment.
    • nparsl_mesh_from_streamlines

      public static long nparsl_mesh_from_streamlines(long context, long advect, int first_tick, int num_ticks, long userdata)
      Unsafe version of: mesh_from_streamlines
    • parsl_mesh_from_streamlines

      @Nullable public static ParSLMesh parsl_mesh_from_streamlines(long context, ParSLAdvectionCallbackI advect, int first_tick, int num_ticks, long userdata)
      High-level function that can be used to visualize a vector field.
    • nparsl_mesh_from_curves_cubic

      public static long nparsl_mesh_from_curves_cubic(long context, long spines)
      Unsafe version of: mesh_from_curves_cubic
    • parsl_mesh_from_curves_cubic

      @Nullable public static ParSLMesh parsl_mesh_from_curves_cubic(long context, ParSLSpineList spines)
      High-level function that tessellates a series of curves into triangles, where each spine is a series of chained cubic Bézier curves.

      The first curve of each spine is defined by an endpoint, followed by two control points, followed by an endpoint. Every subsequent curve in the spine is defined by a single control point followed by an endpoint. Only one control point is required because the first control point is computed via reflection over the endpoint.

      The number of vertices in each spine should be 4+(n-1)*2 where n is the number of piecewise curves.

      Each spine is equivalent to an SVG path that looks like M C S S S.

    • nparsl_mesh_from_curves_quadratic

      public static long nparsl_mesh_from_curves_quadratic(long context, long spines)
      Unsafe version of: mesh_from_curves_quadratic
    • parsl_mesh_from_curves_quadratic

      @Nullable public static ParSLMesh parsl_mesh_from_curves_quadratic(long context, ParSLSpineList spines)
      High-level function that tessellates a series of curves into triangles, where each spine is a series of chained quadratic Bézier curves.

      The first curve of each spine is defined by an endpoint, followed by one control point, followed by an endpoint. Every subsequent curve in the spine is defined by a single control point followed by an endpoint.

      The number of vertices in each spine should be 3+(n-1)*2 where n is the number of piecewise curves.

      Each spine is equivalent to an SVG path that looks like M Q M Q M Q.