BuildingExplorer class

A widget that enables a user to explore a building model in a BuildingSceneLayer.

Overview

The Building Explorer widget provides a tool for users to browse the levels and sublayers of a building scene layer. The widget can highlight specified levels and show or hide building features of different categories and subcategories.

Features

  • Showing the name of the layer as the title of the widget.
  • Selecting a level of the building to highlight in the view.
    • The selected level and all of the features of the level are rendered normally.
    • Levels above are hidden.
    • Levels below are given an X-ray style.
  • Visibility of building feature categories and subcategories can be toggled on and off.

Usage

A BuildingExplorer widget is created with the following parameters:

  • buildingExplorerControllerProvider: A Function that returns the BuildingExplorerController that contains state data for this widget.
  • onClose: An optional callback that is called when the close button of the widget is tapped. If a callback is not provided, the close button will be hidden.

The widget can be inserted into a widget tree by calling the constructor and supplying a BuildingSceneLayer and an optional onClose callback function.

BuildingExplorer(
  buildingExplorerControllerProvider: () =>
             BuildingExplorer.createController(localSceneViewController),
  onClose: () {
    // Optional: handle close action
  },
),
Inheritance

Constructors

BuildingExplorer({required BuildingExplorerController buildingExplorerControllerProvider(), VoidCallback? onClose, Key? key})
Creates a BuildingExplorer widget for use in a widget tree. The constructor requires a BuildingExplorerController and an optional onClose callback.
const

Properties

buildingExplorerControllerProvider BuildingExplorerController Function()
Called when this BuildingExplorer needs a BuildingExplorerController to associate with itself.
final
hashCode int
The hash code for this object.
no setterinherited
key Key?
Controls how one widget replaces another widget in the tree.
finalinherited
onClose VoidCallback?
Optional onClose callback. If set, a "close" IconButton will appear at the top right of the widget. The callback function is called when the "close" button is tapped.
final
runtimeType Type
A representation of the runtime type of the object.
no setterinherited

Methods

createElement() StatefulElement
Creates a StatefulElement to manage this widget's location in the tree.
inherited
createState() State<BuildingExplorer>
Creates the mutable state for this widget at a given location in the tree.
override
debugDescribeChildren() List<DiagnosticsNode>
Returns a list of DiagnosticsNode objects describing this node's children.
inherited
debugFillProperties(DiagnosticPropertiesBuilder properties) → void
Add additional properties associated with the node.
inherited
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toDiagnosticsNode({String? name, DiagnosticsTreeStyle? style}) DiagnosticsNode
Returns a debug representation of the object that is used by debugging tools and by DiagnosticsNode.toStringDeep.
inherited
toString({DiagnosticLevel minLevel = DiagnosticLevel.info}) String
A string representation of this object.
inherited
toStringDeep({String prefixLineOne = '', String? prefixOtherLines, DiagnosticLevel minLevel = DiagnosticLevel.debug, int wrapWidth = 65}) String
Returns a string representation of this node and its descendants.
inherited
toStringShallow({String joiner = ', ', DiagnosticLevel minLevel = DiagnosticLevel.debug}) String
Returns a one-line detailed description of the object.
inherited
toStringShort() String
A short, textual description of this widget.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited

Static Methods

createController(ArcGISLocalSceneViewController viewController) BuildingExplorerController
Static function used to create the BuildingExplorerController that will be used between widget instances.