decode static method

NapaMatrix4? decode(
  1. dynamic data
)

Implementation

static NapaMatrix4? decode(dynamic data) {
  if (data == null) {
    return null;
  }

  switch (data['type']) {
    case 'rotationX':
      return NapaMatrix4.rotationX(data['radians']);
    case 'rotationY':
      return NapaMatrix4.rotationY(data['radians']);
    case 'rotationZ':
      return NapaMatrix4.rotationZ(data['radians']);
    case 'scale':
      return NapaMatrix4.scale(data['x'], data['y'], data['z']);
    case 'translation':
      return NapaMatrix4.translation(data['x'], data['y'], data['z']);
    case 'skew':
      return NapaMatrix4.skew(data['alpha'], data['beta']);
    case 'identity':
    default:
      return NapaMatrix4.identity();
  }
}