@tolokoban/tgd
Version:
ToloGameDev library for WebGL2
56 lines • 5.78 kB
JavaScript
import { TgdColor } from "./../color/index.js";
import { TgdVec2, TgdVec3, TgdVec4 } from "./../math/index.js";
export function ensureArray(items) {
if (items === undefined)
return [];
return Array.isArray(items) ? items : [items];
}
export function ensureTgdVec3(vec, defaultValue) {
if (typeof vec === "number")
return new TgdVec3(vec, vec, vec);
if (!vec)
return defaultValue ?? new TgdVec3(0, 0, 0);
if (vec instanceof TgdColor)
return new TgdVec3(vec.R, vec.G, vec.B);
if (vec instanceof TgdVec2)
return new TgdVec3(vec.x, vec.y, 0);
if (vec instanceof TgdVec3)
return vec;
if (vec instanceof TgdVec4)
return new TgdVec3(vec.x, vec.y, vec.z);
const [x, y, z] = vec;
return new TgdVec3(x ?? 0, y ?? 0, z ?? 0);
}
export function ensureTgdVec4(vec, defaultValue) {
if (typeof vec === "number")
return new TgdVec4(vec, vec, vec, vec);
if (!vec)
return defaultValue ?? new TgdVec4();
if (vec instanceof TgdColor)
return new TgdVec4(vec.R, vec.G, vec.B, vec.A);
if (vec instanceof TgdVec2)
return new TgdVec4(vec.x, vec.y, 0, 1);
if (vec instanceof TgdVec3)
return new TgdVec4(vec.x, vec.y, vec.z, 1);
if (vec instanceof TgdVec4)
return vec;
const [x, y, z, w] = vec;
return new TgdVec4(x ?? 0, y ?? 0, z ?? 0, w ?? 1);
}
export function ensureArrayNumber4(vec, defaultValue) {
if (typeof vec === "number")
return [vec, vec, vec, vec];
if (!vec)
return defaultValue ?? [0, 0, 0, 1];
if (vec instanceof TgdColor)
return [vec.R, vec.G, vec.B, vec.A];
if (vec instanceof TgdVec2)
return [vec.x, vec.y, 0, 1];
if (vec instanceof TgdVec3)
return [vec.x, vec.y, vec.z, 1];
if (vec instanceof TgdVec4)
return [vec.x, vec.y, vec.z, vec.w];
const [x, y, z, w] = vec;
return [x, y, z, w];
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW5zdXJlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWxzL2Vuc3VyZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sWUFBWSxDQUFBO0FBQ3JDLE9BQU8sRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFdBQVcsQ0FBQTtBQUdyRCxNQUFNLFVBQVUsV0FBVyxDQUFJLEtBQTBCO0lBQ3JELElBQUksS0FBSyxLQUFLLFNBQVM7UUFBRSxPQUFPLEVBQUUsQ0FBQTtJQUNsQyxPQUFPLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQTtBQUNqRCxDQUFDO0FBRUQsTUFBTSxVQUFVLGFBQWEsQ0FDekIsR0FBdUUsRUFDdkUsWUFBc0I7SUFFdEIsSUFBSSxPQUFPLEdBQUcsS0FBSyxRQUFRO1FBQUUsT0FBTyxJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFBO0lBQzlELElBQUksQ0FBQyxHQUFHO1FBQUUsT0FBTyxZQUFZLElBQUksSUFBSSxPQUFPLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQTtJQUNyRCxJQUFJLEdBQUcsWUFBWSxRQUFRO1FBQUUsT0FBTyxJQUFJLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFBO0lBQ3BFLElBQUksR0FBRyxZQUFZLE9BQU87UUFBRSxPQUFPLElBQUksT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQTtJQUMvRCxJQUFJLEdBQUcsWUFBWSxPQUFPO1FBQUUsT0FBTyxHQUFHLENBQUE7SUFDdEMsSUFB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