( 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, )
| 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!; |
no outgoing calls
no test coverage detected