2023-10-27 16:55:48 +02:00
|
|
|
xrf.frag.defaultPredefinedViews = (opts) => {
|
2023-08-15 18:27:26 +02:00
|
|
|
let {scene,model} = opts;
|
2023-10-27 16:55:48 +02:00
|
|
|
scene.traverse( (n) => {
|
|
|
|
|
if( n.userData && n.userData['#'] ){
|
|
|
|
|
let frag = xrf.URI.parse( n.userData['#'] )
|
|
|
|
|
xrf.hashbus.pub.XRWG({frag,model,scene})
|
2023-09-14 10:21:16 +02:00
|
|
|
}
|
2023-10-27 16:55:48 +02:00
|
|
|
})
|
2023-06-08 17:45:21 +02:00
|
|
|
}
|
|
|
|
|
|
2023-09-15 19:42:37 +02:00
|
|
|
// react to enduser typing url
|
|
|
|
|
xrf.addEventListener('hash', (opts) => {
|
2023-10-25 17:32:19 +02:00
|
|
|
let frag = xrf.URI.parse( opts.hash )
|
2023-10-27 16:55:48 +02:00
|
|
|
xrf.hashbus.pub.XRWG({frag,scene:xrf.scene})
|
2023-09-14 10:21:16 +02:00
|
|
|
})
|
2023-06-08 17:45:21 +02:00
|
|
|
|
|
|
|
|
// clicking href url with predefined view
|
|
|
|
|
xrf.addEventListener('href', (opts) => {
|
|
|
|
|
if( !opts.click || opts.xrf.string[0] != '#' ) return
|
2023-08-15 18:27:26 +02:00
|
|
|
let frag = xrf.URI.parse( opts.xrf.string, xrf.XRF.NAVIGATOR | xrf.XRF.PV_OVERRIDE | xrf.XRF.METADATA )
|
2023-10-27 16:55:48 +02:00
|
|
|
xrf.hashbus.pub.XRWG({frag,scene:xrf.scene,href:opts.xrf})
|
2023-06-08 17:45:21 +02:00
|
|
|
})
|