# B3DMLoader

class in `3d-tiles-renderer/playcanvas`, extends `B3DMLoaderBase`

```js
import { B3DMLoader } from '3d-tiles-renderer/playcanvas';
```

PlayCanvas loader for B3DM (Batched 3D Model) tile content. Parses the B3DM header and tables
and loads the embedded GLB with `GLTFLoader`.

## Constructor

```js
new B3DMLoader( app: AppBase )
```

- `app`, `AppBase`: The PlayCanvas application.

## Properties

### .app: AppBase

The PlayCanvas application the content is created for.

### .assetOptions: Object | null

Options passed to the `container` asset, such as glTF parser callbacks.

### .renderOptions: Object | null

Options passed to the render components created for the content, such as `castShadows`.

## Methods

### .parse

```js
async .parse( buffer: ArrayBuffer, url: string ): Promise<Object>
```

- `buffer`, `ArrayBuffer`: The raw B3DM file data.
- `url`, `string`: The URL of the content, used to resolve relative resources.

Returns `Promise<Object>`: The loaded model as returned by `GLTFLoader#parse`, plus the
B3DM batch and feature tables, and the `RTC_CENTER` offset if the feature table has one.
