MCPcopy Create free account
hub / github.com/CNCKitchen/stlTexturizer / loadOBJFile

Function loadOBJFile

js/stlLoader.js:194–216  ·  view source on GitHub ↗
(file)

Source from the content-addressed store, hash-verified

192 return area;
193}
194
195/**
196 * Load an OBJ from a File object.
197 * Returns { geometry, bounds }.
198 */
199export function loadOBJFile(file) {
200 if (file.size > MAX_FILE_SIZE) {
201 return Promise.reject(new Error(
202 'File too large (' + Math.round(file.size / 1024 / 1024) + ' MB). Maximum supported: ' + (MAX_FILE_SIZE / 1024 / 1024) + ' MB.'
203 ));
204 }
205 return new Promise((resolve, reject) => {
206 const reader = new FileReader();
207 reader.onload = (e) => {
208 try {
209 const group = objLoader.parse(e.target.result);
210 const geometry = mergeGroupGeometries(group);
211 const { nanCount, degenerateCount, originOffset } = setupGeometry(geometry);
212 const bounds = computeBounds(geometry);
213 resolve({ geometry, bounds, nanCount, degenerateCount, originOffset });
214 } catch (err) {
215 reject(err);
216 }
217 };
218 reader.onerror = () => reject(new Error('Could not read file'));
219 reader.readAsText(file);

Callers 1

loadModelFileFunction · 0.85

Calls 3

mergeGroupGeometriesFunction · 0.85
setupGeometryFunction · 0.85
computeBoundsFunction · 0.85

Tested by

no test coverage detected