userInteraction boolean for orx-camera
This commit is contained in:
@@ -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(
|
||||
|
||||
@@ -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) }
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user