userInteraction boolean for orx-camera

This commit is contained in:
BoydRotgans
2019-03-12 12:06:27 +01:00
parent d9e4c5ba9b
commit b46e33c3dd
2 changed files with 11 additions and 10 deletions

View File

@@ -8,12 +8,12 @@ import org.openrndr.math.Matrix44
import org.openrndr.math.Vector3
@Suppress("unused")
class Debug3D(eye: Vector3 = Vector3(0.0, 0.0, 10.0), lookAt: Vector3 = Vector3.ZERO, fov:Double = 90.0) : Extension {
class Debug3D(eye: Vector3 = Vector3(0.0, 0.0, 10.0), lookAt: Vector3 = Vector3.ZERO, fov:Double = 90.0, userInteraction:Boolean = true) : Extension {
override var enabled: Boolean = true
var showGrid = false
val orbitalCamera = OrbitalCamera(eye, lookAt, 90.0)
private val orbitalControls = OrbitalControls(orbitalCamera)
private val orbitalControls = OrbitalControls(orbitalCamera, userInteraction)
private var lastSeconds: Double = -1.0
private val grid = vertexBuffer(

View File

@@ -4,7 +4,8 @@ import org.openrndr.*
import org.openrndr.math.Vector2
import org.openrndr.math.Vector3
class OrbitalControls(val orbitalCamera: OrbitalCamera) {
class OrbitalControls(val orbitalCamera: OrbitalCamera, val userInteraction: Boolean) {
enum class STATE {
NONE,
ROTATE,
@@ -18,7 +19,6 @@ class OrbitalControls(val orbitalCamera: OrbitalCamera) {
private lateinit var lastMousePosition: Vector2
private fun mouseScrolled(event: MouseEvent) {
if (Math.abs(event.rotation.x) > 0.1) return
when {
@@ -118,11 +118,12 @@ class OrbitalControls(val orbitalCamera: OrbitalCamera) {
fun setup(program: Program) {
this.program = program
program.mouse.moved.listen { mouseMoved(it) }
program.mouse.buttonDown.listen { mouseButtonDown(it) }
program.mouse.buttonUp.listen { state = STATE.NONE }
program.mouse.scrolled.listen { mouseScrolled(it) }
program.keyboard.keyDown.listen { keyPressed(it) }
program.keyboard.keyRepeat.listen{ keyPressed(it) }
if(userInteraction)
program.mouse.moved.listen { mouseMoved(it) }
program.mouse.buttonDown.listen { mouseButtonDown(it) }
program.mouse.buttonUp.listen { state = STATE.NONE }
program.mouse.scrolled.listen { mouseScrolled(it) }
program.keyboard.keyDown.listen { keyPressed(it) }
program.keyboard.keyRepeat.listen{ keyPressed(it) }
}
}