@@ -186,6 +186,28 @@ data class Mat4(override var value: MutableList<Vec4>) : Mat4x4t<Vec4>(value) {
186
186
Vec4 (mat4[2 ]), Vec4 (mat4[3 ]))
187
187
}
188
188
189
+ infix operator fun invoke (s : Float ) = invoke(s, s, s, s)
190
+ infix operator fun invoke (v : Vec3 ) = invoke(v.x, v.y, v.z, 1f )
191
+ infix operator fun invoke (v : Vec4 ) = invoke(v.x, v.y, v.z, v.w)
192
+
193
+ infix operator fun invoke (floats : FloatArray ) = invoke(floats[0 ], floats[1 ], floats[2 ], floats[3 ], floats[4 ], floats[5 ], floats[6 ],
194
+ floats[7 ], floats[8 ], floats[9 ], floats[10 ], floats[11 ], floats[12 ], floats[13 ], floats[14 ], floats[15 ])
195
+
196
+ operator fun invoke (x : Float , y : Float , z : Float , w : Float ) = invoke(
197
+ x, 0f , 0f , 0f ,
198
+ 0f , y, 0f , 0f ,
199
+ 0f , 0f , z, 0f ,
200
+ 0f , 0f , 0f , w)
201
+
202
+ inline fun invoke (a0 : Float , a1 : Float , a2 : Float , a3 : Float ,
203
+ b0 : Float , b1 : Float , b2 : Float , b3 : Float ,
204
+ c0 : Float , c1 : Float , c2 : Float , c3 : Float ,
205
+ d0 : Float , d1 : Float , d2 : Float , d3 : Float ): Mat4 {
206
+
207
+ put(a0, a1, a2, a3, b0, b1, b2, b3, c0, c1, c2, c3, d0, d1, d2, d3)
208
+ return this
209
+ }
210
+
189
211
infix fun put (s : Float ) = put(s, s, s, s)
190
212
infix fun put (v : Vec3 ) = put(v.x, v.y, v.z, 1f )
191
213
infix fun put (v : Vec4 ) = put(v.x, v.y, v.z, v.w)
@@ -202,7 +224,7 @@ data class Mat4(override var value: MutableList<Vec4>) : Mat4x4t<Vec4>(value) {
202
224
fun put (a0 : Float , a1 : Float , a2 : Float , a3 : Float ,
203
225
b0 : Float , b1 : Float , b2 : Float , b3 : Float ,
204
226
c0 : Float , c1 : Float , c2 : Float , c3 : Float ,
205
- d0 : Float , d1 : Float , d2 : Float , d3 : Float ): Mat4 {
227
+ d0 : Float , d1 : Float , d2 : Float , d3 : Float ) {
206
228
207
229
value[0 ][0 ] = a0
208
230
value[0 ][1 ] = a1
@@ -223,8 +245,6 @@ data class Mat4(override var value: MutableList<Vec4>) : Mat4x4t<Vec4>(value) {
223
245
value[3 ][1 ] = d1
224
246
value[3 ][2 ] = d2
225
247
value[3 ][3 ] = d3
226
-
227
- return this
228
248
}
229
249
230
250
// TODO others
0 commit comments