Как изменить цвет выделения в программе просмотра Autodesk Forge? - PullRequest
0 голосов
/ 26 февраля 2019

В Forge Viewer v3 мы устанавливали цвет выделения следующим образом:

onRequestClick(e) {
  const THREE_RED_COLOR = new THREE.Color(1, 0, 0);
  NOP_VIEWER.impl.setSelectionColor(THREE_RED_COLOR);
  NOP_VIEWER.select($(e.target).parent().find(`th`).data(`attributes`));
}

В v6 этот код по-прежнему выбирает объекты средства просмотра, как и ожидалось, но цвет выделения остается по умолчанию синим и делаетне меняется на красный, как ожидалось.Сделано ли это изменение другим методом сейчас?Что-то еще мне не хватает?

Ответы [ 3 ]

0 голосов
/ 26 февраля 2019

Я подтверждаю, что он не работает с 2D-файлами.Вот скриншот моей попытки.

Я назвал get Selection на 2 круга.чтобы подтвердить, что зритель был задействован и что мне удалось обнаружить другой выбор.

Затем, когда я вызываю функцию setSelectionColor, ничего не происходит.

enter image description here

0 голосов
/ 12 марта 2019

попробуйте использовать просмотрщик viewer.clearSelection(); viewer.set2dSelectionColor(red)

, где viewer=NOP_VIEWER; red = new THREE.Color(1,0,0)

Это исправит это?

0 голосов
/ 26 февраля 2019

Ваш код работал нормально, когда я пытался использовать Viewer v6.4.2:

viewer.impl.setSelectionColor(new THREE.Color(1, 0, 0));
viewer.addEventListener(Autodesk.Viewing.GEOMETRY_LOADED_EVENT,()=>viewer.select(1))

Просмотреть его в действии здесь .

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

РЕДАКТИРОВАТЬ

Если вы посмотрите на источник, он ясно заявляет, что он работает только для 3D-моделей:

/**
     * Changes the color of the selection for 3D models.
     * 
     * @example
     *  viewer.setSelectionColor(new THREE.Color(0xFF0000)); // red color
     * @param {THREE.Color} color
     * 
     * @alias Autodesk.Viewing.Viewer3D#setSelectionColor
     */
    Viewer3D.prototype.setSelectionColor = function(color, selectionType) {
        this.impl.setSelectionColor(color, selectionType);
    };

Записывает запрос функции в Engineering для переноса этой функции также на 2D-модели.

...