Model

Model – это класс управления консолидированной моделью, загруженной в компонент.

Методы

getAllModelParts()

Метод возвращает все загруженные части консолидированной модели.

getAllModelParts(): ModelPart[];

getModelPart()

Метод возвращает часть консолидированной модели по её идентификатору.

getModelPart(id: string): ModelPart;

где:
id – идентификатор части консолидированной модели.

getVisibleModelParts()

Метод возвращает все видимые части консолидированной модели.

getVisibleModelParts(): ModelPart[]

getHiddenModelParts()

Метод возвращает все скрытые части консолидированной модели.

getHiddenModelParts(): ModelPart[]

hideModelPart()

Метод позволяет скрыть часть консолидированной модели.

hideModelPart(modelPart: string | ModelPart): void;

где:
modelPart – идентификатор или экземпляр части модели.

showModelPart()

Метод позволяет показать часть консолидированной модели.

showModelPart(modelPart: string | ModelPart): void

где:
modelPart – идентификатор или экземпляр части модели.

hide()

Метод позволяет скрыть элементы модели.

hide(elementIds: string[] | string, modelPart?: string | ModelPart, recursive: boolean = true): void

где:
elementIds – один или несколько идентификаторов элементов модели.

modelPart – идентификатор или экземпляр части модели. Необязательный параметр. Если этот параметр не задан, то обрабатываются элементы первой загруженной части модели.

recursive – флаг, указывающий на рекурсивный обход элементов модели. По умолчанию: true - скрываются также все дочерние элементы.

hideAll()

Метод позволяет скрыть все элементы и части модели.

hideAll(): void;

show()

Метод позволяет показать скрытые элементы.

show(elementIds: string[] | string, modelPart?: string | ModelPart, recursive: boolean = true): void;

где:
elementIds – один или несколько идентификаторов элементов модели.

modelPart – идентификатор или экземпляр части модели. Необязательный параметр. Если этот параметр не задан, то обрабатываются элементы первой загруженной части модели.

recursive – флаг, указывающий на рекурсивный обход элементов модели. По умолчанию: true - отображаются также все дочерние элементы.

showAll()

Метод позволяет показать все элементы и части модели.

showAll(): void;

isolate()

Метод позволяет изолировать элементы одной части модели. Все неизолированные элементы модели будут скрыты.

isolate(elementIds: string[], modelPart: string | ModelPart, recursive: boolean = true): void;

где:
elementIds – один или несколько идентификаторов элементов модели.

modelPart – идентификатор или экземпляр части модели. Необязательный параметр. Если этот параметр не задан, то обрабатываются элементы первой загруженной части модели.

recursive – флаг, указывающий на рекурсивный обход элементов модели. По умолчанию: true - все дочерние элементы также добавляются к изолированным элементам.

isolateMultiple()

Метод позволяет изолировать элементы модели. Все неизолированные элементы модели будут скрыты.

isolateMultiple(elements: ModelElementIds[], recursive: boolean = true): void;

где:
elements – список идентификаторов элементов модели, сгруппированных по части модели. Подробнее: ModelElementIds.

recursive – флаг, указывающий на рекурсивный обход элементов модели. По умолчанию: true - все дочерние элементы также добавляются к изолированным элементам.

select()

Метод позволяет выделить элементы.

select(elementIds: string[] | string, modelPart: string | ModelPart, selectionMode: SelectionMode, recursive: boolean = false): void

где:
elementIds – один или несколько идентификаторов элементов модели.

modelPart – идентификатор или экземпляр части модели.

selectionMode – режим выделения. Подробнее: SelectionMode.

recursive – флаг, указывающий на рекурсивный обход элементов модели. По умолчанию: false - дочерние элементы не выделяются.

deselect()

Метод позволяет снять выделение с заданных элементов.

deselect(elementIds: string[] | string, modelPart?: string | ModelPart, recursive: boolean = false): void

где:
elementIds – один или несколько идентификаторов элементов модели.

modelPart – идентификатор или экземпляр части модели. Необязательный параметр. Если этот параметр не задан, то обрабатываются элементы первой загруженной части модели.

recursive – флаг, указывающий на рекурсивный обход элементов модели. По умолчанию: false - с дочерних элементов выделение не снимается.

clearSelection()

Метод позволяет снять выделение со всех элементов модели.

clearSelection(): void;

getSelection()

Метод позволяет получить выделенные элементы модели. Подробнее: ModelElementIds.

getSelection(): ModelElementIds[];

