toDict method

Map<String, dynamic> toDict()

Convert the object to a dictionary.

Implementation

Map<String, dynamic> toDict() {
  Map<String, dynamic> d = {};
  d['class_name'] = className;
  d['version'] = version;
  List<Map<String, dynamic>> v = [];
  for (var i in vertices) {
    v.add(i.toDict());
  }
  d['vertices'] = v;
  List<Map<String, dynamic>> frgs = [];
  for (var i in fragments) {
    frgs.add(i.toDict());
  }
  d['fragments'] = frgs;
  List<Map<String, dynamic>> mtrs = [];
  for (var i in materials) {
    mtrs.add(i.toDict());
  }
  d['materials'] = mtrs;
  if ((double.tryParse(version) ?? 0) >= 9) {
    List<String> imgs = [];
    for (Uint8List i in images) {
      imgs.add(base64.encode(List<int>.from(i)));
    }
    d['images'] = imgs;
  } else {
    List<List<int>> imgs = [];
    for (Uint8List i in images) {
      imgs.add(List<int>.from(i));
    }
    d['images'] = imgs;
  }
  d['id'] = id;
  d['name'] = name;
  d['author'] = author;
  d['physics'] = physics != null ? physics!.toDict() : null;
  d['option'] = option;
  d['layer_num'] = layerNum;
  d['draw_mode'] = drawMode.name;
  return d;
}