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.