MATLAB.Exponenta
MATLAB и Simulink на русском
Технологии разработки и отладки
		сложных технических систем

Femlab

Femlab 2.3. Руководство пользователя (перевод с английского с редакторской правкой В.Е.Шмелева):
1.4. Трёхмерный графический интерфейс пользователя

  В оглавление книги \ К следующему разделу \ К предыдущему разделу

1.4.3. Выбор и выделение объектов

Выбор объектов в GUI-приложении femlab осуществляется щелчками мыши по этим объектам. Не нужно выполнять специальных команд и разворачивать диалоговые окна для выбора трёхмерных объектов. В зависимости от режима работы GUI-приложения femlab возможен выбор геометрических объектов, зон, границ, граней, рёбер и точек (вершин).

Единичный выбор объектов

Единичный выбор (и выделение) осуществляется простым щелчком левой кнопки мыши. При единичном выборе выделенный объект подсвечивается коричневым цветом. Выделение можно выполнить также щелчком по смежному объекту. Режимы выделения щелчками по смежным объектам показаны на рис. 1.44. Щелчком мыши можно выделять только объекты, для которых установлен атрибут Clickable (см. рис. 1.44).

Перекрытие объектов

При работе с трёхмерной расчётной областью одному и тому же положению указателя мыши в поле axes может соответствовать несколько её объектов. Какой из этих объектов окажется выбранным в результате щелчка мышью? Однозначный выбор определяется приоритетами объектов.

Наивысший приоритет имеют метки объектов. Далее в порядке уменьшения приоритета: вершины, рёбра, грани.

Упорядочение в пределах типа объекта существует только для граней. Приоритеты перекрывающихся граней определяются их площадями. Наивысший приоритет имеет самая маленькая грань, т.е. первый щелчок мыши выделяет именно её. Второй щелчок мышью выделяет следующую по приоритету грань и т.д. Это означает, что в пределах совокупности перекрывающихся граней выделение щелчками мыши носит циклический характер.

Выделение происходит при отпускании кнопки мыши. Пока кнопка нажата, можно узнать, какой объект будет выделен, если посмотреть на индикатор текущих координат указателя мыши. При нажатой кнопке там вместо значений координат показывается имя (метка) выделяемого объекта. Область индикатора координат находится в левом нижнем углу фигуры femlab (см. рис. 1.43). Перемещение указателя мыши при нажатой кнопке приведёт к отмене выделения. В этом случае на инструментальной панели Orbit/Pan/Zoom кнопки управления камерой должны быть отжаты.

В качестве примера рассмотрим систему конус – шар, изображённую на рис. 1.52. Пусть GUI-приложение femlab работает в режиме Boundary Mode, пусть в данный момент ни одна из граней не является выделенной. Позиции указателя мыши, в точке, помеченной стрелкой, соответствуют две грани: одна переднего плана, другая – заднего. В результате щелчка мышью будет выделена грань заднего плана, т.к. она имеет меньшую площадь (см. рис. 1.53). Повторный щелчок мышью выделит грань переднего плана (см. рис. 1.54). Третий щелчок мышью снова выделит грань заднего плана (см. рис. 1.53). Так будет циклически повторяться независимо от перемещений указателя мыши между щелчками.


Рис. 1.52. Система конус – шар в режиме Boundary Mode


Рис. 1.53. Система конус – шар c выделенной гранью заднего плана


Рис. 1.54. Система конус – шар c выделенной гранью переднего плана

Множественное выделение объектов

Множественное выделение объектов осуществляется щелчками мыши при одновременно удерживаемой клавише Shift или щелчками средней кнопкой мыши. Такой способ множественного выделения далеко не всегда удобен, т.к. в случае перекрытия объектов не всегда можно угадать, какой объект добавится в выделенную группу, и отменить это добавление после щелчка нельзя. В таких случаях можно использовать приёмы, описанные ниже. Для выделения всех объектов можно нажать Ctrl-A. Нужно учитывать, что щелчок левой кнопкой мыши без Shift приведёт к единичному выделению, отменяя все предыдущие выделения с Shift.

На главной инструментальной панели есть кнопка Select. Если она нажата, то возможно выделение объектов с помощью прямоугольника, растягивающегося в результате перемещения указателя мыши при её нажатой кнопке. При отжимании кнопки мыши выделяются те объекты, которые полностью попали в растягивающийся прямоугольник. Если при растягивании прямоугольника была нажата клавиша Shift, то происходит добавление выделения. Если при растягивании прямоугольника была нажата клавиша Ctrl, то останутся выделенными те объекты, которые полностью попали в прямоугольник, и которые ранее были выделены (это называется логической операцией И).

Фиксация выбора объектов

Пусть имеется один или несколько выделенных объектов, которые подсвечены коричневым цветом. Чтобы их выделение не отменялось при выборе других объектов, можно зафиксировать выделение. Фиксация выделения происходит в результате щелчка правой кнопкой мыши (или левой при одновременном удержании Ctrl) в любом месте поля axes. Фиксированно- выделенные объекты подсвечиваются серо-синим цветом. Аналогичный эффект вызывает нажатие кнопки Confirm Selection инструментальной панели выделения объектов.

