MCPcopy Create free account
hub / github.com/melonjs/melonJS / transform

Method transform

packages/melonjs/src/math/matrix3d.ts:295–397  ·  view source on GitHub ↗
(
		b00: number,
		b01: number,
		b02: number,
		b03: number,
		b10: number,
		b11: number,
		b12?: number,
		b13?: number,
		b20?: number,
		b21?: number,
		b22?: number,
		b23?: number,
		b30?: number,
		b31?: number,
		b32?: number,
		b33?: number,
	)

Source from the content-addressed store, hash-verified

293 b33: number,
294 ): this;
295 transform(
296 b00: number,
297 b01: number,
298 b02: number,
299 b03: number,
300 b10: number,
301 b11: number,
302 b12?: number,
303 b13?: number,
304 b20?: number,
305 b21?: number,
306 b22?: number,
307 b23?: number,
308 b30?: number,
309 b31?: number,
310 b32?: number,
311 b33?: number,
312 ) {
313 // resolve all 16 components (promote 2D affine if only 6 args)
314 const argc = arguments.length;
315 if (argc !== 6 && argc !== 16) {
316 throw new Error(`transform() requires 6 or 16 arguments, got ${argc}`);
317 }
318 let c0: number, c1: number, c2: number, c3: number;
319 let c4: number, c5: number, c6: number, c7: number;
320 let c8: number, c9: number, c10: number, c11: number;
321 let c12: number, c13: number, c14: number, c15: number;
322 if (argc === 6) {
323 // 2D affine (a, b, c, d, tx, ty) → 4x4
324 c0 = b00;
325 c1 = b01;
326 c2 = 0;
327 c3 = 0;
328 c4 = b02;
329 c5 = b03;
330 c6 = 0;
331 c7 = 0;
332 c8 = 0;
333 c9 = 0;
334 c10 = 1;
335 c11 = 0;
336 c12 = b10;
337 c13 = b11;
338 c14 = 0;
339 c15 = 1;
340 } else {
341 c0 = b00;
342 c1 = b01;
343 c2 = b02;
344 c3 = b03;
345 c4 = b10;
346 c5 = b11;
347 c6 = b12!;
348 c7 = b13!;
349 c8 = b20!;
350 c9 = b21!;
351 c10 = b22!;
352 c11 = b23!;

Callers 15

drawRegionMethod · 0.45
drawTriangleMethod · 0.45
brightnessMethod · 0.45
contrastMethod · 0.45
saturateMethod · 0.45
hueRotateMethod · 0.45
sepiaMethod · 0.45
invertColorsMethod · 0.45
drawTileMethod · 0.45
drawTileRawMethod · 0.45
mat2d.spec.tsFile · 0.45
polygon.spec.jsFile · 0.45

Calls

no outgoing calls

Tested by

no test coverage detected