getHiddenElements()

Метод позволяет получить все скрытые элементы. Подробнее: ModelElementIds.

getHiddenElements(): ModelElementIds[]

getIsolatedElements()

Метод позволяет получить все изолированные элементы. Подробнее: ModelElementIds.

getIsolatedElements(): ModelElementIds[] 

getVisibleElements()

Метод позволяет получить все видимые элементы. Подробнее: ModelElementIds.

getVisibleElements(): ModelElementIds[] 

setColor()

Метод позволяет задать цвет элементов модели.

setColor(elementIds: string[] | string, r: number, g: number, b: number, a: number, modelPart?: string | ModelPart): void

где:
elementIds – один или несколько идентификаторов элементов модели.

modelPart – идентификатор или экземпляр части модели. Необязательный параметр. Если этот параметр не задан, то обрабатываются элементы первой загруженной части модели.

r – красный цвет (0-255).

g – зеленый цвет (0-255).

b – синий цвет (0-255).

a – альфа-канал (0-1).

clearColors()

Метод позволяет восстановить все цвета для элементов модели.

clearColors(model? : string | ModelPart): void;

где:
modelPart – идентификатор или экземпляр части модели. Необязательный параметр. Если этот параметр не задан, то обрабатывается первая загруженная часть модели.

setGhostMode()

Метод задает призрачный режим отображения для скрытых объектов. В этом режиме скрытые объекты отображаются на сцене в полупрозрачном, бесцветном виде.

setGhostMode(value: boolean): void;

где:
value – задаёт активность призрачного режима.

getElementProperties()

Метод позволяет получить свойства элемента.

getElementProperties(elementId: string, modelPart?: string | ModelPart, version?: BigInt): Promise<ModelElementPropertySet[]>

где:
elementId – идентификатор элемента.

modelPart – идентификатор части модели или экземпляр части модели. Если этот параметр не задан, то обрабатывается первая загруженная часть модели.

version – версия модели. Задается в тиках. Если версия не указана, то берутся свойства актуальной версии загруженной части модели.

Возвращает набор данных типа ModelElementPropertySet.

canDelete()

Метод проверяет, что переданные идентификаторы объектов соответствуют фильтрам объектов для удаления.

  canDelete(elementIds: ModelElementIds[]): boolean;

где:
elementIds – идентификаторы объектов для проверки удаления. Подробнее: ModelElementIds.

Возвращает true, если каждый из переданных идентификаторов соответствует хотя бы одному фильтру.

delete()

Метод вызывает DELETE_OBJECTS_EVENT с переданными идентификаторами объектов модели, если каждый идентификатор соответствует хотя бы одному фильтру.

  delete(elementIds: ModelElementIds[]): boolean;

где:
elementIds – идентификаторы объектов для удаления. Подробнее: ModelElementIds.

Возвращает true, если удалось вызвать DELETE_OBJECTS_EVENT. В противном случае возвращается false.

addDeletionFilter()

Метод добавляет фильтр объектов для удаления.

  addDeletionFilter(filter: DeleteEventFilter): void;

где:
filter – фильтр объектов для удаления. Подробнее: DeleteEventFilter.

removeDeletionFilter()

Метод удаляет фильтр объектов для удаления.

  removeDeletionFilter(filter: DeleteEventFilter): void;

где:
filter – фильтр объектов для удаления. Подробнее: DeleteEventFilter.

setModelVersion()

Метод задает версию модели.

  setModelVersion(value: bigint): Promise<void>;

где:
value – версия модели.

getModelVersion()

Метод возвращает текущую версию модели.

  getModelVersion(): bigint;

getAllModelVersions()

Метод возвращает список версий модели.

  getAllModelVersions(): Promise<bigint[]>;

compareVersions()

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

  compareVersions(modelPart: string | ModelPart, versionToCompare: bigint): Promise<ModelPartVersionsDiff>;

где:
modelPart – идентификатор или экземпляр части модели.

versionToCompare – версия для сравнения.

Возвращает ModelPartVersionsDiff.

finishComparation()

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

  finishComparation(modelPart: string | ModelPart): Promise<void>;

где:
modelPart – идентификатор или экземпляр части модели.

DeleteEventFilter

Фильтр объектов для удаления.

interface DeleteEventFilter {
  (modelId: string, entityId: string): boolean;
}

где:
modelId – идентификатор модели.

entityId – идентификатор элемента модели.

Возвращает true для объектов, которые можно удалить. В противном случае – false.