Фиксированно- выделенные объекты можно метить на отмену выделения. Пометка таких объектов выполняется точно так же, как и обычное выделение. Это означает, что в процессе множественного выделения можно попутно метить фиксированно- выделенные объекты. Помеченные объекты подсвечиваются зелёным цветом. С логической и физической точки зрения коричневое, серо-синее и зелёное выделения эквивалентны. Это означает, что команды обработки групп выделенных объектов оказывают одинаковое действие на все подсвеченные объекты независимо от цвета. На рис. 1.55 показан пример одновременного наличия в расчётной области выделенных, фиксированно- выделенных и помеченных на отмену выделения объектов. Щелчок правой кнопкой мыши в поле axes приведёт к фиксации просто выделенных объектов и отмене выделения помеченных объектов (рис. 1.56).


Рис. 1.55. Разная подсветка выделенных граней в режиме Boundary Mode


Рис. 1.56. Группа выделенных объектов после щелчка правой кнопкой мыши

Отмена выделения объектов независимо от фиксации производится путём выполнения команды меню Edit/ Deselect All или Ctrl-D. В приведённом примере нажатие Ctrl-D приведёт к тому, что изображение расчётной области вновь приобретёт вид, показанный на рис. 1.52.

Списки выделения в диалоговых окнах

Во многих диалоговых окнах, таких как Boundary Settings, Subdomain Settings и др. имеются списки выделения с метками (номерами) граней или зон. Выделенные метки в этих списках всегда однозначно соответствуют выделениям в поле axes. Выделение и отмена выделения в списках осуществляется так же, как и во всех браузерах файловой системы Windows: единичное выделение – простым щелчком мыши, множественное – с одновременным удерживанием Ctrl или Shift. Выделение и отмена выделения в списке действует независимо от фиксации в поле axes.

Двойные щелчки

Двойной щелчок по объекту приводит к раскрытию диалогового окна настройки этого объекта. Если при наведении указателя мыши выбор объекта неоднозначен, то двойной щелчок приведёт к быстрому циклическому переключению выбора объектов. Это бывает полезно при необходимости оперативной пометки фиксированно- выделенных объектов. В режиме Draw Mode двойной щелчок правой кнопкой мыши в поле axes приводит к развёртыванию диалогового окна настройки геометрического объекта, если он является единственным выделенным. В Point, Edge, Boundary и Subdomain Mode двойной щелчок в поле axes приводит к развёртыванию диалогового окна настройки точечных объектов (вершин), рёбер, граней и зон (Point Settings, Edge Settings, Boundary Settings, Subdomain Settings).

Перемещение указателя мыши при нажатой кнопке

Перемещение указателя мыши порождает действия, определяемые состоянием режимных кнопок инструментальной панели Orbit/Pan/Zoom. Если ни одна из этих кнопок не нажата, то выполняется рамочное выделение объектов, описанное выше. Кнопка Select главной инструментальной панели отжимает все режимные кнопки панели Orbit/Pan/Zoom, включая режим рамочного выделения.

Выше было сказано, что выделение объекта происходит при отпускании кнопку мыши. Если Вы, держа кнопку мыши на объекте, передумали его выделять, то можно немножко сместить указатель мыши, тогда выделение объекта будет отменено, однако нужно учитывать, что в этом случае будет выполнено действие, обусловленное режимной кнопкой панели Orbit/Pan/Zoom. Для предотвращения лишних действий при выделении кнопку Select лучше всего держать нажатой.

Выделение смежных объектов

Выделение объектов осуществляется щелчками мыши по ним или по смежным объектам. Смежный объект, как правило, граничит с несколькими объектами. В связи с этим существует несколько методов выделения смежных объектов. Методы их выделения определяются состоянием режимных кнопок инструментальной панели выделения объектов. Этих кнопок две: Select All Adjacent (выделение всех смежных объектов) и Cycle Adjacent (циклическое выделение смежных объектов). Об этих методах (режимах) было сказано при описании кнопок инструментальных панелей.

В рамках этих режимов действуют ещё три метода. Эти методы применимы только в режиме Boundary Mode: нормальное выделение граней (Normal Face Selection), выделение всех граней, принадлежащих только той зоне, по которой сделан щелчок (All Faces with Adjacent Subdomains), а также выделение всех граней, ограничивающих зону и образующих замкнутую поверхность (All Faces Adjacent to Subdomain). Третий из этих режимов отличается от второго только в том случае, когда установлен флаг Boundary/ Enable Borders.

Пусть расчётная область имеет вид, показанный на рис. 1.52. Попробуем сделать щелчок мышью по ближайшей к камере наблюдения грани конуса. На рисунках 1.57, 1.58, 1.59 показаны результаты такого щелчка соответственно в режимах Normal Face Selection, All Faces with Adjacent Subdomains и All Faces Adjacent to Subdomain при установленном флаге Boundary/ Enable Borders.


Рис. 1.57. Единичное выделение грани щелчком мыши при действующем методе Normal Face Selection


Рис. 1.58. Выделение всех внешних граней нижней зоны при действующем методе All Faces with Adjacent Subdomains


Рис. 1.59. Выделение всех внешних граней нижней зоны при действующем методе All Faces Adjacent to Subdomain

  В оглавление книги \ К следующему разделу \ К предыдущему разделу


Поиск по сайту:

Система Orphus

Яндекс.Метрика