71 lines
2.2 KiB
JavaScript
71 lines
2.2 KiB
JavaScript
class MainDashboardView extends EICDomContent {
|
|
|
|
|
|
//TODO should come from the API, from some sprites lib. (allow switching representations)
|
|
agentTypes = {
|
|
molecule1:{
|
|
"type": "Mesh",
|
|
"geometry": { "type": "BoxGeometry", "args": [1, 1, 1] },
|
|
"material": { "type": "MeshStandardMaterial", "color": "orange" },
|
|
"children": [
|
|
{
|
|
"type": "Mesh",
|
|
"geometry": { "type": "SphereGeometry", "args": [0.3, 16, 16] },
|
|
"material": { "type": "MeshStandardMaterial", "color": "blue" },
|
|
"position": [0, 0.5, 0]
|
|
}
|
|
]
|
|
},
|
|
molecule2:{
|
|
"type": "Mesh",
|
|
"geometry": { "type": "SphereGeometry", "args": [1, 1, 1] },
|
|
"material": { "type": "MeshStandardMaterial", "color": "green" },
|
|
"children": [
|
|
{
|
|
"type": "Mesh",
|
|
"geometry": { "type": "SphereGeometry", "args": [0.3, 16, 16] },
|
|
"material": { "type": "MeshStandardMaterial", "color": "red" },
|
|
"position": [0, 1, 0]
|
|
}
|
|
]
|
|
}
|
|
|
|
}
|
|
|
|
constructor() {
|
|
super()
|
|
Object.assign(this, app.helpers.activeAttributes)
|
|
//this.tileMarkup = app.Assets.Store.html['/app/assets/html/mailing/tile.html']
|
|
}
|
|
|
|
DOMContentFocused(options) {
|
|
// Avoid 2nd refesh on DomContentLoaded
|
|
if(this.wasBlured){
|
|
//this.refreshyoustuff()
|
|
}
|
|
this.wasBlured = false
|
|
}
|
|
|
|
DOMContentBlured(options) { this.wasBlured = true }
|
|
|
|
DOMContentLoaded(options) {
|
|
for(let model in options.models) this[model] = options.models[model]
|
|
const components = ui.eicfy(this.el)
|
|
this.setupTriggers(components)
|
|
this.setupRefs(components)
|
|
|
|
this.ttb = new app.LoadedModules.Threetobus(this.outputs.paper43)
|
|
this.ttb.initScene()
|
|
this.ttb.startRendering(options.mode)
|
|
|
|
const m1 = this.ttb.buildFromJSON(this.agentTypes.molecule1)
|
|
m1.name = 'toto'
|
|
this.ttb.scene.add(m1)
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
app.registerClass('MainDashboardView', MainDashboardView)
|