Преглед изворни кода

Remove OBJLoader2Parser import from WorkerRunner. Remove unneeded functions from DefaultWorkerPayloadHandler and WorkerRunner and aligned typscript definitions
Move ObjectManipulator into WorkerRunner and export it from there

Kai Salmen пре 5 година
родитељ
комит
10e42ee09e

+ 3 - 3
examples/jsm/loaders/OBJLoader2Parallel.js

@@ -16,10 +16,10 @@ import { OBJLoader2 } from "./OBJLoader2.js";
 
 // Imports only related to worker (when standard workers (modules aren't supported) are used)
 import { OBJLoader2Parser } from "./obj2/worker/parallel/OBJLoader2Parser.js";
-import { ObjectManipulator } from "./obj2/utils/ObjectManipulator.js";
 import {
 	WorkerRunner,
-	DefaultWorkerPayloadHandler
+	DefaultWorkerPayloadHandler,
+	ObjectManipulator
 } from "./obj2/worker/parallel/WorkerRunner.js";
 
 
@@ -40,7 +40,7 @@ const OBJLoader2Parallel = function ( manager ) {
 
 };
 
-OBJLoader2Parallel.OBJLOADER2_PARALLEL_VERSION = '3.1.1';
+OBJLoader2Parallel.OBJLOADER2_PARALLEL_VERSION = '3.1.2';
 console.info( 'Using OBJLoader2Parallel version: ' + OBJLoader2Parallel.OBJLOADER2_PARALLEL_VERSION );
 
 

+ 0 - 3
examples/jsm/loaders/obj2/utils/ObjectManipulator.d.ts

@@ -1,3 +0,0 @@
-export namespace ObjectManipulator {
-	export function applyProperties( objToAlter: object, params: object, forceCreation: boolean ): void;
-}

+ 0 - 40
examples/jsm/loaders/obj2/utils/ObjectManipulator.js

@@ -1,40 +0,0 @@
-/**
- * @author Kai Salmen / https://kaisalmen.de
- * Development repository: https://github.com/kaisalmen/WWOBJLoader
- */
-
-const ObjectManipulator = {
-
-	/**
-	 * Applies values from parameter object via set functions or via direct assignment.
-	 *
-	 * @param {Object} objToAlter The objToAlter instance
-	 * @param {Object} params The parameter object
-	 */
-	applyProperties: function ( objToAlter, params, forceCreation ) {
-
-		// fast-fail
-		if ( objToAlter === undefined || objToAlter === null || params === undefined || params === null ) return;
-
-		let property, funcName, values;
-		for ( property in params ) {
-
-			funcName = 'set' + property.substring( 0, 1 ).toLocaleUpperCase() + property.substring( 1 );
-			values = params[ property ];
-
-			if ( typeof objToAlter[ funcName ] === 'function' ) {
-
-				objToAlter[ funcName ]( values );
-
-			} else if ( objToAlter.hasOwnProperty( property ) || forceCreation ) {
-
-				objToAlter[ property ] = values;
-
-			}
-
-		}
-
-	}
-};
-
-export { ObjectManipulator };

+ 7 - 8
examples/jsm/loaders/obj2/worker/parallel/WorkerRunner.d.ts

@@ -1,13 +1,17 @@
-import { OBJLoader2Parser } from './OBJLoader2Parser';
+export namespace ObjectManipulator {
+
+	export function applyProperties(objToAlter: object, params: object, forceCreation: boolean): void;
+
+}
 
 export class DefaultWorkerPayloadHandler {
 
-	constructor( parser: OBJLoader2Parser );
+	constructor( parser: object );
 	logging: {
 		enabled: boolean;
 		debug: boolean;
 	};
-	parser: OBJLoader2Parser;
+	parser: object;
 
 	handlePayload( payload: object ): void;
 
@@ -16,11 +20,6 @@ export class DefaultWorkerPayloadHandler {
 export class WorkerRunner {
 
 	constructor( payloadHandler: object );
-	logging: {
-		enabled: boolean;
-		debug: boolean;
-	};
-	resourceDescriptors: OBJLoader2Parser;
 	payloadHandler: object;
 
 	processMessage( payload: object ): void;

+ 36 - 24
examples/jsm/loaders/obj2/worker/parallel/WorkerRunner.js

@@ -3,7 +3,39 @@
  * Development repository: https://github.com/kaisalmen/WWOBJLoader
  */
 
-import { ObjectManipulator } from "../../utils/ObjectManipulator.js";
+const ObjectManipulator = {
+
+	/**
+	 * Applies values from parameter object via set functions or via direct assignment.
+	 *
+	 * @param {Object} objToAlter The objToAlter instance
+	 * @param {Object} params The parameter object
+	 */
+	applyProperties: function (objToAlter, params, forceCreation) {
+
+		// fast-fail
+		if (objToAlter === undefined || objToAlter === null || params === undefined || params === null) return;
+
+		let property, funcName, values;
+		for (property in params) {
+
+			funcName = 'set' + property.substring(0, 1).toLocaleUpperCase() + property.substring(1);
+			values = params[property];
+
+			if (typeof objToAlter[funcName] === 'function') {
+
+				objToAlter[funcName](values);
+
+			} else if (objToAlter.hasOwnProperty(property) || forceCreation) {
+
+				objToAlter[property] = values;
+
+			}
+
+		}
+
+	}
+};
 
 const DefaultWorkerPayloadHandler = function ( parser ) {
 
@@ -52,17 +84,7 @@ DefaultWorkerPayloadHandler.prototype = {
 			ObjectManipulator.applyProperties( parser, payload.params, false );
 			ObjectManipulator.applyProperties( parser, callbacks, false );
 
-			let arraybuffer;
-			if ( payload.params && payload.params.index !== undefined && payload.params.index !== null ) {
-
-				arraybuffer = this.resourceDescriptors[ payload.params.index ].content;
-
-			} else {
-
-				arraybuffer = payload.data.input;
-
-			}
-
+			let arraybuffer = payload.data.input;
 			let executeFunctionName = 'execute';
 			if ( typeof parser.getParseFunctionName === 'function' ) executeFunctionName = parser.getParseFunctionName();
 			if ( payload.usesMeshDisassembler ) {
@@ -97,7 +119,6 @@ DefaultWorkerPayloadHandler.prototype = {
  */
 const WorkerRunner = function ( payloadHandler ) {
 
-	this.resourceDescriptors = [];
 	this.payloadHandler = payloadHandler;
 
 	let scope = this;
@@ -121,16 +142,6 @@ WorkerRunner.prototype = {
 	 */
 	processMessage: function ( payload ) {
 
-		if ( payload.data.resourceDescriptors && this.resourceDescriptors.length === 0 ) {
-
-			for ( let name in payload.data.resourceDescriptors ) {
-
-				this.resourceDescriptors.push( payload.data.resourceDescriptors[ name ] );
-
-			}
-
-		}
-
 		this.payloadHandler.handlePayload( payload );
 
 	}
@@ -139,5 +150,6 @@ WorkerRunner.prototype = {
 
 export {
 	WorkerRunner,
-	DefaultWorkerPayloadHandler
+	DefaultWorkerPayloadHandler,
+	ObjectManipulator
 };