Initial commit for first version of project
This commit is contained in:
26
GasTankAR/Views/TankAR/Matrix+Array.swift
Normal file
26
GasTankAR/Views/TankAR/Matrix+Array.swift
Normal file
@ -0,0 +1,26 @@
|
||||
//
|
||||
// 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])
|
||||
)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user