{"action":"opened","issue":{"url":"https://api.github.com/repos/opensourceBIM/BIMsurfer/issues/160","repository_url":"https://api.github.com/repos/opensourceBIM/BIMsurfer","labels_url":"https://api.github.com/repos/opensourceBIM/BIMsurfer/issues/160/labels{/name}","comments_url":"https://api.github.com/repos/opensourceBIM/BIMsurfer/issues/160/comments","events_url":"https://api.github.com/repos/opensourceBIM/BIMsurfer/issues/160/events","html_url":"https://github.com/opensourceBIM/BIMsurfer/issues/160","id":182765002,"number":160,"title":"Build model tree from glTF entities","user":{"login":"xeolabs","id":83100,"avatar_url":"https://avatars.githubusercontent.com/u/83100?v=3","gravatar_id":"","url":"https://api.github.com/users/xeolabs","html_url":"https://github.com/xeolabs","followers_url":"https://api.github.com/users/xeolabs/followers","following_url":"https://api.github.com/users/xeolabs/following{/other_user}","gists_url":"https://api.github.com/users/xeolabs/gists{/gist_id}","starred_url":"https://api.github.com/users/xeolabs/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/xeolabs/subscriptions","organizations_url":"https://api.github.com/users/xeolabs/orgs","repos_url":"https://api.github.com/users/xeolabs/repos","events_url":"https://api.github.com/users/xeolabs/events{/privacy}","received_events_url":"https://api.github.com/users/xeolabs/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/opensourceBIM/BIMsurfer/labels/V2","name":"V2","color":"d93f0b"}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2016-10-13T11:32:28Z","updated_at":"2016-10-13T11:32:28Z","closed_at":null,"body":"We're able to load glTF models into the viewer, but the parsing of those models is done inside ````xeoViewer.loadglTF()```` using xeoEngine's glTF importer. Therefore ````BimServerModel.getTree()```` is not able to return a tree for glTF models, because only ````xeoViewer```` has knowledge of those entities. \r\n\r\nTwo options I see:\r\n\r\n1. ````BimServerModel```` somehow pre-parses the glTF JSON to extract the node hierarchy from it, from which to build the tree. BimSurfer model could make it's own HTTP request to load the glTF JSON file. Then when xeoViewer als loads it, I guess it would be cached in the browser.\r\n2. Once ````xeoViewer```` has loaded the glTF, ````BimServerModel```` then gets objects from ````xeoViewer```` and builds the tree from them.\r\n\r\n1) is clunky, but at least is cleanly layered, where the model does not depend on the view. 2) is a pretty ugly cyclic dependency IMO.\r\n\r\nAny thoughts? "}}
{"actor":{"display_login":"xeolabs"}}