// // Matrix+Array.swift // GasTankAR // // Created by Dennis Nemec on 26.08.26. // import simd extension simd_float4x4 { /// Spaltenweise Darstellung als 16 Floats (für die Persistenz). var floatArray: [Float] { [columns.0, columns.1, columns.2, columns.3].flatMap { [$0.x, $0.y, $0.z, $0.w] } } /// Rekonstruiert eine Matrix aus 16 spaltenweisen Floats. init?(floatArray array: [Float]) { guard array.count == 16 else { return nil } self.init( SIMD4(array[0], array[1], array[2], array[3]), SIMD4(array[4], array[5], array[6], array[7]), SIMD4(array[8], array[9], array[10], array[11]), SIMD4(array[12], array[13], array[14], array[15]) ) } }