userInteraction boolean for orx-camera
This commit is contained in:
@@ -8,12 +8,12 @@ import org.openrndr.math.Matrix44
|
|||||||
import org.openrndr.math.Vector3
|
import org.openrndr.math.Vector3
|
||||||
|
|
||||||
@Suppress("unused")
|
@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
|
override var enabled: Boolean = true
|
||||||
var showGrid = false
|
var showGrid = false
|
||||||
val orbitalCamera = OrbitalCamera(eye, lookAt, 90.0)
|
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 var lastSeconds: Double = -1.0
|
||||||
|
|
||||||
private val grid = vertexBuffer(
|
private val grid = vertexBuffer(
|
||||||
|
|||||||
@@ -4,7 +4,8 @@ import org.openrndr.*
|
|||||||
import org.openrndr.math.Vector2
|
import org.openrndr.math.Vector2
|
||||||
import org.openrndr.math.Vector3
|
import org.openrndr.math.Vector3
|
||||||
|
|
||||||
class OrbitalControls(val orbitalCamera: OrbitalCamera) {
|
class OrbitalControls(val orbitalCamera: OrbitalCamera, val userInteraction: Boolean) {
|
||||||
|
|
||||||
enum class STATE {
|
enum class STATE {
|
||||||
NONE,
|
NONE,
|
||||||
ROTATE,
|
ROTATE,
|
||||||
@@ -18,7 +19,6 @@ class OrbitalControls(val orbitalCamera: OrbitalCamera) {
|
|||||||
private lateinit var lastMousePosition: Vector2
|
private lateinit var lastMousePosition: Vector2
|
||||||
|
|
||||||
private fun mouseScrolled(event: MouseEvent) {
|
private fun mouseScrolled(event: MouseEvent) {
|
||||||
|
|
||||||
if (Math.abs(event.rotation.x) > 0.1) return
|
if (Math.abs(event.rotation.x) > 0.1) return
|
||||||
|
|
||||||
when {
|
when {
|
||||||
@@ -118,11 +118,12 @@ class OrbitalControls(val orbitalCamera: OrbitalCamera) {
|
|||||||
|
|
||||||
fun setup(program: Program) {
|
fun setup(program: Program) {
|
||||||
this.program = program
|
this.program = program
|
||||||
program.mouse.moved.listen { mouseMoved(it) }
|
if(userInteraction)
|
||||||
program.mouse.buttonDown.listen { mouseButtonDown(it) }
|
program.mouse.moved.listen { mouseMoved(it) }
|
||||||
program.mouse.buttonUp.listen { state = STATE.NONE }
|
program.mouse.buttonDown.listen { mouseButtonDown(it) }
|
||||||
program.mouse.scrolled.listen { mouseScrolled(it) }
|
program.mouse.buttonUp.listen { state = STATE.NONE }
|
||||||
program.keyboard.keyDown.listen { keyPressed(it) }
|
program.mouse.scrolled.listen { mouseScrolled(it) }
|
||||||
program.keyboard.keyRepeat.listen{ keyPressed(it) }
|
program.keyboard.keyDown.listen { keyPressed(it) }
|
||||||
|
program.keyboard.keyRepeat.listen{ keyPressed(it) }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user