Если вы хотите сохранить текущий выбор при выборе дополнительных узлов программным способом, попробуйте объединить текущие выбранные базы данных с новыми:
const currentSelection = NOP_VIEWER.getSelection()
currentSelection.push(dbid)
NOP_VIEWER.select(currentSelection)
Мне нужно написать дополнительный код, чтобы определить, какой последний выбранный dbid и все?
Да Просмотрщик не отслеживает порядок / метки времени вашего выбора, поэтому вам придется управлять этим самостоятельно.
control -shift Я могу сделать выбор
Вы также можете узнать о настройках поведения щелчка, чтобы изменить поведение щелчков по умолчанию на объектах:
const config = {
"click": {
"onObject": ["selectOnly"],
"offObject": ["deselectAll"]
},
"clickAlt": {
"onObject": ["setCOI"],
"offObject": ["setCOI"]
},
"clickCtrl": {
"onObject": ["selectToggle"]
// don't deselect if user has control key down https://jira.autodesk.com/browse/LMV-1852
//"offObject": ["deselectAll"]
},
"clickShift": {
"onObject": ["selectToggle"]
// don't deselect if user has shift key down https://jira.autodesk.com/browse/LMV-1852
//"offObject": ["deselectAll"]
},
}
NOP_VIEWER.setCanvasClickBehavior(config)