IBimDataPart

IBimDataPart – базовый интерфейс объекта-посредника для чтения и записи файлов модели или облаков точек.

export interface IBimDataPart {
  id: string;
  isOpen: boolean;
  open(buffer?: ArrayBuffer): Promise<void>;
  isValid(): Promise<boolean>;
  write(buffer: ArrayBuffer, position: number): Promise<void>;
  close(): Promise<void>;
  remove(): Promise<void>;
  dispose(): Promise<void>;
}

Поля

id

Уникальный идентификатор файла модели.

  id: string;

isOpen

Флаг, показывающий открыт ли файл модели для чтения.

  isOpen: boolean;

Методы

open()

Метод открывает файл модели для чтения.

  open(buffer?: ArrayBuffer): Promise<void>;

где:
buffer – массив данных файла модели, необязательный параметр.
Если buffer определён, и файл модели уже существует, то файл перезаписывается с новыми данными.
Если buffer определён, и файл не существует, то создается новый файл с указанными данными.
Если buffer не определён, и файл модели уже существует, то открывается существующий файл.
Если buffer не определён, и файл не существует, то создается новый файл с указанными данными.

write()

Метод записывает массив данных в файл модели по указанному смещению. Файл модели должен быть закрыт для чтения.

  write(buffer: ArrayBuffer, position: number): Promise<void>;

где:
buffer – массив данных файла модели.
position – смещение указателя записи файла.

isValid()

Метод проверяет целостность файла модели.

  isValid(): Promise<boolean>;

close()

Метод завершает работу с файлом модели и закрывает его для чтения.

  close(): Promise<void>;

remove()

Метод удаляет файл модели из файловой системы.

  remove(): Promise<void>;

dispose()

Метод завершает работу объекта-посредника и освобождает выделенные ресурсы. Файл модели удаляется только для MEMFS файловой системы.

  dispose(): Promise<void>;