@loaders.gl/obj
Advanced tools
Comparing version 3.4.14 to 3.4.15
"use strict"; | ||
var moduleExports = require('./index'); | ||
const moduleExports = require('./index'); | ||
globalThis.loaders = globalThis.loaders || {}; | ||
module.exports = Object.assign(globalThis.loaders, moduleExports); | ||
//# sourceMappingURL=bundle.js.map |
"use strict"; | ||
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); | ||
Object.defineProperty(exports, "__esModule", { | ||
@@ -10,3 +9,3 @@ value: true | ||
enumerable: true, | ||
get: function get() { | ||
get: function () { | ||
return _objLoader.OBJLoader; | ||
@@ -16,5 +15,2 @@ } | ||
exports._typecheckOBJLoader = exports._typecheckMTLLoader = void 0; | ||
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator")); | ||
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator")); | ||
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty")); | ||
var _parseObj = require("./lib/parse-obj"); | ||
@@ -24,54 +20,18 @@ var _parseMtl = require("./lib/parse-mtl"); | ||
var _mtlLoader = require("./mtl-loader"); | ||
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; } | ||
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; } | ||
var OBJLoader = _objectSpread(_objectSpread({}, _objLoader.OBJLoader), {}, { | ||
parse: function () { | ||
var _parse = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee(arrayBuffer, options) { | ||
return _regenerator.default.wrap(function _callee$(_context) { | ||
while (1) switch (_context.prev = _context.next) { | ||
case 0: | ||
return _context.abrupt("return", (0, _parseObj.parseOBJ)(new TextDecoder().decode(arrayBuffer), options)); | ||
case 1: | ||
case "end": | ||
return _context.stop(); | ||
} | ||
}, _callee); | ||
})); | ||
function parse(_x, _x2) { | ||
return _parse.apply(this, arguments); | ||
} | ||
return parse; | ||
}(), | ||
parseTextSync: function parseTextSync(text, options) { | ||
return (0, _parseObj.parseOBJ)(text, options); | ||
} | ||
}); | ||
const OBJLoader = { | ||
..._objLoader.OBJLoader, | ||
parse: async (arrayBuffer, options) => (0, _parseObj.parseOBJ)(new TextDecoder().decode(arrayBuffer), options), | ||
parseTextSync: (text, options) => (0, _parseObj.parseOBJ)(text, options) | ||
}; | ||
exports.OBJLoader = OBJLoader; | ||
var MTLLoader = _objectSpread(_objectSpread({}, _mtlLoader.MTLLoader), {}, { | ||
parse: function () { | ||
var _parse2 = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee2(arrayBuffer, options) { | ||
return _regenerator.default.wrap(function _callee2$(_context2) { | ||
while (1) switch (_context2.prev = _context2.next) { | ||
case 0: | ||
return _context2.abrupt("return", (0, _parseMtl.parseMTL)(new TextDecoder().decode(arrayBuffer), options === null || options === void 0 ? void 0 : options.mtl)); | ||
case 1: | ||
case "end": | ||
return _context2.stop(); | ||
} | ||
}, _callee2); | ||
})); | ||
function parse(_x3, _x4) { | ||
return _parse2.apply(this, arguments); | ||
} | ||
return parse; | ||
}(), | ||
parseTextSync: function parseTextSync(text, options) { | ||
return (0, _parseMtl.parseMTL)(text, options === null || options === void 0 ? void 0 : options.mtl); | ||
} | ||
}); | ||
const MTLLoader = { | ||
..._mtlLoader.MTLLoader, | ||
parse: async (arrayBuffer, options) => (0, _parseMtl.parseMTL)(new TextDecoder().decode(arrayBuffer), options === null || options === void 0 ? void 0 : options.mtl), | ||
parseTextSync: (text, options) => (0, _parseMtl.parseMTL)(text, options === null || options === void 0 ? void 0 : options.mtl) | ||
}; | ||
exports.MTLLoader = MTLLoader; | ||
var _typecheckOBJLoader = OBJLoader; | ||
const _typecheckOBJLoader = OBJLoader; | ||
exports._typecheckOBJLoader = _typecheckOBJLoader; | ||
var _typecheckMTLLoader = MTLLoader; | ||
const _typecheckMTLLoader = MTLLoader; | ||
exports._typecheckMTLLoader = _typecheckMTLLoader; | ||
//# sourceMappingURL=index.js.map |
@@ -9,5 +9,5 @@ "use strict"; | ||
function getOBJSchema(attributes) { | ||
var metadata = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; | ||
var metadataMap; | ||
for (var key in metadata) { | ||
let metadata = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; | ||
let metadataMap; | ||
for (const key in metadata) { | ||
metadataMap = metadataMap || new Map(); | ||
@@ -18,6 +18,6 @@ if (key !== 'value') { | ||
} | ||
var fields = []; | ||
for (var attributeName in attributes) { | ||
var attribute = attributes[attributeName]; | ||
var field = getArrowFieldFromAttribute(attributeName, attribute); | ||
const fields = []; | ||
for (const attributeName in attributes) { | ||
const attribute = attributes[attributeName]; | ||
const field = getArrowFieldFromAttribute(attributeName, attribute); | ||
fields.push(field); | ||
@@ -28,4 +28,4 @@ } | ||
function getArrowFieldFromAttribute(attributeName, attribute) { | ||
var metadataMap = new Map(); | ||
for (var key in attribute) { | ||
const metadataMap = new Map(); | ||
for (const key in attribute) { | ||
if (key !== 'value') { | ||
@@ -35,6 +35,6 @@ metadataMap.set(key, JSON.stringify(attribute[key])); | ||
} | ||
var type = (0, _schema.getArrowTypeFromTypedArray)(attribute.value); | ||
var isSingleValue = !('size' in attribute) || attribute.size === 1; | ||
const type = (0, _schema.getArrowTypeFromTypedArray)(attribute.value); | ||
const isSingleValue = !('size' in attribute) || attribute.size === 1; | ||
return isSingleValue ? new _schema.Field(attributeName, type, false, metadataMap) : new _schema.Field(attributeName, new _schema.FixedSizeList(attribute.size, new _schema.Field('value', type)), false, metadataMap); | ||
} | ||
//# sourceMappingURL=get-obj-schema.js.map |
@@ -7,73 +7,61 @@ "use strict"; | ||
exports.parseMTL = parseMTL; | ||
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; } | ||
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } | ||
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; } | ||
var DELIMITER_PATTERN = /\s+/; | ||
const DELIMITER_PATTERN = /\s+/; | ||
function parseMTL(text, options) { | ||
var materials = []; | ||
var currentMaterial = { | ||
const materials = []; | ||
let currentMaterial = { | ||
name: 'placeholder' | ||
}; | ||
var lines = text.split('\n'); | ||
var _iterator = _createForOfIteratorHelper(lines), | ||
_step; | ||
try { | ||
for (_iterator.s(); !(_step = _iterator.n()).done;) { | ||
var line = _step.value; | ||
line = line.trim(); | ||
if (line.length === 0 || line.charAt(0) === '#') { | ||
continue; | ||
} | ||
var pos = line.indexOf(' '); | ||
var key = pos >= 0 ? line.substring(0, pos) : line; | ||
key = key.toLowerCase(); | ||
var value = pos >= 0 ? line.substring(pos + 1) : ''; | ||
value = value.trim(); | ||
switch (key) { | ||
case 'newmtl': | ||
currentMaterial = { | ||
name: value | ||
}; | ||
materials.push(currentMaterial); | ||
break; | ||
case 'ka': | ||
currentMaterial.ambientColor = parseColor(value); | ||
break; | ||
case 'kd': | ||
currentMaterial.diffuseColor = parseColor(value); | ||
break; | ||
case 'map_kd': | ||
currentMaterial.diffuseTextureUrl = value; | ||
break; | ||
case 'ks': | ||
currentMaterial.specularColor = parseColor(value); | ||
break; | ||
case 'map_ks': | ||
currentMaterial.specularTextureUrl = value; | ||
break; | ||
case 'ke': | ||
currentMaterial.emissiveColor = parseColor(value); | ||
break; | ||
case 'map_ke': | ||
currentMaterial.emissiveTextureUrl = value; | ||
break; | ||
case 'ns': | ||
currentMaterial.shininess = parseFloat(value); | ||
break; | ||
case 'map_ns': | ||
break; | ||
case 'ni': | ||
currentMaterial.refraction = parseFloat(value); | ||
break; | ||
case 'illum': | ||
currentMaterial.illumination = parseFloat(value); | ||
break; | ||
default: | ||
break; | ||
} | ||
const lines = text.split('\n'); | ||
for (let line of lines) { | ||
line = line.trim(); | ||
if (line.length === 0 || line.charAt(0) === '#') { | ||
continue; | ||
} | ||
} catch (err) { | ||
_iterator.e(err); | ||
} finally { | ||
_iterator.f(); | ||
const pos = line.indexOf(' '); | ||
let key = pos >= 0 ? line.substring(0, pos) : line; | ||
key = key.toLowerCase(); | ||
let value = pos >= 0 ? line.substring(pos + 1) : ''; | ||
value = value.trim(); | ||
switch (key) { | ||
case 'newmtl': | ||
currentMaterial = { | ||
name: value | ||
}; | ||
materials.push(currentMaterial); | ||
break; | ||
case 'ka': | ||
currentMaterial.ambientColor = parseColor(value); | ||
break; | ||
case 'kd': | ||
currentMaterial.diffuseColor = parseColor(value); | ||
break; | ||
case 'map_kd': | ||
currentMaterial.diffuseTextureUrl = value; | ||
break; | ||
case 'ks': | ||
currentMaterial.specularColor = parseColor(value); | ||
break; | ||
case 'map_ks': | ||
currentMaterial.specularTextureUrl = value; | ||
break; | ||
case 'ke': | ||
currentMaterial.emissiveColor = parseColor(value); | ||
break; | ||
case 'map_ke': | ||
currentMaterial.emissiveTextureUrl = value; | ||
break; | ||
case 'ns': | ||
currentMaterial.shininess = parseFloat(value); | ||
break; | ||
case 'map_ns': | ||
break; | ||
case 'ni': | ||
currentMaterial.refraction = parseFloat(value); | ||
break; | ||
case 'illum': | ||
currentMaterial.illumination = parseFloat(value); | ||
break; | ||
default: | ||
break; | ||
} | ||
} | ||
@@ -83,6 +71,6 @@ return materials; | ||
function parseColor(value, options) { | ||
var rgb = value.split(DELIMITER_PATTERN, 3); | ||
var color = [parseFloat(rgb[0]), parseFloat(rgb[1]), parseFloat(rgb[2])]; | ||
const rgb = value.split(DELIMITER_PATTERN, 3); | ||
const color = [parseFloat(rgb[0]), parseFloat(rgb[1]), parseFloat(rgb[2])]; | ||
return color; | ||
} | ||
//# sourceMappingURL=parse-mtl.js.map |
"use strict"; | ||
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); | ||
Object.defineProperty(exports, "__esModule", { | ||
@@ -8,19 +7,14 @@ value: true | ||
exports.parseOBJMeshes = parseOBJMeshes; | ||
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck")); | ||
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass")); | ||
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; } | ||
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } | ||
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; } | ||
var OBJECT_RE = /^[og]\s*(.+)?/; | ||
var MATERIAL_RE = /^mtllib /; | ||
var MATERIAL_USE_RE = /^usemtl /; | ||
var MeshMaterial = function () { | ||
function MeshMaterial(_ref) { | ||
var index = _ref.index, | ||
_ref$name = _ref.name, | ||
name = _ref$name === void 0 ? '' : _ref$name, | ||
mtllib = _ref.mtllib, | ||
smooth = _ref.smooth, | ||
groupStart = _ref.groupStart; | ||
(0, _classCallCheck2.default)(this, MeshMaterial); | ||
const OBJECT_RE = /^[og]\s*(.+)?/; | ||
const MATERIAL_RE = /^mtllib /; | ||
const MATERIAL_USE_RE = /^usemtl /; | ||
class MeshMaterial { | ||
constructor(_ref) { | ||
let { | ||
index, | ||
name = '', | ||
mtllib, | ||
smooth, | ||
groupStart | ||
} = _ref; | ||
this.index = index; | ||
@@ -35,21 +29,16 @@ this.name = name; | ||
} | ||
(0, _createClass2.default)(MeshMaterial, [{ | ||
key: "clone", | ||
value: function clone() { | ||
var index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.index; | ||
return new MeshMaterial({ | ||
index: index, | ||
name: this.name, | ||
mtllib: this.mtllib, | ||
smooth: this.smooth, | ||
groupStart: 0 | ||
}); | ||
} | ||
}]); | ||
return MeshMaterial; | ||
}(); | ||
var MeshObject = function () { | ||
function MeshObject() { | ||
var name = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ''; | ||
(0, _classCallCheck2.default)(this, MeshObject); | ||
clone() { | ||
let index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.index; | ||
return new MeshMaterial({ | ||
index, | ||
name: this.name, | ||
mtllib: this.mtllib, | ||
smooth: this.smooth, | ||
groupStart: 0 | ||
}); | ||
} | ||
} | ||
class MeshObject { | ||
constructor() { | ||
let name = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ''; | ||
this.name = name; | ||
@@ -66,57 +55,48 @@ this.geometry = { | ||
} | ||
(0, _createClass2.default)(MeshObject, [{ | ||
key: "startMaterial", | ||
value: function startMaterial(name, libraries) { | ||
var previous = this._finalize(false); | ||
if (previous && (previous.inherited || previous.groupCount <= 0)) { | ||
this.materials.splice(previous.index, 1); | ||
} | ||
var material = new MeshMaterial({ | ||
index: this.materials.length, | ||
name: name, | ||
mtllib: Array.isArray(libraries) && libraries.length > 0 ? libraries[libraries.length - 1] : '', | ||
smooth: previous !== undefined ? previous.smooth : this.smooth, | ||
groupStart: previous !== undefined ? previous.groupEnd : 0 | ||
}); | ||
this.materials.push(material); | ||
return material; | ||
startMaterial(name, libraries) { | ||
const previous = this._finalize(false); | ||
if (previous && (previous.inherited || previous.groupCount <= 0)) { | ||
this.materials.splice(previous.index, 1); | ||
} | ||
}, { | ||
key: "currentMaterial", | ||
value: function currentMaterial() { | ||
if (this.materials.length > 0) { | ||
return this.materials[this.materials.length - 1]; | ||
} | ||
return undefined; | ||
const material = new MeshMaterial({ | ||
index: this.materials.length, | ||
name, | ||
mtllib: Array.isArray(libraries) && libraries.length > 0 ? libraries[libraries.length - 1] : '', | ||
smooth: previous !== undefined ? previous.smooth : this.smooth, | ||
groupStart: previous !== undefined ? previous.groupEnd : 0 | ||
}); | ||
this.materials.push(material); | ||
return material; | ||
} | ||
currentMaterial() { | ||
if (this.materials.length > 0) { | ||
return this.materials[this.materials.length - 1]; | ||
} | ||
}, { | ||
key: "_finalize", | ||
value: function _finalize(end) { | ||
var lastMultiMaterial = this.currentMaterial(); | ||
if (lastMultiMaterial && lastMultiMaterial.groupEnd === -1) { | ||
lastMultiMaterial.groupEnd = this.geometry.vertices.length / 3; | ||
lastMultiMaterial.groupCount = lastMultiMaterial.groupEnd - lastMultiMaterial.groupStart; | ||
lastMultiMaterial.inherited = false; | ||
} | ||
if (end && this.materials.length > 1) { | ||
for (var mi = this.materials.length - 1; mi >= 0; mi--) { | ||
if (this.materials[mi].groupCount <= 0) { | ||
this.materials.splice(mi, 1); | ||
} | ||
return undefined; | ||
} | ||
_finalize(end) { | ||
const lastMultiMaterial = this.currentMaterial(); | ||
if (lastMultiMaterial && lastMultiMaterial.groupEnd === -1) { | ||
lastMultiMaterial.groupEnd = this.geometry.vertices.length / 3; | ||
lastMultiMaterial.groupCount = lastMultiMaterial.groupEnd - lastMultiMaterial.groupStart; | ||
lastMultiMaterial.inherited = false; | ||
} | ||
if (end && this.materials.length > 1) { | ||
for (let mi = this.materials.length - 1; mi >= 0; mi--) { | ||
if (this.materials[mi].groupCount <= 0) { | ||
this.materials.splice(mi, 1); | ||
} | ||
} | ||
if (end && this.materials.length === 0) { | ||
this.materials.push({ | ||
name: '', | ||
smooth: this.smooth | ||
}); | ||
} | ||
return lastMultiMaterial; | ||
} | ||
}]); | ||
return MeshObject; | ||
}(); | ||
var ParserState = function () { | ||
function ParserState() { | ||
(0, _classCallCheck2.default)(this, ParserState); | ||
if (end && this.materials.length === 0) { | ||
this.materials.push({ | ||
name: '', | ||
smooth: this.smooth | ||
}); | ||
} | ||
return lastMultiMaterial; | ||
} | ||
} | ||
class ParserState { | ||
constructor() { | ||
this.objects = []; | ||
@@ -131,186 +111,127 @@ this.object = null; | ||
} | ||
(0, _createClass2.default)(ParserState, [{ | ||
key: "startObject", | ||
value: function startObject(name) { | ||
var fromDeclaration = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true; | ||
if (this.object && !this.object.fromDeclaration) { | ||
this.object.name = name; | ||
this.object.fromDeclaration = fromDeclaration; | ||
return; | ||
} | ||
var previousMaterial = this.object && typeof this.object.currentMaterial === 'function' ? this.object.currentMaterial() : undefined; | ||
if (this.object && typeof this.object._finalize === 'function') { | ||
this.object._finalize(true); | ||
} | ||
this.object = new MeshObject(name); | ||
startObject(name) { | ||
let fromDeclaration = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true; | ||
if (this.object && !this.object.fromDeclaration) { | ||
this.object.name = name; | ||
this.object.fromDeclaration = fromDeclaration; | ||
if (previousMaterial && previousMaterial.name && typeof previousMaterial.clone === 'function') { | ||
var declared = previousMaterial.clone(0); | ||
declared.inherited = true; | ||
this.object.materials.push(declared); | ||
} | ||
this.objects.push(this.object); | ||
return; | ||
} | ||
}, { | ||
key: "finalize", | ||
value: function finalize() { | ||
if (this.object && typeof this.object._finalize === 'function') { | ||
this.object._finalize(true); | ||
} | ||
const previousMaterial = this.object && typeof this.object.currentMaterial === 'function' ? this.object.currentMaterial() : undefined; | ||
if (this.object && typeof this.object._finalize === 'function') { | ||
this.object._finalize(true); | ||
} | ||
}, { | ||
key: "parseVertexIndex", | ||
value: function parseVertexIndex(value, len) { | ||
var index = parseInt(value); | ||
return (index >= 0 ? index - 1 : index + len / 3) * 3; | ||
this.object = new MeshObject(name); | ||
this.object.fromDeclaration = fromDeclaration; | ||
if (previousMaterial && previousMaterial.name && typeof previousMaterial.clone === 'function') { | ||
const declared = previousMaterial.clone(0); | ||
declared.inherited = true; | ||
this.object.materials.push(declared); | ||
} | ||
}, { | ||
key: "parseNormalIndex", | ||
value: function parseNormalIndex(value, len) { | ||
var index = parseInt(value); | ||
return (index >= 0 ? index - 1 : index + len / 3) * 3; | ||
this.objects.push(this.object); | ||
} | ||
finalize() { | ||
if (this.object && typeof this.object._finalize === 'function') { | ||
this.object._finalize(true); | ||
} | ||
}, { | ||
key: "parseUVIndex", | ||
value: function parseUVIndex(value, len) { | ||
var index = parseInt(value); | ||
return (index >= 0 ? index - 1 : index + len / 2) * 2; | ||
} | ||
parseVertexIndex(value, len) { | ||
const index = parseInt(value); | ||
return (index >= 0 ? index - 1 : index + len / 3) * 3; | ||
} | ||
parseNormalIndex(value, len) { | ||
const index = parseInt(value); | ||
return (index >= 0 ? index - 1 : index + len / 3) * 3; | ||
} | ||
parseUVIndex(value, len) { | ||
const index = parseInt(value); | ||
return (index >= 0 ? index - 1 : index + len / 2) * 2; | ||
} | ||
addVertex(a, b, c) { | ||
const src = this.vertices; | ||
const dst = this.object.geometry.vertices; | ||
dst.push(src[a + 0], src[a + 1], src[a + 2]); | ||
dst.push(src[b + 0], src[b + 1], src[b + 2]); | ||
dst.push(src[c + 0], src[c + 1], src[c + 2]); | ||
} | ||
addVertexPoint(a) { | ||
const src = this.vertices; | ||
const dst = this.object.geometry.vertices; | ||
dst.push(src[a + 0], src[a + 1], src[a + 2]); | ||
} | ||
addVertexLine(a) { | ||
const src = this.vertices; | ||
const dst = this.object.geometry.vertices; | ||
dst.push(src[a + 0], src[a + 1], src[a + 2]); | ||
} | ||
addNormal(a, b, c) { | ||
const src = this.normals; | ||
const dst = this.object.geometry.normals; | ||
dst.push(src[a + 0], src[a + 1], src[a + 2]); | ||
dst.push(src[b + 0], src[b + 1], src[b + 2]); | ||
dst.push(src[c + 0], src[c + 1], src[c + 2]); | ||
} | ||
addColor(a, b, c) { | ||
const src = this.colors; | ||
const dst = this.object.geometry.colors; | ||
dst.push(src[a + 0], src[a + 1], src[a + 2]); | ||
dst.push(src[b + 0], src[b + 1], src[b + 2]); | ||
dst.push(src[c + 0], src[c + 1], src[c + 2]); | ||
} | ||
addUV(a, b, c) { | ||
const src = this.uvs; | ||
const dst = this.object.geometry.uvs; | ||
dst.push(src[a + 0], src[a + 1]); | ||
dst.push(src[b + 0], src[b + 1]); | ||
dst.push(src[c + 0], src[c + 1]); | ||
} | ||
addUVLine(a) { | ||
const src = this.uvs; | ||
const dst = this.object.geometry.uvs; | ||
dst.push(src[a + 0], src[a + 1]); | ||
} | ||
addFace(a, b, c, ua, ub, uc, na, nb, nc) { | ||
const vLen = this.vertices.length; | ||
let ia = this.parseVertexIndex(a, vLen); | ||
let ib = this.parseVertexIndex(b, vLen); | ||
let ic = this.parseVertexIndex(c, vLen); | ||
this.addVertex(ia, ib, ic); | ||
if (ua !== undefined && ua !== '') { | ||
const uvLen = this.uvs.length; | ||
ia = this.parseUVIndex(ua, uvLen); | ||
ib = this.parseUVIndex(ub, uvLen); | ||
ic = this.parseUVIndex(uc, uvLen); | ||
this.addUV(ia, ib, ic); | ||
} | ||
}, { | ||
key: "addVertex", | ||
value: function addVertex(a, b, c) { | ||
var src = this.vertices; | ||
var dst = this.object.geometry.vertices; | ||
dst.push(src[a + 0], src[a + 1], src[a + 2]); | ||
dst.push(src[b + 0], src[b + 1], src[b + 2]); | ||
dst.push(src[c + 0], src[c + 1], src[c + 2]); | ||
if (na !== undefined && na !== '') { | ||
const nLen = this.normals.length; | ||
ia = this.parseNormalIndex(na, nLen); | ||
ib = na === nb ? ia : this.parseNormalIndex(nb, nLen); | ||
ic = na === nc ? ia : this.parseNormalIndex(nc, nLen); | ||
this.addNormal(ia, ib, ic); | ||
} | ||
}, { | ||
key: "addVertexPoint", | ||
value: function addVertexPoint(a) { | ||
var src = this.vertices; | ||
var dst = this.object.geometry.vertices; | ||
dst.push(src[a + 0], src[a + 1], src[a + 2]); | ||
if (this.colors.length > 0) { | ||
this.addColor(ia, ib, ic); | ||
} | ||
}, { | ||
key: "addVertexLine", | ||
value: function addVertexLine(a) { | ||
var src = this.vertices; | ||
var dst = this.object.geometry.vertices; | ||
dst.push(src[a + 0], src[a + 1], src[a + 2]); | ||
} | ||
addPointGeometry(vertices) { | ||
this.object.geometry.type = 'Points'; | ||
const vLen = this.vertices.length; | ||
for (const vertex of vertices) { | ||
this.addVertexPoint(this.parseVertexIndex(vertex, vLen)); | ||
} | ||
}, { | ||
key: "addNormal", | ||
value: function addNormal(a, b, c) { | ||
var src = this.normals; | ||
var dst = this.object.geometry.normals; | ||
dst.push(src[a + 0], src[a + 1], src[a + 2]); | ||
dst.push(src[b + 0], src[b + 1], src[b + 2]); | ||
dst.push(src[c + 0], src[c + 1], src[c + 2]); | ||
} | ||
addLineGeometry(vertices, uvs) { | ||
this.object.geometry.type = 'Line'; | ||
const vLen = this.vertices.length; | ||
const uvLen = this.uvs.length; | ||
for (const vertex of vertices) { | ||
this.addVertexLine(this.parseVertexIndex(vertex, vLen)); | ||
} | ||
}, { | ||
key: "addColor", | ||
value: function addColor(a, b, c) { | ||
var src = this.colors; | ||
var dst = this.object.geometry.colors; | ||
dst.push(src[a + 0], src[a + 1], src[a + 2]); | ||
dst.push(src[b + 0], src[b + 1], src[b + 2]); | ||
dst.push(src[c + 0], src[c + 1], src[c + 2]); | ||
for (const uv of uvs) { | ||
this.addUVLine(this.parseUVIndex(uv, uvLen)); | ||
} | ||
}, { | ||
key: "addUV", | ||
value: function addUV(a, b, c) { | ||
var src = this.uvs; | ||
var dst = this.object.geometry.uvs; | ||
dst.push(src[a + 0], src[a + 1]); | ||
dst.push(src[b + 0], src[b + 1]); | ||
dst.push(src[c + 0], src[c + 1]); | ||
} | ||
}, { | ||
key: "addUVLine", | ||
value: function addUVLine(a) { | ||
var src = this.uvs; | ||
var dst = this.object.geometry.uvs; | ||
dst.push(src[a + 0], src[a + 1]); | ||
} | ||
}, { | ||
key: "addFace", | ||
value: function addFace(a, b, c, ua, ub, uc, na, nb, nc) { | ||
var vLen = this.vertices.length; | ||
var ia = this.parseVertexIndex(a, vLen); | ||
var ib = this.parseVertexIndex(b, vLen); | ||
var ic = this.parseVertexIndex(c, vLen); | ||
this.addVertex(ia, ib, ic); | ||
if (ua !== undefined && ua !== '') { | ||
var uvLen = this.uvs.length; | ||
ia = this.parseUVIndex(ua, uvLen); | ||
ib = this.parseUVIndex(ub, uvLen); | ||
ic = this.parseUVIndex(uc, uvLen); | ||
this.addUV(ia, ib, ic); | ||
} | ||
if (na !== undefined && na !== '') { | ||
var nLen = this.normals.length; | ||
ia = this.parseNormalIndex(na, nLen); | ||
ib = na === nb ? ia : this.parseNormalIndex(nb, nLen); | ||
ic = na === nc ? ia : this.parseNormalIndex(nc, nLen); | ||
this.addNormal(ia, ib, ic); | ||
} | ||
if (this.colors.length > 0) { | ||
this.addColor(ia, ib, ic); | ||
} | ||
} | ||
}, { | ||
key: "addPointGeometry", | ||
value: function addPointGeometry(vertices) { | ||
this.object.geometry.type = 'Points'; | ||
var vLen = this.vertices.length; | ||
var _iterator = _createForOfIteratorHelper(vertices), | ||
_step; | ||
try { | ||
for (_iterator.s(); !(_step = _iterator.n()).done;) { | ||
var vertex = _step.value; | ||
this.addVertexPoint(this.parseVertexIndex(vertex, vLen)); | ||
} | ||
} catch (err) { | ||
_iterator.e(err); | ||
} finally { | ||
_iterator.f(); | ||
} | ||
} | ||
}, { | ||
key: "addLineGeometry", | ||
value: function addLineGeometry(vertices, uvs) { | ||
this.object.geometry.type = 'Line'; | ||
var vLen = this.vertices.length; | ||
var uvLen = this.uvs.length; | ||
var _iterator2 = _createForOfIteratorHelper(vertices), | ||
_step2; | ||
try { | ||
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) { | ||
var vertex = _step2.value; | ||
this.addVertexLine(this.parseVertexIndex(vertex, vLen)); | ||
} | ||
} catch (err) { | ||
_iterator2.e(err); | ||
} finally { | ||
_iterator2.f(); | ||
} | ||
var _iterator3 = _createForOfIteratorHelper(uvs), | ||
_step3; | ||
try { | ||
for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) { | ||
var uv = _step3.value; | ||
this.addUVLine(this.parseUVIndex(uv, uvLen)); | ||
} | ||
} catch (err) { | ||
_iterator3.e(err); | ||
} finally { | ||
_iterator3.f(); | ||
} | ||
} | ||
}]); | ||
return ParserState; | ||
}(); | ||
} | ||
} | ||
function parseOBJMeshes(text) { | ||
var state = new ParserState(); | ||
const state = new ParserState(); | ||
if (text.indexOf('\r\n') !== -1) { | ||
@@ -322,9 +243,9 @@ text = text.replace(/\r\n/g, '\n'); | ||
} | ||
var lines = text.split('\n'); | ||
var line = ''; | ||
var lineFirstChar = ''; | ||
var lineLength = 0; | ||
var result = []; | ||
var trimLeft = typeof ''.trimLeft === 'function'; | ||
for (var i = 0, l = lines.length; i < l; i++) { | ||
const lines = text.split('\n'); | ||
let line = ''; | ||
let lineFirstChar = ''; | ||
let lineLength = 0; | ||
let result = []; | ||
const trimLeft = typeof ''.trimLeft === 'function'; | ||
for (let i = 0, l = lines.length; i < l; i++) { | ||
line = lines[i]; | ||
@@ -337,3 +258,3 @@ line = trimLeft ? line.trimLeft() : line.trim(); | ||
if (lineFirstChar === 'v') { | ||
var data = line.split(/\s+/); | ||
const data = line.split(/\s+/); | ||
switch (data[0]) { | ||
@@ -355,22 +276,22 @@ case 'v': | ||
} else if (lineFirstChar === 'f') { | ||
var lineData = line.substr(1).trim(); | ||
var vertexData = lineData.split(/\s+/); | ||
var faceVertices = []; | ||
for (var j = 0, jl = vertexData.length; j < jl; j++) { | ||
var vertex = vertexData[j]; | ||
const lineData = line.substr(1).trim(); | ||
const vertexData = lineData.split(/\s+/); | ||
const faceVertices = []; | ||
for (let j = 0, jl = vertexData.length; j < jl; j++) { | ||
const vertex = vertexData[j]; | ||
if (vertex.length > 0) { | ||
var vertexParts = vertex.split('/'); | ||
const vertexParts = vertex.split('/'); | ||
faceVertices.push(vertexParts); | ||
} | ||
} | ||
var v1 = faceVertices[0]; | ||
for (var _j = 1, _jl = faceVertices.length - 1; _j < _jl; _j++) { | ||
var v2 = faceVertices[_j]; | ||
var v3 = faceVertices[_j + 1]; | ||
const v1 = faceVertices[0]; | ||
for (let j = 1, jl = faceVertices.length - 1; j < jl; j++) { | ||
const v2 = faceVertices[j]; | ||
const v3 = faceVertices[j + 1]; | ||
state.addFace(v1[0], v2[0], v3[0], v1[1], v2[1], v3[1], v1[2], v2[2], v3[2]); | ||
} | ||
} else if (lineFirstChar === 'l') { | ||
var lineParts = line.substring(1).trim().split(' '); | ||
var lineVertices = void 0; | ||
var lineUVs = []; | ||
const lineParts = line.substring(1).trim().split(' '); | ||
let lineVertices; | ||
const lineUVs = []; | ||
if (line.indexOf('/') === -1) { | ||
@@ -380,4 +301,4 @@ lineVertices = lineParts; | ||
lineVertices = []; | ||
for (var li = 0, llen = lineParts.length; li < llen; li++) { | ||
var parts = lineParts[li].split('/'); | ||
for (let li = 0, llen = lineParts.length; li < llen; li++) { | ||
const parts = lineParts[li].split('/'); | ||
if (parts[0] !== '') lineVertices.push(parts[0]); | ||
@@ -389,7 +310,7 @@ if (parts[1] !== '') lineUVs.push(parts[1]); | ||
} else if (lineFirstChar === 'p') { | ||
var _lineData = line.substr(1).trim(); | ||
var pointData = _lineData.split(' '); | ||
const lineData = line.substr(1).trim(); | ||
const pointData = lineData.split(' '); | ||
state.addPointGeometry(pointData); | ||
} else if ((result = OBJECT_RE.exec(line)) !== null) { | ||
var name = (' ' + result[0].substr(1).trim()).substr(1); | ||
const name = (' ' + result[0].substr(1).trim()).substr(1); | ||
state.startObject(name); | ||
@@ -403,3 +324,3 @@ } else if (MATERIAL_USE_RE.test(line)) { | ||
if (result.length > 1) { | ||
var value = result[1].trim().toLowerCase(); | ||
const value = result[1].trim().toLowerCase(); | ||
state.object.smooth = value !== '0' && value !== 'off'; | ||
@@ -409,3 +330,3 @@ } else { | ||
} | ||
var material = state.object.currentMaterial(); | ||
const material = state.object.currentMaterial(); | ||
if (material) material.smooth = state.object.smooth; | ||
@@ -418,81 +339,65 @@ } else { | ||
state.finalize(); | ||
var meshes = []; | ||
var materials = []; | ||
var _iterator4 = _createForOfIteratorHelper(state.objects), | ||
_step4; | ||
try { | ||
for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) { | ||
var object = _step4.value; | ||
var geometry = object.geometry; | ||
if (geometry.vertices.length === 0) continue; | ||
var mesh = { | ||
header: { | ||
vertexCount: geometry.vertices.length / 3 | ||
}, | ||
attributes: {} | ||
const meshes = []; | ||
const materials = []; | ||
for (const object of state.objects) { | ||
const { | ||
geometry | ||
} = object; | ||
if (geometry.vertices.length === 0) continue; | ||
const mesh = { | ||
header: { | ||
vertexCount: geometry.vertices.length / 3 | ||
}, | ||
attributes: {} | ||
}; | ||
switch (geometry.type) { | ||
case 'Points': | ||
mesh.mode = 0; | ||
break; | ||
case 'Line': | ||
mesh.mode = 1; | ||
break; | ||
default: | ||
mesh.mode = 4; | ||
break; | ||
} | ||
mesh.attributes.POSITION = { | ||
value: new Float32Array(geometry.vertices), | ||
size: 3 | ||
}; | ||
if (geometry.normals.length > 0) { | ||
mesh.attributes.NORMAL = { | ||
value: new Float32Array(geometry.normals), | ||
size: 3 | ||
}; | ||
switch (geometry.type) { | ||
case 'Points': | ||
mesh.mode = 0; | ||
break; | ||
case 'Line': | ||
mesh.mode = 1; | ||
break; | ||
default: | ||
mesh.mode = 4; | ||
break; | ||
} | ||
mesh.attributes.POSITION = { | ||
value: new Float32Array(geometry.vertices), | ||
} | ||
if (geometry.colors.length > 0) { | ||
mesh.attributes.COLOR_0 = { | ||
value: new Float32Array(geometry.colors), | ||
size: 3 | ||
}; | ||
if (geometry.normals.length > 0) { | ||
mesh.attributes.NORMAL = { | ||
value: new Float32Array(geometry.normals), | ||
size: 3 | ||
}; | ||
} | ||
if (geometry.colors.length > 0) { | ||
mesh.attributes.COLOR_0 = { | ||
value: new Float32Array(geometry.colors), | ||
size: 3 | ||
}; | ||
} | ||
if (geometry.uvs.length > 0) { | ||
mesh.attributes.TEXCOORD_0 = { | ||
value: new Float32Array(geometry.uvs), | ||
size: 2 | ||
}; | ||
} | ||
mesh.materials = []; | ||
var _iterator5 = _createForOfIteratorHelper(object.materials), | ||
_step5; | ||
try { | ||
for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) { | ||
var sourceMaterial = _step5.value; | ||
var _material = { | ||
name: sourceMaterial.name, | ||
flatShading: !sourceMaterial.smooth | ||
}; | ||
mesh.materials.push(_material); | ||
materials.push(_material); | ||
} | ||
} catch (err) { | ||
_iterator5.e(err); | ||
} finally { | ||
_iterator5.f(); | ||
} | ||
mesh.name = object.name; | ||
meshes.push(mesh); | ||
} | ||
} catch (err) { | ||
_iterator4.e(err); | ||
} finally { | ||
_iterator4.f(); | ||
if (geometry.uvs.length > 0) { | ||
mesh.attributes.TEXCOORD_0 = { | ||
value: new Float32Array(geometry.uvs), | ||
size: 2 | ||
}; | ||
} | ||
mesh.materials = []; | ||
for (const sourceMaterial of object.materials) { | ||
const _material = { | ||
name: sourceMaterial.name, | ||
flatShading: !sourceMaterial.smooth | ||
}; | ||
mesh.materials.push(_material); | ||
materials.push(_material); | ||
} | ||
mesh.name = object.name; | ||
meshes.push(mesh); | ||
} | ||
return { | ||
meshes: meshes, | ||
materials: materials | ||
meshes, | ||
materials | ||
}; | ||
} | ||
//# sourceMappingURL=parse-obj-meshes.js.map |
@@ -10,17 +10,13 @@ "use strict"; | ||
var _getObjSchema = require("./get-obj-schema"); | ||
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; } | ||
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } | ||
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; } | ||
function parseOBJ(text, options) { | ||
var _parseOBJMeshes = (0, _parseObjMeshes.parseOBJMeshes)(text), | ||
meshes = _parseOBJMeshes.meshes; | ||
var vertexCount = meshes.reduce(function (s, mesh) { | ||
return s + mesh.header.vertexCount; | ||
}, 0); | ||
var attributes = mergeAttributes(meshes, vertexCount); | ||
var header = { | ||
vertexCount: vertexCount, | ||
const { | ||
meshes | ||
} = (0, _parseObjMeshes.parseOBJMeshes)(text); | ||
const vertexCount = meshes.reduce((s, mesh) => s + mesh.header.vertexCount, 0); | ||
const attributes = mergeAttributes(meshes, vertexCount); | ||
const header = { | ||
vertexCount, | ||
boundingBox: (0, _schema.getMeshBoundingBox)(attributes) | ||
}; | ||
var schema = (0, _getObjSchema.getOBJSchema)(attributes, { | ||
const schema = (0, _getObjSchema.getOBJSchema)(attributes, { | ||
mode: 4, | ||
@@ -33,45 +29,37 @@ boundingBox: header.boundingBox | ||
}, | ||
schema: schema, | ||
header: header, | ||
schema, | ||
header, | ||
mode: 4, | ||
attributes: attributes | ||
attributes | ||
}; | ||
} | ||
function mergeAttributes(meshes, vertexCount) { | ||
var positions = new Float32Array(vertexCount * 3); | ||
var normals; | ||
var colors; | ||
var uvs; | ||
var i = 0; | ||
var _iterator = _createForOfIteratorHelper(meshes), | ||
_step; | ||
try { | ||
for (_iterator.s(); !(_step = _iterator.n()).done;) { | ||
var mesh = _step.value; | ||
var _mesh$attributes = mesh.attributes, | ||
POSITION = _mesh$attributes.POSITION, | ||
NORMAL = _mesh$attributes.NORMAL, | ||
COLOR_0 = _mesh$attributes.COLOR_0, | ||
TEXCOORD_0 = _mesh$attributes.TEXCOORD_0; | ||
positions.set(POSITION.value, i * 3); | ||
if (NORMAL) { | ||
normals = normals || new Float32Array(vertexCount * 3); | ||
normals.set(NORMAL.value, i * 3); | ||
} | ||
if (COLOR_0) { | ||
colors = colors || new Float32Array(vertexCount * 3); | ||
colors.set(COLOR_0.value, i * 3); | ||
} | ||
if (TEXCOORD_0) { | ||
uvs = uvs || new Float32Array(vertexCount * 2); | ||
uvs.set(TEXCOORD_0.value, i * 2); | ||
} | ||
i += POSITION.value.length / 3; | ||
const positions = new Float32Array(vertexCount * 3); | ||
let normals; | ||
let colors; | ||
let uvs; | ||
let i = 0; | ||
for (const mesh of meshes) { | ||
const { | ||
POSITION, | ||
NORMAL, | ||
COLOR_0, | ||
TEXCOORD_0 | ||
} = mesh.attributes; | ||
positions.set(POSITION.value, i * 3); | ||
if (NORMAL) { | ||
normals = normals || new Float32Array(vertexCount * 3); | ||
normals.set(NORMAL.value, i * 3); | ||
} | ||
} catch (err) { | ||
_iterator.e(err); | ||
} finally { | ||
_iterator.f(); | ||
if (COLOR_0) { | ||
colors = colors || new Float32Array(vertexCount * 3); | ||
colors.set(COLOR_0.value, i * 3); | ||
} | ||
if (TEXCOORD_0) { | ||
uvs = uvs || new Float32Array(vertexCount * 2); | ||
uvs.set(TEXCOORD_0.value, i * 2); | ||
} | ||
i += POSITION.value.length / 3; | ||
} | ||
var attributes = {}; | ||
const attributes = {}; | ||
attributes.POSITION = { | ||
@@ -78,0 +66,0 @@ value: positions, |
@@ -7,4 +7,4 @@ "use strict"; | ||
exports._typecheckMTLLoader = exports.MTLLoader = void 0; | ||
var VERSION = typeof "3.4.14" !== 'undefined' ? "3.4.14" : 'latest'; | ||
var MTLLoader = { | ||
const VERSION = typeof "3.4.15" !== 'undefined' ? "3.4.15" : 'latest'; | ||
const MTLLoader = { | ||
name: 'MTL', | ||
@@ -17,5 +17,3 @@ id: 'mtl', | ||
mimeTypes: ['text/plain'], | ||
testText: function testText(text) { | ||
return text.includes('newmtl'); | ||
}, | ||
testText: text => text.includes('newmtl'), | ||
options: { | ||
@@ -26,4 +24,4 @@ mtl: {} | ||
exports.MTLLoader = MTLLoader; | ||
var _typecheckMTLLoader = MTLLoader; | ||
const _typecheckMTLLoader = MTLLoader; | ||
exports._typecheckMTLLoader = _typecheckMTLLoader; | ||
//# sourceMappingURL=mtl-loader.js.map |
@@ -7,4 +7,4 @@ "use strict"; | ||
exports._typecheckOBJLoader = exports.OBJLoader = void 0; | ||
var VERSION = typeof "3.4.14" !== 'undefined' ? "3.4.14" : 'latest'; | ||
var OBJLoader = { | ||
const VERSION = typeof "3.4.15" !== 'undefined' ? "3.4.15" : 'latest'; | ||
const OBJLoader = { | ||
name: 'OBJ', | ||
@@ -26,4 +26,4 @@ id: 'obj', | ||
} | ||
var _typecheckOBJLoader = OBJLoader; | ||
const _typecheckOBJLoader = OBJLoader; | ||
exports._typecheckOBJLoader = _typecheckOBJLoader; | ||
//# sourceMappingURL=obj-loader.js.map |
@@ -1,2 +0,2 @@ | ||
const VERSION = typeof "3.4.14" !== 'undefined' ? "3.4.14" : 'latest'; | ||
const VERSION = typeof "3.4.15" !== 'undefined' ? "3.4.15" : 'latest'; | ||
export const MTLLoader = { | ||
@@ -3,0 +3,0 @@ name: 'MTL', |
@@ -1,2 +0,2 @@ | ||
const VERSION = typeof "3.4.14" !== 'undefined' ? "3.4.14" : 'latest'; | ||
const VERSION = typeof "3.4.15" !== 'undefined' ? "3.4.15" : 'latest'; | ||
export const OBJLoader = { | ||
@@ -3,0 +3,0 @@ name: 'OBJ', |
@@ -1208,3 +1208,3 @@ (() => { | ||
// src/obj-loader.ts | ||
var VERSION = true ? "3.4.14" : "latest"; | ||
var VERSION = true ? "3.4.15" : "latest"; | ||
var OBJLoader = { | ||
@@ -1228,3 +1228,3 @@ name: "OBJ", | ||
// src/mtl-loader.ts | ||
var VERSION2 = true ? "3.4.14" : "latest"; | ||
var VERSION2 = true ? "3.4.15" : "latest"; | ||
var MTLLoader = { | ||
@@ -1231,0 +1231,0 @@ name: "MTL", |
{ | ||
"name": "@loaders.gl/obj", | ||
"version": "3.4.14", | ||
"version": "3.4.15", | ||
"description": "Framework-independent loader for the OBJ format", | ||
@@ -37,6 +37,6 @@ "license": "MIT", | ||
"@babel/runtime": "^7.3.1", | ||
"@loaders.gl/loader-utils": "3.4.14", | ||
"@loaders.gl/schema": "3.4.14" | ||
"@loaders.gl/loader-utils": "3.4.15", | ||
"@loaders.gl/schema": "3.4.15" | ||
}, | ||
"gitHead": "dffa197c6ae79bac5277d5e8a132f4cd274e74e5" | ||
"gitHead": "19e941d5805568e449ef9092490d6568a4853298" | ||
} |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
272339
4695
+ Added@loaders.gl/loader-utils@3.4.15(transitive)
+ Added@loaders.gl/schema@3.4.15(transitive)
+ Added@loaders.gl/worker-utils@3.4.15(transitive)
+ Added@probe.gl/stats@3.6.0(transitive)
- Removed@loaders.gl/loader-utils@3.4.14(transitive)
- Removed@loaders.gl/schema@3.4.14(transitive)
- Removed@loaders.gl/worker-utils@3.4.14(transitive)
- Removed@probe.gl/stats@4.1.0(transitive)
Updated@loaders.gl/schema@3.4.15