Я пытаюсь создать пользовательский инструмент для просмотра Forge, который позволяет только расширение выбора ящика, пока клавиша Shift нажимается. Это работает, как и ожидалось, на устройствах Mac, но в Windows он включает в себя выбор ящика, но никогда не деактивирует выбор ящика, как только клавиша Shift выйдет. Как и ожидалось на обеих платформах. Так что мне кажется внутренней проблемой с функцией DeactiveTool. Я попытался отладить свой путь через это, и я вижу, что в функциях есть какая-то специальная логика MAC, но основная причина проблемы мне не подходит. < /p>
/**
* Custom forge viewer tool to restrict box-selection to the shift key
* @param viewer Reference to the forge viewer instance
* @see {@link https://aps.autodesk.com/blog/custom-tools-forge-viewer | Forge Documentation}
*/
export const getCustomBoxSelectionTool = (viewer) => {
if (!viewer?.toolController) return null;
const customTool = {
active: false,
getName: () => 'custom-box-selection',
getNames: () => ['custom-box-selection'],
getPriority: () => 1, // Set priority in the tool chain
activate: () => {
customTool.active = true;
},
deactivate: () => {
customTool.active = false;
},
handleKeyDown: (event, keyCode) => {
// Prevent the default box-selection behaviour
if (event.key === 'Control' || keyCode === 17) {
viewer.toolController.deactivateTool('box-selection');
return true; // Stop propagation
}
// Enable new box-selection behaviour
if (event.key === 'Shift' || keyCode === 16) {
viewer.toolController.activateTool('box-selection');
}
return false; // Allow propagation
},
handleKeyUp: (event, keyCode) => {
// Disable box-selection after shift is released
if (event.key === 'Shift' || keyCode === 17) {
viewer.toolController.deactivateTool('box-selection');
}
return false; // Allow propagation
}
};
return customTool;
};
< /code>
Примечание Я добавил чеки на событие. Кей и Key -код, так как это было предложенной разницей между двумя платформами, но это не имело никакого значения. У кого -нибудь есть какое -либо представление об этом?
Подробнее здесь: https://stackoverflow.com/questions/793 ... om-tool-is
Вызов метода ToolController.DeactiveTool в пользовательском инструменте Forge Viewer не запускается в Windows, пока он р ⇐ Javascript
Форум по Javascript
1738162341
Anonymous
Я пытаюсь создать пользовательский инструмент для просмотра Forge, который позволяет только расширение выбора ящика, пока клавиша Shift нажимается. Это работает, как и ожидалось, на устройствах Mac, но в Windows он включает в себя выбор ящика, но никогда не деактивирует выбор ящика, как только клавиша Shift выйдет. Как и ожидалось на обеих платформах. Так что мне кажется внутренней проблемой с функцией DeactiveTool. Я попытался отладить свой путь через это, и я вижу, что в функциях есть какая-то специальная логика MAC, но основная причина проблемы мне не подходит. < /p>
/**
* Custom forge viewer tool to restrict box-selection to the shift key
* @param viewer Reference to the forge viewer instance
* @see {@link https://aps.autodesk.com/blog/custom-tools-forge-viewer | Forge Documentation}
*/
export const getCustomBoxSelectionTool = (viewer) => {
if (!viewer?.toolController) return null;
const customTool = {
active: false,
getName: () => 'custom-box-selection',
getNames: () => ['custom-box-selection'],
getPriority: () => 1, // Set priority in the tool chain
activate: () => {
customTool.active = true;
},
deactivate: () => {
customTool.active = false;
},
handleKeyDown: (event, keyCode) => {
// Prevent the default box-selection behaviour
if (event.key === 'Control' || keyCode === 17) {
viewer.toolController.deactivateTool('box-selection');
return true; // Stop propagation
}
// Enable new box-selection behaviour
if (event.key === 'Shift' || keyCode === 16) {
viewer.toolController.activateTool('box-selection');
}
return false; // Allow propagation
},
handleKeyUp: (event, keyCode) => {
// Disable box-selection after shift is released
if (event.key === 'Shift' || keyCode === 17) {
viewer.toolController.deactivateTool('box-selection');
}
return false; // Allow propagation
}
};
return customTool;
};
< /code>
Примечание Я добавил чеки на событие. Кей и Key -код, так как это было предложенной разницей между двумя платформами, но это не имело никакого значения. У кого -нибудь есть какое -либо представление об этом?
Подробнее здесь: [url]https://stackoverflow.com/questions/79397134/calling-the-toolcontroller-deactivetool-method-in-a-forge-viewer-custom-tool-is[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия