2020-03-23 22:19:52 +03:00
|
|
|
import hep.dataforge.context.Global
|
|
|
|
import hep.dataforge.js.Application
|
|
|
|
import hep.dataforge.js.startApplication
|
|
|
|
import hep.dataforge.names.Name
|
2020-08-05 22:03:47 +03:00
|
|
|
import hep.dataforge.vision.bootstrap.visualPropertyEditor
|
2020-08-09 14:41:24 +03:00
|
|
|
import hep.dataforge.vision.react.objectTree
|
2020-08-08 09:40:07 +03:00
|
|
|
import hep.dataforge.vision.solid.Point3D
|
|
|
|
import hep.dataforge.vision.solid.SolidGroup
|
|
|
|
import hep.dataforge.vision.solid.box
|
|
|
|
import hep.dataforge.vision.solid.group
|
|
|
|
import hep.dataforge.vision.solid.three.ThreePlugin
|
|
|
|
import hep.dataforge.vision.solid.three.threeCanvas
|
2020-03-23 22:19:52 +03:00
|
|
|
import org.w3c.dom.HTMLElement
|
|
|
|
import react.dom.div
|
|
|
|
import react.dom.render
|
|
|
|
import kotlin.browser.document
|
|
|
|
|
|
|
|
private class PlayGroundApp : Application {
|
|
|
|
|
|
|
|
private val three = Global.plugins.fetch(ThreePlugin)
|
|
|
|
|
|
|
|
override fun start(state: Map<String, Any>) {
|
|
|
|
|
|
|
|
val element =
|
|
|
|
document.getElementById("app") as? HTMLElement ?: error("Element with id 'canvas' not found on page")
|
|
|
|
|
2020-08-08 09:40:07 +03:00
|
|
|
val obj = SolidGroup().apply {
|
2020-03-23 22:37:02 +03:00
|
|
|
box(100, 100, 100, name = "A")
|
|
|
|
group("B") {
|
2020-03-23 22:19:52 +03:00
|
|
|
position = Point3D(120, 0, 0)
|
2020-03-23 22:37:02 +03:00
|
|
|
box(100, 100, 100, name = "C")
|
2020-03-23 22:19:52 +03:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
render(element) {
|
|
|
|
div("row") {
|
|
|
|
div("col-3") {
|
|
|
|
objectTree(obj)
|
|
|
|
}
|
|
|
|
div("col-6") {
|
|
|
|
threeCanvas(obj)
|
|
|
|
}
|
|
|
|
div("col-3") {
|
|
|
|
visualPropertyEditor(Name.EMPTY, obj)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
fun main() {
|
|
|
|
startApplication(::PlayGroundApp)
|
|
|
|
}
|