toDict method
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;
}