From 716487d70a78a872d7e18b2e3d902b1878e8d7c5 Mon Sep 17 00:00:00 2001 From: Alexander Nozik Date: Tue, 12 Jan 2021 13:06:13 +0300 Subject: [PATCH] Allow replacing root node in ThreeCanvas.kt --- .../hep/dataforge/vision/solid/three/ThreeCanvas.kt | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/visionforge-threejs/src/main/kotlin/hep/dataforge/vision/solid/three/ThreeCanvas.kt b/visionforge-threejs/src/main/kotlin/hep/dataforge/vision/solid/three/ThreeCanvas.kt index 9562ddb2..37e6f241 100644 --- a/visionforge-threejs/src/main/kotlin/hep/dataforge/vision/solid/three/ThreeCanvas.kt +++ b/visionforge-threejs/src/main/kotlin/hep/dataforge/vision/solid/three/ThreeCanvas.kt @@ -1,8 +1,10 @@ package hep.dataforge.vision.solid.three +import hep.dataforge.context.logger import hep.dataforge.meta.get import hep.dataforge.meta.string import hep.dataforge.names.Name +import hep.dataforge.names.asName import hep.dataforge.names.plus import hep.dataforge.names.toName import hep.dataforge.vision.Colors @@ -195,10 +197,8 @@ public class ThreeCanvas( } public fun render(vision: Solid) { - scene.children.find { it.name == "@root" }?.let { - //Throw error is something is already rendered here - error("Root object already is present in the canvas") - } + three.logger.info { "Replacing root node in $this" } + scene.findChild("@root".asName())?.let { scene.remove(it) } val object3D = three.buildObject3D(vision) object3D.name = "@root"