Skip to content

mount

Once created, the BIMDataViewer must be mounted to a DOM element in order to be displayed to the user.

javascript
bimdataViewer.mount("#viewerId"); // 'viewerId' must be the id of an existing element.

The mount method take an optional second argument: the layout. The layout is the configuration of the windows displayed at startup. The default value is "3d", which is the name of a window registered by default. The "3d" window includes many BIMData plugins like "viewer3d", "section", "projection", "structure-properties"...

The layout object passed to the bimdataviewer.mount method can be either a string or an object.

  • If string, it must be the name of a registered window.
  • If object, the layout represents a window or a recursive object representing a container of window names.

Window

A window is represented by a string with its name or the following Object:

NameTypeDescription
windowNamestringThe name of the window to load.
windowState{ modelIds: number, viewpoint: Object, storey: string }The state to load. (the storey string is the storey key)

Container

NameTypeDescription
ratiosnumber[]Required. The amount of space (in %) taken by respective children.
children`string[]object[]`
directionstring"column" or "row" (default). The direction of the container.

Here is an example of a complex layout:

js
const layout = {
  ratios: [40, 60],
  children: [
    "window-1",
    {
      direction: "column",
      ratios: [40, 60],
      children: [
        "window-2",
        {
          windowName: "window-3",
          windowState: {
            modelIds: [4717],
          },
        },
      ],
    },
  ],
};

The result is the following UI layout:

Viewer complex mount layouts.