parseGeometries method
dynamic
parseGeometries(
- dynamic json,
- dynamic shapes
Implementation
parseGeometries(json, shapes) {
final geometries = {};
if (json != null) {
final bufferGeometryLoader = BufferGeometryLoader();
for (int i = 0, l = json.length; i < l; i++) {
late BufferGeometry geometry;
Map<String, dynamic> data = json[i];
switch (data["type"]) {
case 'BufferGeometry':
case 'InstancedBufferGeometry':
geometry = bufferGeometryLoader.parseJson(data);
break;
case 'Geometry':
console.error('ObjectLoader: The legacy Geometry type is no longer supported.');
break;
default:
if (data["type"] == "PlaneGeometry") {
geometry = PlaneGeometry.fromJson(data);
} else if (data["type"] == "BoxGeometry") {
geometry = BoxGeometry.fromJson(data);
} else if (data["type"] == "CylinderGeometry") {
geometry = CylinderGeometry.fromJson(data);
} else if (data["type"] == "SphereGeometry") {
geometry = SphereGeometry.fromJson(data);
} else {
throw ("THREE.ObjectLoader: Unsupported geometry type ${data["type"]}");
}
}
geometry.uuid = data["uuid"];
if (data["name"] != null) geometry.name = data["name"];
if (data["userData"] != null) {
geometry.userData = data["userData"];
}
geometries[data["uuid"]] = geometry;
}
}
return geometries;
}