AnonSec Shell
Server IP : 162.214.74.102  /  Your IP : 216.73.217.114
Web Server : Apache
System : Linux dedi-4363141.lrsys.com.br 3.10.0-1160.119.1.el7.tuxcare.els25.x86_64 #1 SMP Wed Oct 1 17:37:27 UTC 2025 x86_64
User : lrsys ( 1015)
PHP Version : 5.6.40
Disable Function : exec,passthru,shell_exec,system
MySQL : ON  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : ON  |  Pkexec : ON
Directory :  /home/lrsys/www/lrsys_apps/marisol/AR/three.js/experiments/worker_scratch/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ HOME ]     

Current File : /home/lrsys/www/lrsys_apps/marisol/AR/three.js/experiments/worker_scratch/workerrpcworker.js
/**
	ARToolKit Web Worker proxy.
*/

importScripts("../../vendor/jsartoolkit5/build/artoolkit.debug.js");
importScripts("../../src/threex/threex-artoolkitcontext.js");
importScripts("../../src/threex/threex-armarkercontrols.js");


onmessage = function(event) {
	if( event.data.type === 'ArToolkitContext'){
		onMessageContext(event)
	}else if( event.data.type === 'ArToolkitControls'){
		onMessageControls(event)
	}else{
		console.assert(false, 'unknown data type '+event.data.type)
	}
}


//////////////////////////////////////////////////////////////////////////////
//		THREEx.ArToolkitContext
//////////////////////////////////////////////////////////////////////////////

var contextWorkers = {};
var contextWorkerId = 0;
var contextCallbackMethods = {
	'loadNFTMarker': 1,
	'loadMarker': 1,
	'loadMultiMarker': 1
};

function onMessageContext(event){
	var data = event.data
	
	if (data.method === 'new') {
		
		// create ArToolkitContext
		var arToolKitContext = new THREEx.ArToolkitContext(data.args[0]);
		// store it
		var contextId = contextWorkerId++;
		contextWorkers[contextId] = arToolKitContext;

		// notify the main thread it is completed
		postMessage({method: 'new', contextId: contextId, callId: data.callId});

	} else if (data.method === 'dispose') {
		
		// get arToolKitContext
		var contextId = data.contextId
		var arToolKitContext = contextWorkers[contextId];

		// dispose of arToolKitContext
		arToolKitContext.dispose();
		delete contextWorkers[data.id];

		// notify the main thread it is completed
		postMessage({method: 'dispose', contextId: data.id, callId: data.callId});

	} else {
		// get arToolKitContext

		var arToolKitContext = contextWorkers[data.id];

		if (contextCallbackMethods[data.method]) {
			data.args.push(function() {
				var args = Array.prototype.slice.call(arguments)
				postMessage({method: data.method, result: args, id: data.id, callId: data.callId});
			});
			arToolKitContext[data.method].apply(arToolKitContext, data.args);
		} else {
			var result = arToolKitContext[data.method].apply(arToolKitContext, data.args);
			postMessage({method: data.method, result: result, id: data.id, callId: data.callId});
		}
	}

};

//////////////////////////////////////////////////////////////////////////////
//		THREEx.ArToolkitControls
//////////////////////////////////////////////////////////////////////////////

var controlsWorkers = {};
var controlsWorkerId = 0;
var controlsCallbackMethods = {
	'loadNFTMarker': 1,
	'loadMarker': 1,
	'loadMultiMarker': 1
};

function onMessageControls(event){
	var data = event.data
	
	if (data.method === 'new') {
		
		// get arToolKitContext
		var contextId = data.contextId
		var arToolKitContext = contextWorkers[contextId];

		// create ArToolkitContext
		var arMarkerControls = new THREEx.ArMarkerControls(arToolKitContext, OBJECT3D, data.args[0]);
		// store it
		var controlsId = controlsWorkerId++;
		controlsWorkers[controlsId] = arMarkerControls;

		// notify the main thread it is completed
		postMessage({method: 'new', controlsId: controlsId, callId: data.callId});

	} else if (data.method === 'dispose') {
		
		// get arMarkerControls
		var controlsId = data.controlsId
		var arMarkerControls = controlsWorkers[controlsId];

		// dispose of arMarkerControls
		arMarkerControls.dispose();
		delete controlsWorkers[data.id];

		// notify the main thread it is completed
		postMessage({method: 'dispose', controlsId: data.id, callId: data.callId});

	} else {
		// get arMarkerControls

		var arMarkerControls = controlsWorkers[data.id];

		if (controlsCallbackMethods[data.method]) {
			data.args.push(function() {
				var args = Array.prototype.slice.call(arguments)
				postMessage({method: data.method, result: args, id: data.id, callId: data.callId});
			});
			arMarkerControls[data.method].apply(arMarkerControls, data.args);
		} else {
			var result = arMarkerControls[data.method].apply(arToolKitContext, data.args);
			postMessage({method: data.method, result: result, id: data.id, callId: data.callId});
		}
	}

};

Anon7 - 2022
AnonSec Team