From 5a8f42d9d073c2f790f51f78dadfc4790af35d78 Mon Sep 17 00:00:00 2001 From: BrutalCoding Date: Mon, 19 Oct 2020 16:33:24 +0800 Subject: [PATCH] Added new parameter to enable/disable the white dots on surface (plane renderer) --- .../arcore_flutter_plugin/ArCoreView.kt | 9 ++++++++- lib/src/arcore_controller.dart | 3 +++ lib/src/arcore_view.dart | 11 +++++++---- 3 files changed, 18 insertions(+), 5 deletions(-) diff --git a/android/src/main/kotlin/com/difrancescogianmarco/arcore_flutter_plugin/ArCoreView.kt b/android/src/main/kotlin/com/difrancescogianmarco/arcore_flutter_plugin/ArCoreView.kt index fce75ced..f70c3e2f 100644 --- a/android/src/main/kotlin/com/difrancescogianmarco/arcore_flutter_plugin/ArCoreView.kt +++ b/android/src/main/kotlin/com/difrancescogianmarco/arcore_flutter_plugin/ArCoreView.kt @@ -315,6 +315,13 @@ class ArCoreView(val activity: Activity, context: Context, messenger: BinaryMess // detected. arSceneView?.scene?.addOnUpdateListener(sceneUpdateListener) } + + val enablePlaneRenderer: Boolean? = call.argument("enablePlaneRenderer") + if (enablePlaneRenderer != null && !enablePlaneRenderer) { + Log.i(TAG, " The plane renderer (enablePlaneRenderer) is set to " + enablePlaneRenderer.toString()) + arSceneView!!.planeRenderer.isVisible = false + } + result.success(null) } @@ -482,7 +489,7 @@ class ArCoreView(val activity: Activity, context: Context, messenger: BinaryMess } if (arSceneView?.session != null) { -// arSceneView!!.planeRenderer.isVisible = false + //arSceneView!!.planeRenderer.isVisible = false Log.i(TAG, "Searching for surfaces") } } diff --git a/lib/src/arcore_controller.dart b/lib/src/arcore_controller.dart index 183b210d..a7b1fd9e 100644 --- a/lib/src/arcore_controller.dart +++ b/lib/src/arcore_controller.dart @@ -35,6 +35,7 @@ class ArCoreController { ArCoreController({ int id, this.enableTapRecognizer, + this.enablePlaneRenderer, this.enableUpdateListener, // @required this.onUnsupported, }) { @@ -45,6 +46,7 @@ class ArCoreController { final bool enableUpdateListener; final bool enableTapRecognizer; + final bool enablePlaneRenderer; MethodChannel _channel; StringResultHandler onError; StringResultHandler onNodeTap; @@ -59,6 +61,7 @@ class ArCoreController { try { await _channel.invokeMethod('init', { 'enableTapRecognizer': enableTapRecognizer, + 'enablePlaneRenderer': enablePlaneRenderer, 'enableUpdateListener': enableUpdateListener, }); } on PlatformException catch (ex) { diff --git a/lib/src/arcore_view.dart b/lib/src/arcore_view.dart index 87392cbb..7e8703b4 100644 --- a/lib/src/arcore_view.dart +++ b/lib/src/arcore_view.dart @@ -13,6 +13,7 @@ class ArCoreView extends StatefulWidget { // final UnsupportedHandler onArCoreUnsupported; final bool enableTapRecognizer; + final bool enablePlaneRenderer; final bool enableUpdateListener; final ArCoreViewType type; @@ -21,6 +22,7 @@ class ArCoreView extends StatefulWidget { @required this.onArCoreViewCreated, // @required this.onArCoreUnsupported, this.enableTapRecognizer = false, + this.enablePlaneRenderer = true, this.enableUpdateListener = false, this.type = ArCoreViewType.STANDARDVIEW, }) : super(key: key); @@ -58,11 +60,12 @@ class _ArCoreViewState extends State with WidgetsBindingObserver { return; } widget.onArCoreViewCreated(ArCoreController( - id: id, - enableTapRecognizer: widget.enableTapRecognizer, - enableUpdateListener: widget.enableUpdateListener, + id: id, + enableTapRecognizer: widget.enableTapRecognizer, + enableUpdateListener: widget.enableUpdateListener, + enablePlaneRenderer: widget.enablePlaneRenderer // onUnsupported: widget.onArCoreUnsupported, - )); + )); } @override