| Server IP : 162.214.74.102 / Your IP : 216.73.216.59 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/public_html/lrsys_apps/marisol/AR/three.js/src/new-api/ |
Upload File : |
var ARjs = ARjs || {}
/**
* define a ARjs.Session
*
* @param {Object} parameters - parameters for this session
*/
ARjs.Session = function(parameters){
var _this = this
// handle default parameters
this.parameters = {
renderer: null,
camera: null,
scene: null,
sourceParameters: {},
contextParameters: {},
}
this.signals = {
sourceReady : new signals.Signal(),
contextInitialized: new signals.Signal(),
}
//////////////////////////////////////////////////////////////////////////////
// setParameters
//////////////////////////////////////////////////////////////////////////////
setParameters(parameters)
function setParameters(parameters){
if( parameters === undefined ) return
for( var key in parameters ){
var newValue = parameters[ key ]
if( newValue === undefined ){
console.warn( "THREEx.Session: '" + key + "' parameter is undefined." )
continue
}
var currentValue = _this.parameters[ key ]
if( currentValue === undefined ){
console.warn( "THREEx.Session: '" + key + "' is not a property of this material." )
continue
}
_this.parameters[ key ] = newValue
}
}
// sanity check
console.assert(this.parameters.renderer instanceof THREE.WebGLRenderer)
console.assert(this.parameters.camera instanceof THREE.Camera)
console.assert(this.parameters.scene instanceof THREE.Scene)
// backward emulation
Object.defineProperty(this, 'renderer', {get: function(){
console.warn('use .parameters.renderer renderer')
return this.parameters.renderer;
}});
Object.defineProperty(this, 'camera', {get: function(){
console.warn('use .parameters.camera instead')
return this.parameters.camera;
}});
Object.defineProperty(this, 'scene', {get: function(){
console.warn('use .parameters.scene instead')
return this.parameters.scene;
}});
// log the version
console.log('AR.js', ARjs.Context.REVISION, '- trackingBackend:', parameters.contextParameters.trackingBackend)
//////////////////////////////////////////////////////////////////////////////
// init arSource
//////////////////////////////////////////////////////////////////////////////
var arSource = _this.arSource = new ARjs.Source(parameters.sourceParameters)
arSource.init(function onReady(){
arSource.onResize(arContext, _this.parameters.renderer, _this.parameters.camera)
_this.signals.sourceReady.dispatch()
})
// handle resize
window.addEventListener('resize', function(){
arSource.onResize(arContext, _this.parameters.renderer, _this.parameters.camera)
})
//////////////////////////////////////////////////////////////////////////////
// init arContext
//////////////////////////////////////////////////////////////////////////////
// create atToolkitContext
var arContext = _this.arContext = new ARjs.Context(parameters.contextParameters)
// initialize it
_this.arContext.init()
arContext.addEventListener('initialized', function(event){
arSource.onResize(arContext, _this.parameters.renderer, _this.parameters.camera)
_this.signals.contextInitialized.dispatch()
})
//////////////////////////////////////////////////////////////////////////////
// update function
//////////////////////////////////////////////////////////////////////////////
// update artoolkit on every frame
this.update = function(){
if( arSource.ready === false ) return
arContext.update( arSource.domElement )
}
}
ARjs.Session.prototype.onResize = function () {
this.arSource.onResize(this.arContext, this.parameters.renderer, this.parameters.camera)
};