Current section

Files

Jump to
matrix_gleam src matrix@internal@projection.erl
Raw

src/matrix@internal@projection.erl

-module(matrix@internal@projection).
-compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch, inline]).
-define(FILEPATH, "src/matrix/internal/projection.gleam").
-export([to_xz/1, to_xy/1, to_yz/1, to_xyz/1, extend2/2, extend3/2]).
-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/matrix/internal/projection.gleam", 5).
?DOC(false).
-spec to_xz(vec@vec3:vec3(ILN)) -> vec@vec2:vec2(ILN).
to_xz(V) ->
{vec2, erlang:element(2, V), erlang:element(4, V)}.
-file("src/matrix/internal/projection.gleam", 9).
?DOC(false).
-spec to_xy(vec@vec3:vec3(ILQ)) -> vec@vec2:vec2(ILQ).
to_xy(V) ->
{vec2, erlang:element(2, V), erlang:element(3, V)}.
-file("src/matrix/internal/projection.gleam", 13).
?DOC(false).
-spec to_yz(vec@vec3:vec3(ILT)) -> vec@vec2:vec2(ILT).
to_yz(V) ->
{vec2, erlang:element(3, V), erlang:element(4, V)}.
-file("src/matrix/internal/projection.gleam", 17).
?DOC(false).
-spec to_xyz(vec@vec4:vec4(ILW)) -> vec@vec3:vec3(ILW).
to_xyz(Vec) ->
{vec3,
erlang:element(2, Vec),
erlang:element(3, Vec),
erlang:element(4, Vec)}.
-file("src/matrix/internal/projection.gleam", 21).
?DOC(false).
-spec extend2(vec@vec2:vec2(ILZ), ILZ) -> vec@vec3:vec3(ILZ).
extend2(Vec, Z) ->
{vec3, erlang:element(2, Vec), erlang:element(3, Vec), Z}.
-file("src/matrix/internal/projection.gleam", 25).
?DOC(false).
-spec extend3(vec@vec3:vec3(IMC), IMC) -> vec@vec4:vec4(IMC).
extend3(Vec, W) ->
{vec4,
erlang:element(2, Vec),
erlang:element(3, Vec),
erlang:element(4, Vec),
W}.