package local
import scalismo.ui.model.Scene
import scalismo.ui.view.{ScalismoFrame, ScalismoLookAndFeel}
import scalismo.ui.api.Viewport
import scalismo.ui.api.ObjectView
import scalismo.ui.api.ScalismoUI
class MyScalismoUI(title: String) extends ScalismoUI(title) {
def setBackgroundColor(color : java.awt.Color) : Unit = {
frame.sceneControl.backgroundColor.value = color
}
def screenshot(viewport : Viewport, file : java.io.File) : Unit = { .foreach(v => v.rendererPanel.screenshot(file))
}
}
object MyScalismoUI {
def apply(title: String = ""): MyScalismoUI = {
scalismo.initialize()
ScalismoLookAndFeel.initializeWith(ScalismoLookAndFeel.DefaultLookAndFeelClassName)
new MyScalismoUI(title)
}
}
object Test {
def main(args : Array[String]) : Unit = {
val ui = MyScalismoUI()
ui.setBackgroundColor(java.awt.Color.WHITE)
val mesh = MeshIO.readMesh(new java.io.File("test.ply")).get ui.show(mesh, "mesh")
Thread.sleep(3000) // make sure the mesh is rendered before the screenshot is taken
ui.screenshot(_3DMain, new java.io.File("x.png")) }
}