diff --git a/dist/xrfragment.js b/dist/xrfragment.js index 3dcf8ee..f576b4e 100644 --- a/dist/xrfragment.js +++ b/dist/xrfragment.js @@ -220,11 +220,11 @@ xrfragment_Parser.parse = function(key,value,resultMap) { Frag_h["#"] = xrfragment_XRF.ASSET | xrfragment_XRF.T_PREDEFINED_VIEW; Frag_h["class"] = xrfragment_XRF.ASSET | xrfragment_XRF.T_STRING; Frag_h["src"] = xrfragment_XRF.ASSET | xrfragment_XRF.T_URL; - Frag_h["pos"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.ROUNDROBIN | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.T_STRING_OBJ | xrfragment_XRF.EMBEDDED; + Frag_h["pos"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.ROUNDROBIN | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.T_STRING_OBJ | xrfragment_XRF.EMBEDDED | xrfragment_XRF.NAVIGATOR; Frag_h["href"] = xrfragment_XRF.ASSET | xrfragment_XRF.T_URL | xrfragment_XRF.T_PREDEFINED_VIEW; Frag_h["q"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_STRING | xrfragment_XRF.EMBEDDED; Frag_h["scale"] = xrfragment_XRF.QUERY_OPERATOR | xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.ROUNDROBIN | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.EMBEDDED; - Frag_h["rot"] = xrfragment_XRF.QUERY_OPERATOR | xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.ROUNDROBIN | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.EMBEDDED; + Frag_h["rot"] = xrfragment_XRF.QUERY_OPERATOR | xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.ROUNDROBIN | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.EMBEDDED | xrfragment_XRF.NAVIGATOR; Frag_h["translate"] = xrfragment_XRF.QUERY_OPERATOR | xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.ROUNDROBIN | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.EMBEDDED; Frag_h["visible"] = xrfragment_XRF.QUERY_OPERATOR | xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.ROUNDROBIN | xrfragment_XRF.T_INT | xrfragment_XRF.EMBEDDED; Frag_h["env"] = xrfragment_XRF.ASSET | xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_STRING | xrfragment_XRF.EMBEDDED; diff --git a/dist/xrfragment.lua b/dist/xrfragment.lua index ebd7882..661c20a 100644 --- a/dist/xrfragment.lua +++ b/dist/xrfragment.lua @@ -1432,7 +1432,7 @@ __xrfragment_Parser.parse = function(key,value,resultMap) else Frag_h.src = value1; end; - local value1 = _hx_bit.bor(_hx_bit.bor(_hx_bit.bor(_hx_bit.bor(__xrfragment_XRF.PV_OVERRIDE,__xrfragment_XRF.ROUNDROBIN),__xrfragment_XRF.T_VECTOR3),__xrfragment_XRF.T_STRING_OBJ),__xrfragment_XRF.EMBEDDED); + local value1 = _hx_bit.bor(_hx_bit.bor(_hx_bit.bor(_hx_bit.bor(_hx_bit.bor(__xrfragment_XRF.PV_OVERRIDE,__xrfragment_XRF.ROUNDROBIN),__xrfragment_XRF.T_VECTOR3),__xrfragment_XRF.T_STRING_OBJ),__xrfragment_XRF.EMBEDDED),__xrfragment_XRF.NAVIGATOR); if (value1 == nil) then Frag_h.pos = __haxe_ds_StringMap.tnull; else @@ -1456,7 +1456,7 @@ __xrfragment_Parser.parse = function(key,value,resultMap) else Frag_h.scale = value1; end; - local value1 = _hx_bit.bor(_hx_bit.bor(_hx_bit.bor(_hx_bit.bor(__xrfragment_XRF.QUERY_OPERATOR,__xrfragment_XRF.PV_OVERRIDE),__xrfragment_XRF.ROUNDROBIN),__xrfragment_XRF.T_VECTOR3),__xrfragment_XRF.EMBEDDED); + local value1 = _hx_bit.bor(_hx_bit.bor(_hx_bit.bor(_hx_bit.bor(_hx_bit.bor(__xrfragment_XRF.QUERY_OPERATOR,__xrfragment_XRF.PV_OVERRIDE),__xrfragment_XRF.ROUNDROBIN),__xrfragment_XRF.T_VECTOR3),__xrfragment_XRF.EMBEDDED),__xrfragment_XRF.NAVIGATOR); if (value1 == nil) then Frag_h.rot = __haxe_ds_StringMap.tnull; else diff --git a/dist/xrfragment.module.js b/dist/xrfragment.module.js index 77c2e92..106efbe 100644 --- a/dist/xrfragment.module.js +++ b/dist/xrfragment.module.js @@ -220,11 +220,11 @@ xrfragment_Parser.parse = function(key,value,resultMap) { Frag_h["#"] = xrfragment_XRF.ASSET | xrfragment_XRF.T_PREDEFINED_VIEW; Frag_h["class"] = xrfragment_XRF.ASSET | xrfragment_XRF.T_STRING; Frag_h["src"] = xrfragment_XRF.ASSET | xrfragment_XRF.T_URL; - Frag_h["pos"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.ROUNDROBIN | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.T_STRING_OBJ | xrfragment_XRF.EMBEDDED; + Frag_h["pos"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.ROUNDROBIN | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.T_STRING_OBJ | xrfragment_XRF.EMBEDDED | xrfragment_XRF.NAVIGATOR; Frag_h["href"] = xrfragment_XRF.ASSET | xrfragment_XRF.T_URL | xrfragment_XRF.T_PREDEFINED_VIEW; Frag_h["q"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_STRING | xrfragment_XRF.EMBEDDED; Frag_h["scale"] = xrfragment_XRF.QUERY_OPERATOR | xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.ROUNDROBIN | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.EMBEDDED; - Frag_h["rot"] = xrfragment_XRF.QUERY_OPERATOR | xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.ROUNDROBIN | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.EMBEDDED; + Frag_h["rot"] = xrfragment_XRF.QUERY_OPERATOR | xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.ROUNDROBIN | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.EMBEDDED | xrfragment_XRF.NAVIGATOR; Frag_h["translate"] = xrfragment_XRF.QUERY_OPERATOR | xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.ROUNDROBIN | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.EMBEDDED; Frag_h["visible"] = xrfragment_XRF.QUERY_OPERATOR | xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.ROUNDROBIN | xrfragment_XRF.T_INT | xrfragment_XRF.EMBEDDED; Frag_h["env"] = xrfragment_XRF.ASSET | xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_STRING | xrfragment_XRF.EMBEDDED; diff --git a/dist/xrfragment.py b/dist/xrfragment.py index f783204..f038d9f 100644 --- a/dist/xrfragment.py +++ b/dist/xrfragment.py @@ -1297,11 +1297,11 @@ class xrfragment_Parser: Frag.h["#"] = (xrfragment_XRF.ASSET | xrfragment_XRF.T_PREDEFINED_VIEW) Frag.h["class"] = (xrfragment_XRF.ASSET | xrfragment_XRF.T_STRING) Frag.h["src"] = (xrfragment_XRF.ASSET | xrfragment_XRF.T_URL) - Frag.h["pos"] = ((((xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.ROUNDROBIN) | xrfragment_XRF.T_VECTOR3) | xrfragment_XRF.T_STRING_OBJ) | xrfragment_XRF.EMBEDDED) + Frag.h["pos"] = (((((xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.ROUNDROBIN) | xrfragment_XRF.T_VECTOR3) | xrfragment_XRF.T_STRING_OBJ) | xrfragment_XRF.EMBEDDED) | xrfragment_XRF.NAVIGATOR) Frag.h["href"] = ((xrfragment_XRF.ASSET | xrfragment_XRF.T_URL) | xrfragment_XRF.T_PREDEFINED_VIEW) Frag.h["q"] = ((xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_STRING) | xrfragment_XRF.EMBEDDED) Frag.h["scale"] = ((((xrfragment_XRF.QUERY_OPERATOR | xrfragment_XRF.PV_OVERRIDE) | xrfragment_XRF.ROUNDROBIN) | xrfragment_XRF.T_VECTOR3) | xrfragment_XRF.EMBEDDED) - Frag.h["rot"] = ((((xrfragment_XRF.QUERY_OPERATOR | xrfragment_XRF.PV_OVERRIDE) | xrfragment_XRF.ROUNDROBIN) | xrfragment_XRF.T_VECTOR3) | xrfragment_XRF.EMBEDDED) + Frag.h["rot"] = (((((xrfragment_XRF.QUERY_OPERATOR | xrfragment_XRF.PV_OVERRIDE) | xrfragment_XRF.ROUNDROBIN) | xrfragment_XRF.T_VECTOR3) | xrfragment_XRF.EMBEDDED) | xrfragment_XRF.NAVIGATOR) Frag.h["translate"] = ((((xrfragment_XRF.QUERY_OPERATOR | xrfragment_XRF.PV_OVERRIDE) | xrfragment_XRF.ROUNDROBIN) | xrfragment_XRF.T_VECTOR3) | xrfragment_XRF.EMBEDDED) Frag.h["visible"] = ((((xrfragment_XRF.QUERY_OPERATOR | xrfragment_XRF.PV_OVERRIDE) | xrfragment_XRF.ROUNDROBIN) | xrfragment_XRF.T_INT) | xrfragment_XRF.EMBEDDED) Frag.h["env"] = (((xrfragment_XRF.ASSET | xrfragment_XRF.PV_OVERRIDE) | xrfragment_XRF.T_STRING) | xrfragment_XRF.EMBEDDED) diff --git a/dist/xrfragment.three.js b/dist/xrfragment.three.js index a85f6a8..a424948 100644 --- a/dist/xrfragment.three.js +++ b/dist/xrfragment.three.js @@ -220,11 +220,11 @@ xrfragment_Parser.parse = function(key,value,resultMap) { Frag_h["#"] = xrfragment_XRF.ASSET | xrfragment_XRF.T_PREDEFINED_VIEW; Frag_h["class"] = xrfragment_XRF.ASSET | xrfragment_XRF.T_STRING; Frag_h["src"] = xrfragment_XRF.ASSET | xrfragment_XRF.T_URL; - Frag_h["pos"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.ROUNDROBIN | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.T_STRING_OBJ | xrfragment_XRF.EMBEDDED; + Frag_h["pos"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.ROUNDROBIN | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.T_STRING_OBJ | xrfragment_XRF.EMBEDDED | xrfragment_XRF.NAVIGATOR; Frag_h["href"] = xrfragment_XRF.ASSET | xrfragment_XRF.T_URL | xrfragment_XRF.T_PREDEFINED_VIEW; Frag_h["q"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_STRING | xrfragment_XRF.EMBEDDED; Frag_h["scale"] = xrfragment_XRF.QUERY_OPERATOR | xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.ROUNDROBIN | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.EMBEDDED; - Frag_h["rot"] = xrfragment_XRF.QUERY_OPERATOR | xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.ROUNDROBIN | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.EMBEDDED; + Frag_h["rot"] = xrfragment_XRF.QUERY_OPERATOR | xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.ROUNDROBIN | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.EMBEDDED | xrfragment_XRF.NAVIGATOR; Frag_h["translate"] = xrfragment_XRF.QUERY_OPERATOR | xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.ROUNDROBIN | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.EMBEDDED; Frag_h["visible"] = xrfragment_XRF.QUERY_OPERATOR | xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.ROUNDROBIN | xrfragment_XRF.T_INT | xrfragment_XRF.EMBEDDED; Frag_h["env"] = xrfragment_XRF.ASSET | xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_STRING | xrfragment_XRF.EMBEDDED; @@ -599,7 +599,7 @@ xrfragment.model = {} xrfragment.init = function(opts){ opts = opts || {} let XRF = function(){ - alert("ja") + alert("queries are not implemented (yet)") } for ( let i in opts ) XRF[i] = xrfragment[i] = opts[i] for ( let i in xrfragment ) XRF[i] = xrfragment[i] @@ -626,16 +626,17 @@ xrfragment.parseModel = function(model,url){ model.file = file model.render = function(){} xrfragment.model[file] = model + console.log("scanning "+file) model.scene.traverse( (mesh) => { - console.log("| "+mesh.name) + console.log(mesh.name) if( mesh.userData ){ let frag = {} for( let k in mesh.userData ){ xrfragment.Parser.parse( k, mesh.userData[k], frag ) // call native function (xrf/env.js e.g.), or pass it to user decorator let func = xrfragment.xrf[k] || function(){} - let opts = {mesh, model, camera:xrfragment.camera, scene: xrfragment.scene, renderer: xrfragment.renderer, THREE: xrfragment.THREE } + let opts = {mesh, model, camera: xrfragment.camera, scene: xrfragment.scene, renderer: xrfragment.renderer, THREE: xrfragment.THREE } if( xrfragment[k] ) xrfragment[k]( func, frag[k], opts) else func( frag[k], opts) } @@ -646,8 +647,25 @@ xrfragment.parseModel = function(model,url){ xrfragment.getLastModel = () => Object.values(xrfragment.model)[ Object.values(xrfragment.model).length-1 ] xrfragment.eval = function( url, model ){ - alert("realtime xr fragments not implemented (yet)") - console.dir({url,model}) + let notice = false + let { THREE, camera } = xrfragment + let frag = xrfragment.URI.parse( url, XRF.NAVIGATOR ) + + for ( let i in frag ) { + if( !String(i).match(/(pos|rot)/) ) notice = true + if( i == "pos" ){ + camera.position.x = frag.pos.x + camera.position.y = frag.pos.y + camera.position.z = frag.pos.z + } + if( i == "rot" ){ + camera.rotation.x = THREE.MathUtils.degToRad( frag.pos.x ) + camera.rotation.y = THREE.MathUtils.degToRad( frag.pos.y ) + camera.rotation.z = THREE.MathUtils.degToRad( frag.pos.z ) + } + } + if( notice ) alert("only 'pos' and 'rot' XRF.NAVIGATOR-flagged XR fragments are supported (for now)") + console.dir({url,model,frag}) } xrfragment.xrf.env = function(v, opts){ let { mesh, model, camera, scene, renderer, THREE} = opts @@ -657,6 +675,7 @@ xrfragment.xrf.env = function(v, opts){ scene.texture = env.material.map renderer.toneMapping = THREE.ACESFilmicToneMapping; renderer.toneMappingExposure = 1; + console.log(` └ applied image '${v.string}' as environtment map`) } xrfragment.xrf.href = function(v, opts){ let { mesh, model, camera, scene, renderer, THREE} = opts @@ -717,6 +736,7 @@ xrfragment.xrf.href = function(v, opts){ } xrfragment.xrf.pos = function(v, opts){ let { mesh, model, camera, scene, renderer, THREE} = opts + console.log(" └ setting camera position to "+v.string) camera.position.x = v.x camera.position.y = v.y camera.position.z = v.z @@ -725,6 +745,7 @@ xrfragment.xrf.src = function(v, opts){ let { mesh, model, camera, scene, renderer, THREE} = opts if( v.string[0] == "#" ){ // local + console.log(" └ instancing src") let args = xrfragment.URI.parse(v.string) // Get an instance of the original model const modelInstance = new THREE.Group(); @@ -739,7 +760,7 @@ xrfragment.xrf.src = function(v, opts){ // *TODO* move to a central location (pull-up) for( var i in args ){ if( i == "scale" ){ - console.log("setting scale") + console.log(" └ setting scale") modelInstance.scale.x = args[i].x modelInstance.scale.y = args[i].y modelInstance.scale.z = args[i].z diff --git a/src/three/index.js b/src/three/index.js index 095be70..c8ea0aa 100644 --- a/src/three/index.js +++ b/src/three/index.js @@ -4,7 +4,7 @@ xrfragment.model = {} xrfragment.init = function(opts){ opts = opts || {} let XRF = function(){ - alert("ja") + alert("queries are not implemented (yet)") } for ( let i in opts ) XRF[i] = xrfragment[i] = opts[i] for ( let i in xrfragment ) XRF[i] = xrfragment[i] @@ -31,16 +31,17 @@ xrfragment.parseModel = function(model,url){ model.file = file model.render = function(){} xrfragment.model[file] = model + console.log("scanning "+file) model.scene.traverse( (mesh) => { - console.log("| "+mesh.name) + console.log(mesh.name) if( mesh.userData ){ let frag = {} for( let k in mesh.userData ){ xrfragment.Parser.parse( k, mesh.userData[k], frag ) // call native function (xrf/env.js e.g.), or pass it to user decorator let func = xrfragment.xrf[k] || function(){} - let opts = {mesh, model, camera:xrfragment.camera, scene: xrfragment.scene, renderer: xrfragment.renderer, THREE: xrfragment.THREE } + let opts = {mesh, model, camera: xrfragment.camera, scene: xrfragment.scene, renderer: xrfragment.renderer, THREE: xrfragment.THREE } if( xrfragment[k] ) xrfragment[k]( func, frag[k], opts) else func( frag[k], opts) } @@ -51,6 +52,23 @@ xrfragment.parseModel = function(model,url){ xrfragment.getLastModel = () => Object.values(xrfragment.model)[ Object.values(xrfragment.model).length-1 ] xrfragment.eval = function( url, model ){ - alert("realtime xr fragments not implemented (yet)") - console.dir({url,model}) + let notice = false + let { THREE, camera } = xrfragment + let frag = xrfragment.URI.parse( url, XRF.NAVIGATOR ) + + for ( let i in frag ) { + if( !String(i).match(/(pos|rot)/) ) notice = true + if( i == "pos" ){ + camera.position.x = frag.pos.x + camera.position.y = frag.pos.y + camera.position.z = frag.pos.z + } + if( i == "rot" ){ + camera.rotation.x = THREE.MathUtils.degToRad( frag.pos.x ) + camera.rotation.y = THREE.MathUtils.degToRad( frag.pos.y ) + camera.rotation.z = THREE.MathUtils.degToRad( frag.pos.z ) + } + } + if( notice ) alert("only 'pos' and 'rot' XRF.NAVIGATOR-flagged XR fragments are supported (for now)") + console.dir({url,model,frag}) } diff --git a/src/three/xrf/env.js b/src/three/xrf/env.js index fb0fd1a..bf20510 100644 --- a/src/three/xrf/env.js +++ b/src/three/xrf/env.js @@ -6,4 +6,5 @@ xrfragment.xrf.env = function(v, opts){ scene.texture = env.material.map renderer.toneMapping = THREE.ACESFilmicToneMapping; renderer.toneMappingExposure = 1; + console.log(` └ applied image '${v.string}' as environtment map`) } diff --git a/src/three/xrf/pos.js b/src/three/xrf/pos.js index f13d4a4..81ac845 100644 --- a/src/three/xrf/pos.js +++ b/src/three/xrf/pos.js @@ -1,5 +1,6 @@ xrfragment.xrf.pos = function(v, opts){ let { mesh, model, camera, scene, renderer, THREE} = opts + console.log(" └ setting camera position to "+v.string) camera.position.x = v.x camera.position.y = v.y camera.position.z = v.z diff --git a/src/three/xrf/src.js b/src/three/xrf/src.js index 0433038..dbb042d 100644 --- a/src/three/xrf/src.js +++ b/src/three/xrf/src.js @@ -2,6 +2,7 @@ xrfragment.xrf.src = function(v, opts){ let { mesh, model, camera, scene, renderer, THREE} = opts if( v.string[0] == "#" ){ // local + console.log(" └ instancing src") let args = xrfragment.URI.parse(v.string) // Get an instance of the original model const modelInstance = new THREE.Group(); @@ -16,7 +17,7 @@ xrfragment.xrf.src = function(v, opts){ // *TODO* move to a central location (pull-up) for( var i in args ){ if( i == "scale" ){ - console.log("setting scale") + console.log(" └ setting scale") modelInstance.scale.x = args[i].x modelInstance.scale.y = args[i].y modelInstance.scale.z = args[i].z diff --git a/src/xrfragment/Parser.hx b/src/xrfragment/Parser.hx index 62595c6..1aadf06 100644 --- a/src/xrfragment/Parser.hx +++ b/src/xrfragment/Parser.hx @@ -21,13 +21,13 @@ class Parser { Frag.set("src", XRF.ASSET | XRF.T_URL ); // category: href navigation / portals / teleporting - Frag.set("pos", XRF.PV_OVERRIDE | XRF.ROUNDROBIN | XRF.T_VECTOR3 | XRF.T_STRING_OBJ | XRF.EMBEDDED ); + Frag.set("pos", XRF.PV_OVERRIDE | XRF.ROUNDROBIN | XRF.T_VECTOR3 | XRF.T_STRING_OBJ | XRF.EMBEDDED | XRF.NAVIGATOR ); Frag.set("href", XRF.ASSET | XRF.T_URL | XRF.T_PREDEFINED_VIEW ); // category: query selector / object manipulation Frag.set("q", XRF.PV_OVERRIDE | XRF.T_STRING | XRF.EMBEDDED ); Frag.set("scale", XRF.QUERY_OPERATOR | XRF.PV_OVERRIDE | XRF.ROUNDROBIN | XRF.T_VECTOR3 | XRF.EMBEDDED ); - Frag.set("rot", XRF.QUERY_OPERATOR | XRF.PV_OVERRIDE | XRF.ROUNDROBIN | XRF.T_VECTOR3 | XRF.EMBEDDED ); + Frag.set("rot", XRF.QUERY_OPERATOR | XRF.PV_OVERRIDE | XRF.ROUNDROBIN | XRF.T_VECTOR3 | XRF.EMBEDDED | XRF.NAVIGATOR ); Frag.set("translate", XRF.QUERY_OPERATOR | XRF.PV_OVERRIDE | XRF.ROUNDROBIN | XRF.T_VECTOR3 | XRF.EMBEDDED ); Frag.set("visible", XRF.QUERY_OPERATOR | XRF.PV_OVERRIDE | XRF.ROUNDROBIN | XRF.T_INT | XRF.EMBEDDED ); Frag.set("env", XRF.ASSET | XRF.PV_OVERRIDE | XRF.T_STRING | XRF.EMBEDDED ); diff --git a/test/generated/test.js b/test/generated/test.js index d9a67ad..581195f 100644 --- a/test/generated/test.js +++ b/test/generated/test.js @@ -330,11 +330,11 @@ xrfragment_Parser.parse = function(key,value,resultMap) { Frag_h["#"] = xrfragment_XRF.ASSET | xrfragment_XRF.T_PREDEFINED_VIEW; Frag_h["class"] = xrfragment_XRF.ASSET | xrfragment_XRF.T_STRING; Frag_h["src"] = xrfragment_XRF.ASSET | xrfragment_XRF.T_URL; - Frag_h["pos"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.ROUNDROBIN | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.T_STRING_OBJ | xrfragment_XRF.EMBEDDED; + Frag_h["pos"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.ROUNDROBIN | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.T_STRING_OBJ | xrfragment_XRF.EMBEDDED | xrfragment_XRF.NAVIGATOR; Frag_h["href"] = xrfragment_XRF.ASSET | xrfragment_XRF.T_URL | xrfragment_XRF.T_PREDEFINED_VIEW; Frag_h["q"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_STRING | xrfragment_XRF.EMBEDDED; Frag_h["scale"] = xrfragment_XRF.QUERY_OPERATOR | xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.ROUNDROBIN | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.EMBEDDED; - Frag_h["rot"] = xrfragment_XRF.QUERY_OPERATOR | xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.ROUNDROBIN | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.EMBEDDED; + Frag_h["rot"] = xrfragment_XRF.QUERY_OPERATOR | xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.ROUNDROBIN | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.EMBEDDED | xrfragment_XRF.NAVIGATOR; Frag_h["translate"] = xrfragment_XRF.QUERY_OPERATOR | xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.ROUNDROBIN | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.EMBEDDED; Frag_h["visible"] = xrfragment_XRF.QUERY_OPERATOR | xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.ROUNDROBIN | xrfragment_XRF.T_INT | xrfragment_XRF.EMBEDDED; Frag_h["env"] = xrfragment_XRF.ASSET | xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_STRING | xrfragment_XRF.EMBEDDED; diff --git a/test/generated/test.py b/test/generated/test.py index 2e1750e..3e64855 100644 --- a/test/generated/test.py +++ b/test/generated/test.py @@ -1411,11 +1411,11 @@ class xrfragment_Parser: Frag.h["#"] = (xrfragment_XRF.ASSET | xrfragment_XRF.T_PREDEFINED_VIEW) Frag.h["class"] = (xrfragment_XRF.ASSET | xrfragment_XRF.T_STRING) Frag.h["src"] = (xrfragment_XRF.ASSET | xrfragment_XRF.T_URL) - Frag.h["pos"] = ((((xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.ROUNDROBIN) | xrfragment_XRF.T_VECTOR3) | xrfragment_XRF.T_STRING_OBJ) | xrfragment_XRF.EMBEDDED) + Frag.h["pos"] = (((((xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.ROUNDROBIN) | xrfragment_XRF.T_VECTOR3) | xrfragment_XRF.T_STRING_OBJ) | xrfragment_XRF.EMBEDDED) | xrfragment_XRF.NAVIGATOR) Frag.h["href"] = ((xrfragment_XRF.ASSET | xrfragment_XRF.T_URL) | xrfragment_XRF.T_PREDEFINED_VIEW) Frag.h["q"] = ((xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_STRING) | xrfragment_XRF.EMBEDDED) Frag.h["scale"] = ((((xrfragment_XRF.QUERY_OPERATOR | xrfragment_XRF.PV_OVERRIDE) | xrfragment_XRF.ROUNDROBIN) | xrfragment_XRF.T_VECTOR3) | xrfragment_XRF.EMBEDDED) - Frag.h["rot"] = ((((xrfragment_XRF.QUERY_OPERATOR | xrfragment_XRF.PV_OVERRIDE) | xrfragment_XRF.ROUNDROBIN) | xrfragment_XRF.T_VECTOR3) | xrfragment_XRF.EMBEDDED) + Frag.h["rot"] = (((((xrfragment_XRF.QUERY_OPERATOR | xrfragment_XRF.PV_OVERRIDE) | xrfragment_XRF.ROUNDROBIN) | xrfragment_XRF.T_VECTOR3) | xrfragment_XRF.EMBEDDED) | xrfragment_XRF.NAVIGATOR) Frag.h["translate"] = ((((xrfragment_XRF.QUERY_OPERATOR | xrfragment_XRF.PV_OVERRIDE) | xrfragment_XRF.ROUNDROBIN) | xrfragment_XRF.T_VECTOR3) | xrfragment_XRF.EMBEDDED) Frag.h["visible"] = ((((xrfragment_XRF.QUERY_OPERATOR | xrfragment_XRF.PV_OVERRIDE) | xrfragment_XRF.ROUNDROBIN) | xrfragment_XRF.T_INT) | xrfragment_XRF.EMBEDDED) Frag.h["env"] = (((xrfragment_XRF.ASSET | xrfragment_XRF.PV_OVERRIDE) | xrfragment_XRF.T_STRING) | xrfragment_XRF.EMBEDDED)