# Interface Draco

interface Draco {
decoderPath: string;
_createGeometry(geometryData: any): BufferGeometry;
_getWorker(taskID: number, taskCost: number): Promise<Worker>;
_initDecoder(): Promise<void>;
_releaseTask(worker: Worker, taskID: number): void;
decodeDracoFile(
buffer: ArrayBuffer,
callback: (geometry: BufferGeometry) => void,
attributeIDs: Record<string, string>,
attributeTypes: Record<string, any>,
): void;
decodeGeometry(
buffer: ArrayBuffer,
taskConfig?: {
attributeIDs: Record<string, string>;
attributeTypes: Record<string, any>;
useUniqueIDs: boolean;
},
): Promise<BufferGeometry>;
dispose(): Draco;
setDecoderConfig(config: any): Draco;
setDecoderPath(decoderPath: string): void;
setWorkerLimit(workerLimit: number): Draco;
}

- Defined in lib/five/utils/draco.ts:19

##### Index

### Properties

decoderPath

### Methods

_createGeometry
_getWorker
_initDecoder
_releaseTask
decodeDracoFile
decodeGeometry
dispose
setDecoderConfig
setDecoderPath
setWorkerLimit

## Properties

### decoderPath

decoderPath: string

- Defined in lib/five/utils/draco.ts:21

## Methods

### _createGeometry

- _createGeometry(geometryData: any): BufferGeometry

  #### Parameters

  - geometryData: any

  #### Returns BufferGeometry

  - Defined in lib/five/utils/draco.ts:118

### _getWorker

- _getWorker(taskID: number, taskCost: number): Promise<Worker>

  #### Parameters

  - taskID: number
  - taskCost: number

  #### Returns Promise<Worker>

  - Defined in lib/five/utils/draco.ts:181

### _initDecoder

- _initDecoder(): Promise<void>

  #### Returns Promise<void>

  - Defined in lib/five/utils/draco.ts:134

### _releaseTask

- _releaseTask(worker: Worker, taskID: number): void

  #### Parameters

  - worker: Worker
  - taskID: number

  #### Returns void

  - Defined in lib/five/utils/draco.ts:226

### decodeDracoFile

- decodeDracoFile(
  buffer: ArrayBuffer,
  callback: (geometry: BufferGeometry) => void,
  attributeIDs: Record<string, string>,
  attributeTypes: Record<string, any>,
  ): void

  #### Parameters

  - buffer: ArrayBuffer
  - callback: (geometry: BufferGeometry) => void
  - attributeIDs: Record<string, string>
  - attributeTypes: Record<string, any>

  #### Returns void

  - Defined in lib/five/utils/draco.ts:54

### decodeGeometry

- decodeGeometry(
  buffer: ArrayBuffer,
  taskConfig?: {
  attributeIDs: Record<string, string>;
  attributeTypes: Record<string, any>;
  useUniqueIDs: boolean;
  },
  ): Promise<BufferGeometry>

  #### Parameters

  - buffer: ArrayBuffer
  - taskConfig: {
    attributeIDs: Record<string, string>;
    attributeTypes: Record<string, any>;
    useUniqueIDs: boolean;
    } = ...

  #### Returns Promise<BufferGeometry>

  - Defined in lib/five/utils/draco.ts:68

### dispose

- dispose(): Draco

  #### Returns Draco

  - Defined in lib/five/utils/draco.ts:235

### setDecoderConfig

- setDecoderConfig(config: any): Draco

  #### Parameters

  - config: any

  #### Returns Draco

  - Defined in lib/five/utils/draco.ts:44

### setDecoderPath

- setDecoderPath(decoderPath: string): void

  #### Parameters

  - decoderPath: string

  #### Returns void

  - Defined in lib/five/utils/draco.ts:40

### setWorkerLimit

- setWorkerLimit(workerLimit: number): Draco

  #### Parameters

  - workerLimit: number

  #### Returns Draco

  - Defined in lib/five/utils/draco.ts:49