android bindings for new camera/manipulator
This commit is contained in:
@@ -46,11 +46,11 @@ interface FilamentInterop : Library {
|
|||||||
|
|
||||||
fun update_viewport_and_camera_projection(viewer:Pointer, width:Int, height:Int, scaleFactor:Float);
|
fun update_viewport_and_camera_projection(viewer:Pointer, width:Int, height:Int, scaleFactor:Float);
|
||||||
|
|
||||||
fun scroll(viewer:Pointer, x:Float, y:Float, z:Float);
|
fun scroll(viewer:Pointer, x:Float, y:Float, delta:Float);
|
||||||
|
|
||||||
fun grab_begin(viewer:Pointer, x:Int, y:Int, pan:Boolean)
|
fun grab_begin(viewer:Pointer, x:Float, y:Float, pan:Boolean)
|
||||||
|
|
||||||
fun grab_update(viewer:Pointer, x:Int, y:Int)
|
fun grab_update(viewer:Pointer, x:Float, y:Float)
|
||||||
|
|
||||||
fun grab_end(viewer:Pointer)
|
fun grab_end(viewer:Pointer)
|
||||||
|
|
||||||
@@ -90,5 +90,6 @@ interface FilamentInterop : Library {
|
|||||||
fun set_camera_rotation(asset:Pointer, rads:Float, x:Float, y:Float, z:Float);
|
fun set_camera_rotation(asset:Pointer, rads:Float, x:Float, y:Float, z:Float);
|
||||||
fun set_camera_focal_length(asset:Pointer, focalLength:Float);
|
fun set_camera_focal_length(asset:Pointer, focalLength:Float);
|
||||||
fun set_camera_focus_distance(asset:Pointer, focusDistance:Float);
|
fun set_camera_focus_distance(asset:Pointer, focusDistance:Float);
|
||||||
|
fun set_scale(asset:Pointer, scale:Float);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -283,6 +283,14 @@ class PolyvoxFilamentPlugin: FlutterPlugin, MethodCallHandler, ActivityAware {
|
|||||||
result.success("OK");
|
result.success("OK");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
"setScale" -> {
|
||||||
|
executor.execute {
|
||||||
|
val args = call.arguments as ArrayList<*>
|
||||||
|
val assetPtr = Pointer(args[0] as Long)
|
||||||
|
_lib.set_scale(assetPtr, (args[1] as Double).toFloat())
|
||||||
|
result.success("OK");
|
||||||
|
}
|
||||||
|
}
|
||||||
"setRotation" -> {
|
"setRotation" -> {
|
||||||
executor.execute {
|
executor.execute {
|
||||||
val args = call.arguments as ArrayList<*>
|
val args = call.arguments as ArrayList<*>
|
||||||
@@ -344,7 +352,8 @@ class PolyvoxFilamentPlugin: FlutterPlugin, MethodCallHandler, ActivityAware {
|
|||||||
}
|
}
|
||||||
"zoom" -> {
|
"zoom" -> {
|
||||||
executor.execute {
|
executor.execute {
|
||||||
_lib.scroll(_viewer!!, 0.0f, 0.0f, (call.arguments as Double).toFloat())
|
val args = call.arguments as ArrayList<*>
|
||||||
|
_lib.scroll(_viewer!!, (args[0] as Double).toFloat(), (args[1] as Double).toFloat(), (args[2] as Double).toFloat())
|
||||||
result.success("OK");
|
result.success("OK");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -402,14 +411,17 @@ class PolyvoxFilamentPlugin: FlutterPlugin, MethodCallHandler, ActivityAware {
|
|||||||
"panStart" -> {
|
"panStart" -> {
|
||||||
executor.execute {
|
executor.execute {
|
||||||
val args = call.arguments as ArrayList<Any?>
|
val args = call.arguments as ArrayList<Any?>
|
||||||
_lib.grab_begin(_viewer!!, args[0] as Int, args[1] as Int, true)
|
_lib.grab_begin(_viewer!!, (args[0] as Double).toFloat(), (args[1] as Double).toFloat(), true)
|
||||||
result.success("OK");
|
result.success("OK");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
"panUpdate" -> {
|
"panUpdate" -> {
|
||||||
executor.execute {
|
executor.execute {
|
||||||
val args = call.arguments as ArrayList<Any?>
|
val args = call.arguments as ArrayList<Any?>
|
||||||
_lib.grab_update(_viewer!!, args[0] as Int, args[1] as Int)
|
val x = (args[0] as Double).toFloat()
|
||||||
|
val y = (args[1] as Double).toFloat()
|
||||||
|
Log.v(TAG, "panUpdate ${x} ${y}")
|
||||||
|
_lib.grab_update(_viewer!!, x, y)
|
||||||
result.success("OK");
|
result.success("OK");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -422,14 +434,14 @@ class PolyvoxFilamentPlugin: FlutterPlugin, MethodCallHandler, ActivityAware {
|
|||||||
"rotateStart" -> {
|
"rotateStart" -> {
|
||||||
executor.execute {
|
executor.execute {
|
||||||
val args = call.arguments as ArrayList<Any?>
|
val args = call.arguments as ArrayList<Any?>
|
||||||
_lib.grab_begin(_viewer!!, args[0] as Int, args[1] as Int, false)
|
_lib.grab_begin(_viewer!!, (args[0] as Double).toFloat(), (args[1] as Double).toFloat(), false)
|
||||||
result.success("OK");
|
result.success("OK");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
"rotateUpdate" -> {
|
"rotateUpdate" -> {
|
||||||
executor.execute {
|
executor.execute {
|
||||||
val args = call.arguments as ArrayList<Any?>
|
val args = call.arguments as ArrayList<Any?>
|
||||||
_lib.grab_update(_viewer!!, args[0] as Int, args[1] as Int)
|
_lib.grab_update(_viewer!!, (args[0] as Double).toFloat(), (args[1] as Double).toFloat())
|
||||||
result.success("OK");
|
result.success("OK");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -442,14 +454,14 @@ class PolyvoxFilamentPlugin: FlutterPlugin, MethodCallHandler, ActivityAware {
|
|||||||
"grabStart" -> {
|
"grabStart" -> {
|
||||||
executor.execute {
|
executor.execute {
|
||||||
val args = call.arguments as ArrayList<Any?>
|
val args = call.arguments as ArrayList<Any?>
|
||||||
_lib.grab_begin(_viewer!!, args[0] as Int, args[1] as Int, true)
|
_lib.grab_begin(_viewer!!, (args[0] as Double).toFloat(), (args[1] as Double).toFloat(), true)
|
||||||
result.success("OK");
|
result.success("OK");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
"grabUpdate" -> {
|
"grabUpdate" -> {
|
||||||
executor.execute {
|
executor.execute {
|
||||||
val args = call.arguments as ArrayList<Any?>
|
val args = call.arguments as ArrayList<Any?>
|
||||||
_lib.grab_update(_viewer!!, args[0] as Int, args[1] as Int)
|
_lib.grab_update(_viewer!!, (args[0] as Double).toFloat(), (args[1] as Double).toFloat())
|
||||||
result.success("OK");
|
result.success("OK");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user