Current section
Files
Jump to
Current section
Files
src/spatial@internal@ffi.erl
-module(spatial@internal@ffi).
-compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch, inline]).
-define(FILEPATH, "src/spatial/internal/ffi.gleam").
-export([box_intersects/4, box_contains_point/3, sphere_intersects/4, distance_squared/2, distance/2, compute_bounds/1, merge_bounds/4]).
-if(?OTP_RELEASE >= 27).
-define(MODULEDOC(Str), -moduledoc(Str)).
-define(DOC(Str), -doc(Str)).
-else.
-define(MODULEDOC(Str), -compile([])).
-define(DOC(Str), -compile([])).
-endif.
?MODULEDOC(false).
-file("src/spatial/internal/ffi.gleam", 23).
?DOC(false).
-spec box_intersects(
vec@vec3:vec3(float()),
vec@vec3:vec3(float()),
vec@vec3:vec3(float()),
vec@vec3:vec3(float())
) -> boolean().
box_intersects(Min_a, Max_a, Min_b, Max_b) ->
spatial_ffi:box_intersects(Min_a, Max_a, Min_b, Max_b).
-file("src/spatial/internal/ffi.gleam", 50).
?DOC(false).
-spec box_contains_point(
vec@vec3:vec3(float()),
vec@vec3:vec3(float()),
vec@vec3:vec3(float())
) -> boolean().
box_contains_point(Min, Max, Point) ->
spatial_ffi:box_contains_point(Min, Max, Point).
-file("src/spatial/internal/ffi.gleam", 75).
?DOC(false).
-spec sphere_intersects(
vec@vec3:vec3(float()),
float(),
vec@vec3:vec3(float()),
float()
) -> boolean().
sphere_intersects(Center_a, Radius_a, Center_b, Radius_b) ->
spatial_ffi:sphere_intersects(Center_a, Radius_a, Center_b, Radius_b).
-file("src/spatial/internal/ffi.gleam", 102).
?DOC(false).
-spec distance_squared(vec@vec3:vec3(float()), vec@vec3:vec3(float())) -> float().
distance_squared(A, B) ->
spatial_ffi:distance_squared(A, B).
-file("src/spatial/internal/ffi.gleam", 115).
?DOC(false).
-spec distance(vec@vec3:vec3(float()), vec@vec3:vec3(float())) -> float().
distance(A, B) ->
spatial_ffi:distance(A, B).
-file("src/spatial/internal/ffi.gleam", 131).
?DOC(false).
-spec compute_bounds(list(vec@vec3:vec3(float()))) -> {vec@vec3:vec3(float()),
vec@vec3:vec3(float())}.
compute_bounds(Positions) ->
spatial_ffi:compute_bounds(Positions).
-file("src/spatial/internal/ffi.gleam", 162).
?DOC(false).
-spec merge_bounds(
vec@vec3:vec3(float()),
vec@vec3:vec3(float()),
vec@vec3:vec3(float()),
vec@vec3:vec3(float())
) -> {vec@vec3:vec3(float()), vec@vec3:vec3(float())}.
merge_bounds(Min_a, Max_a, Min_b, Max_b) ->
spatial_ffi:merge_bounds(Min_a, Max_a, Min_b, Max_b).