Matrix4
имеет геттер storage
, который возвращает список из 16 двойников. Он также имеет именованные конструкторы (.fromList
и .fromFloat64List
), а также обычный конструктор (который принимает 16 отдельных двойных чисел), который создаст Matrix4
обратно из его составных частей.
В зависимости от того, как вы хотите хранить данные в SQLite, вы можете использовать их комбинацию. Если вы хотите сохранить все 16 двойных как столбцы в базе данных, используйте storage[0], storage[1], ...
в качестве значений столбцов. Возможно, вы также захотите сохранить разделенную символами строку из 16 значений. Вы можете напечатать добавить все 16 значений с помощью List.join(' ')
и проанализировать их обратно с помощью String.split(' ')
.
Наиболее эффективный способ (но наименее понятный для человека), вероятно, заключается в том, чтобы хранить его как BLOB-объект размером 128 байт. Используйте matrix.storage.buffer.asUint8List()
для преобразования matrix
в байты и используйте Matrix4.fromBuffer(bytes.buffer, 0)
для построения матрицы из Uint8List
, называемой bytes
.