[orx-kinect] Change shutdown handler to inner class

This commit is contained in:
Edwin Jakobs
2021-04-10 17:35:49 +02:00
parent ddc81fc521
commit d2c77a0ba4

View File

@@ -17,19 +17,17 @@ class DefaultKinects<CTX>(
private val manager: KinectsManager<CTX>
) : Kinects<CTX> {
private inner class Destroyer : Thread() {
override fun run() {
manager.shutdown()
}
}
init {
manager.initialize()
// as we don't have explicit shutdown mechanism in OPENRNDR
// we need to install a shutdown hook for now
Runtime.getRuntime().addShutdownHook(
thread(
name = "${manager.javaClass.simpleName}-closer",
start = false,
isDaemon = false
) {
manager.shutdown()
}
)
Runtime.getRuntime().addShutdownHook(Destroyer())
}
override fun countDevices(): Int {
@@ -132,14 +130,20 @@ class DefaultKinectDepthCamera(
override var mirror: Boolean
get() = depthMapper.mirror
set(value) { depthMapper.mirror = value }
set(value) {
depthMapper.mirror = value
}
}
private class KinectRawDataToDepthMapper :
Filter(filterShaderFromUrl(
resourceUrl("kinect-raw-to-depth.frag",
DefaultKinects::class.java))
Filter(
filterShaderFromUrl(
resourceUrl(
"kinect-raw-to-depth.frag",
DefaultKinects::class.java
)
)
) {
var depthScale: Double by parameters
var mirror: Boolean by parameters