Окно отображения геометрического построения

 

Интерфейсные элементы окна

Окно реализации алгоритма предназначено для создания геометрической модели и является основным визуальным средством интерактивного взаимодействия пользователя с этой моделью. Каждое окно связывается с одним из существующих в проекте алгоритмов, то есть представляет пользователю его визуальную интерпретацию. Имя связанного с окном алгоритма отображается в заголовке окна.

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

Графический интерфейс окна реализации алгоритма представлен следующими рабочими областями и средствами управления:

1. Рабочая область, в которой выполняется конструирование и отображение чертежа. В этой области посредством использования инструментов системы Симплекс пользователь формирует чертеж геометрической модели, а также осуществляет интерактивные воздействия на эту модель. Рабочая область окна по умолчанию имеет белый фоновый цвет. Геометрическим объектам, отображаемым на чертеже, присваивается признак того или иного цвета, посредством которого они будут отображаться на экране. Цветовая дифференциация объектов, отображаемых на экране, способствует их лучшему различению и смысловому разграничению. Однако многие цвета и их оттенки могут быть плохо различимы на белом фоне. Пользователь может изменить цвет фона с белого на какой-либо другой, в сочетании с которым цвета объектов будут лучше различаться. Цвет фона может быть изменен настройкой параметров отображения окна. Соответственная настройка осуществляется диалоговой панелью, которую можно вызвать на экран пунктом Окно... контекстного меню окна отображения чертежа.

В рабочей области можно размещать фоновые растровые изображения. Такие изображения можно использовать, как ориентиры-подложки, поверх которых выполняется построение чертежа. Растровое изображение загружается на экран с носителя информации с помощью пункта Окно/Растр/Загрузить растр... (Ctrl+Alt+P) главного меню системы. С одним окном можно связать несколько растровых изображений, однако только одно из них будет отображаться в конкретный момент времени. Выбор того или иного изображения из всей совокупности присвоенных окну изображений осуществляется клавишами PageUp и PageDown.

При первичной загрузке с носителя информации центр растрового изображения совмещается с центром окна. Положение изображения можно откорректировать, используя клавиатурные клавиши управления курсором с одновременным удержанием клавиши Ctrl. Восстановление исходного положения растрового изображения в центре окна осуществляется командой Ctrl+0. При необходимости режим отображения растрового изображения можно отключить командой Ctrl+B. Повторное нажатие комбинации клавиш возвращает изображение на экран.

Пунктирными линиями в окне отображаются оси декартовой системы координат Ox и Oy (При активной закладке Евклид (поз. 8)).

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

2.  Кнопка увеличения значения масштаба изображения с шагом 1.42 (квадратный корень из двух) (Shift+F3).

3.  Кнопка уменьшения значения масштаба изображения с шагом 1.42 (квадратный корень из двух) (F3).

4.  Кнопка установки значения масштаба изображения, равного единице.

5.  Кнопка возврата нулевой точки системы координат чертежа в центр рабочей области окна.

Возврат к предыдущему состоянию масштаба отображения и позиции нулевой точки системы координат осуществляется нажатием комбинацией клавиш Alt+Z. Помимо перечисленных средств управления масштабом изображения, пользователь может применять следующие команды:

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

Shift+F4 - изменить масштаб изображения таким образом, чтобы все выделенные в данный момент небесконечные объекты (собственные точки, отрезки прямых, окружности, дуги и т.п.), видимые в текущем активном слое, разместились бы в рабочей области окна, т.е. были бы видны целиком;

Ctrl+Alt+F4 - изменить масштаб изображения таким образом, чтобы все собственные точки чертежа, видимые в текущем слое, разместились бы в рабочей области окна, т.е. были бы видны.

6. Панель отображения количества объектов, выделенных в настоящий момент в окне.

Выделение необходимо для выполнения избирательного воздействия на конкретные объекты геометрического построения. Выделенные объекты, как правило, отображаются в окне несколько иначе, нежели невыделенные (например, утолщенной линией, с помощью иного цвета и т.п.). В некоторых случаях позиционные характеристики разных объектов могут быть такими, что их изображения будут накладываться друг на друга. Ввиду этого различение таких объекты и определение их количества по визуальным признакам становится невозможным. Для предупреждения формирования "неправильных" команд может быть использована информация о количестве выделенных объектов, отображаемая в панели 6, поскольку в зависимости от числа и типа выделенных объектов при использовании одних и тех же клавиатурных сокращений в системе могут вызываться разные функции.

Информация о количестве выделенных объектов необходима, для того чтобы пользователь мог оценить, имеется ли возможность применить к выделенным объектам то или иное клавиатурное сокращение, предназначенное для ввода команд формирования геометрического построения, поскольку возможность и конкретный вид такого применения зависят как от состава выделенных объектов, так и от их числа. Ввиду того, что изображения выделенных объектов могут накладываться друг на друга, находиться за пределами рабочей области или даже располагаться в других слоях, и поэтому быть невидимыми, данная панель может оказать помощь в понимании причин поведения системы при получении нежелательного результата от применения клавиатурных сокращений. В случае возникновения подобной ситуации, возврат к состоянию, предшествующему нежелательному, выполняется с помощью комбинации клавиш Ctrl+Z.

7. Панель вывода имен объектов, над которыми в данный момент времени находится курсор выбора и выделения объектов. Панель позволяет оценить, доступны ли для выбора те или иные объекты, над которыми находится курсор.

При щелчке над панелью проект переводится в режим формирования имен объектов со знаками типа "прим". Этот режим действует в таких функциях-преобразованиях, в которых некоторый объект-прообраз переходит в объект-образ (коллинеация, проективитет, симметрия, квадратичная инволюция, инверсия и др.). При использовании "горячих клавиш" в функциях будут создаваться имена новых объектов не с очередным порядковым номером, а использоваться имя объекта-прообраза, которое передается объекту-образу, но с добавлением знаков "prim", "bis", "ter","quater" и т.д., внедряемых между текстовой частью имени и его числовым суффиксом, например A' от A, p'28 от p28 и т.п.. На письме эти знаки обозначаются символом ' (апостроф), вставляемым в имя в необходимом количестве. Такой способ назначения имен более удобен для сопоставления объектов друг с другом при визуальном анализе чертежа, поскольку пользователю становится проще понять, образом какого прообраза (или наоборот) является тот или иной рассматриваемый объект.

Отключение данного режима осуществляется повторным щелчком на панели, обозначенной номером 7.

В режиме назначения имен "прим" фон переключателя закладок слоев (9) изменяет свой цвет на желтый, если никаких объектов в окне не выбрано, и на светло-синий, если в окне есть выделенные объекты. В обычном режиме цвет фона соответствует цвету визуальных кнопок, предустановленному в системе Windows, если выделенных объектов в окне нет. При наличии выделенных объектов цвет фона переключателя закладок (9) - красный.

8. Закладки для выбора режимов отображения чертежа модели:
Евклид - отображение геометрического построения осуществляется в расширенной евклидовой плоскости с применением декартовой системы координат;
Компл. - отображение геометрического построения осуществляется в комплексной плоскости;
3D - режим отображения 3D моделей.

9. Алгоритмы, реализуемые в системе Симплекс, могут представляться достаточно сложными чертежами, состоящими из большого количества геометрических объектов. Достаточно быстро при проектировании алгоритма чертежи становятся насыщенными и запутанными. Несмотря на то, что некоторые объекты являются результатом дополнительных построений, их удаление из алгоритма недопустимо, так как такое действие приведет к потере конструктивной связи объектов геометрического построения. Одним из способов упрощения работы с подобными чертежами является распределение объектов по отдельным визуальным слоям. Несмотря на причисление объекта к тому или иному визуальному слою, он остается составной частью единого алгоритма и выполняет свою конструктивную функцию. В то же время чертеж в результате перераспределения объектов по слоям приобретает более наглядный вид.

Работа с каждым новым алгоритмом начинается в слое основной, поэтому закладка этого слоя является активной по умолчанию. Несущественные для визуализации объекты могут быть перенесены в заранее предопределенный слой корзина. Для выполнения такого переноса следует выделить тот объект, который предполагается перенести в этот слой и, удерживая нажатой клавишу Ctrl, щелкнуть левой кнопкой мыши над закладкой слоя. Результат переноса можно увидеть, активировав закладку соответственного слоя. С помощью комбинации клавиш Ctrl+Z можно вернуться к состоянию до переноса, если такой перенос по какой-то причине был выполнен неправильно. Все выделенные в текущий момент объекты можно быстро перенести в слой корзина, используя клавишу с символом \. При этом в слой корзина будут перенесены все выделенные объекты без запроса у пользователя подтверждения на какую-либо избирательность выполнения этой команды. Если же после выделения нескольких объектов ввести с клавиатуры команду Shift+\, то система будет задавать вопросы о согласии или несогласии пользователя переносить тот или иной объект в слой корзина, что позволяет сделать операцию переноса избирательной и предотвратить перенос в другой слой тех объектов, которые, возможно, были выделены неправильно или непреднамеренно.

Щелчок над закладкой слоя с удержанием клавиши Shift переводит режим отображения этого слоя с дополнением объектов, принадлежащих слою основной. Повторный щелчок удержанием клавиши Shift возвращает действие режима отображения слоя без добавления объектов слоя основной.

Щелчок над закладкой слоя с единовременным удержанием клавиш Alt и Shift переводит режим отображения этого слоя с дополнением объектов, принадлежащих слою входных параметров алгоритма in. Повторный щелчок удержанием клавиши Alt и Shift возвращает действие режима отображения слоя без добавления объектов слоя in.

Щелчок над закладкой слоя с удержанием клавиши Alt удаляет слой из текущего окна (предупреждение об удалении не выводится).

Щелчок над закладкой слоя с единовременным удержанием клавиш Ctrl и Shift приводит к присвоению выделенных объектов признака принадлежности к текущему рабочему слою и к слою, над закладкой которого был осуществлен щелчок. Так, например, выделив какие-либо исходные данные в слое основной, пользователь может добавить признак их принадлежности к слою data, который предназначен для избирательного отображения исходных данных алгоритма.

Щелчок над свободной от закладок слоев области интерфейсного элемента с удержанием клавиш Ctrl приводит к вызову диалоговой панели, предназначенной для добавления и редактирования слоев текущего активного окна. Если при этом в окне были выделены какие-либо объекты, то все они переносятся в новый назначенный слой.

10. Горизонтальная полоса прокрутки изображения. Полоса обеспечивает изменение позиционных характеристик координатной системы по горизонтальному направлению, предоставляя доступ к объектам, находящимся за пределами текущей рабочей области окна.

11. Кнопка, позволяющая переключить средства отображения объектов в такой режим, при котором в рабочей области отображаются только ограниченные объекты (отрезки прямых, дуги окружностей и т.п.). Такой режим позволяет включать в выделение или передавать в параметры команд только те объекты, которые являются ограниченными. В частности, такой режим удобен для формирования состава контуров, в которые могут быть включены только ограниченные объекты.

12. Кнопка, позволяющая переключить средства отображения объектов в такой режим, при котором над изображениями объектов вычерчиваются стрелки, указывающие их ориентацию. Линейные объекты системы Симплекс имеют ориентацию, которая определяется в момент образования таких объектов, а некоторые функции являются чувствительными к ориентации аргументов при своем выполнении. Поэтому в ряде случаев у пользователя может возникать потребность предварительно знать, как ориентирован тот или иной объект. Данный режим предоставляет средства для быстрой оценки ориентации объектов.

13. Кнопка, позволяющая переключить средства отображения объектов в такой режим, при котором неограниченные прямые линии будут вычерчиваться не только в пределах инцидентных с ними точек (ограничивающих начертание), но и в пределах всей рабочей области окна.

Многие геометрические построения предполагают, что линии (в подавляющем большинстве практических случаев прямые) являются бесконечными. Однако отображение на чертеже большого числа линий, простирающихся через всю его рабочую область, приводило бы к избыточному и ненужному усложнению изображения, к перегруженности чертежа избыточной информацией. Поэтому бесконечные линии в системе Симплекс принято отображать по-разному в зависимости от того, сколько они образовали общих точек в пересечении с другими объектами или сколько инцидентных точек они изначально несут на себе. В любом случае такие точки считаются инцидентными с прямой линией. Если таких точек в процессе исполнения алгоритма стало две или более, то имеет смысл вычерчивать бесконечную прямую линию только в пределах этих точек (с небольшим перекрытием этой зоны в виде небольших "хвостов"). Такая линия изображается более компактно, но в то же время в расчетах она принимается за бесконечную. Если же инцидентных точек меньше двух, то тогда не остается иного варианта, как провести линию через всю область чертежа.

В ряде случаев было бы желательно на непродолжительное время показать все "сокращенные" в изображении бесконечные линии действительно, как бесконечные. В частности, в таком режиме пользователю легче формировать некоторые функции, например, нахождение точек пересечения объектов, указывая на визуальное место этого пересечения курсором и единовременно выделяя сразу все объекты, которые должны стать аргументами требуемой команды. В противном случае, такое выделение пришлось бы делать последовательно указывая на объекты, удерживая нажатой клавишу Shift.

14. Кнопка включения режима записи последовательности имен вводимых объектов. Этот режим позволяет запомнить имена тех объектов, которые с момента активации инструмента добавлялись в алгоритм. Такая информация может быть использована впоследствии для группового перенесения совокупности объектов в другой слой, несмотря на то, что изначально они ассоциировались со слоем, в котором их размещение было бы нежелательно.

15. Набор кнопок, предназначенный для избирательного отображения объектов, соотнесенных с полями чертежа, номера которых обозначены на кнопках.

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

16. Четыре кнопки с обозначениями A, B, C, D, предназначены для сохранения параметров вида, т.е. масштаба и сдвига системы координат относительно центра окна.

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

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

Имея эти данные, пользователь может оперативно вызывать эти параметры из памяти и восстанавливать требуемый вид чертежа.

Каждая кнопка может "хранить" в себе требуемые параметры. Фиксация параметров осуществляется вызовом пункта контекстного меню, (при этом курсор дожен располагаться над выбранной кнопкой).

После фиксации применение "сохраненных" в кнопке параметров применительно к чертежу осуществляется простым нажатием на эту кнопку.

17. Горизонтальная полоса прокрутки изображения, обеспечивающая доступ к объектам, находящимся за текущими пределами рабочей области. Полоса используется для целей, аналогичных описанным для горизонтальной полосы (поз. 10) лишь с тем отличием, что все сказанное относится к вертикальному направлению чертежа.

Команды всплывающего меню

Содержимое группы
Редактировать

Выделить
 Добавить к группе
 Иcключить из группы
 Все
 Избирательно
 Все видимое в слое
 Выключить невыделенное
 С родителями
 Только родителей
 С предками
 Только предков
 С детьми
 Только детей
 С потомками
 Только потомков
 Братьев
 Семейство
 Родство
 Связь
 }Связь{+
 По связи
 Группу объекта
 Инверсно по отношениям
 Инверсно по объектам
 Поля объекта
 Копировать объект как константу
 По имени
 По комментарию
 Бесконечное
 Смежные
 По функции
 По типу
 По цвету
 Одноименные в окне
 Контейнер
 Инцидентное
 Неопределенные
 Раскладка по алфавиту
 Последние
 Параметры

Блокировать выделение
Окно процедуры
Ассоциировать
Изъять
Копировать
Вставить
Удалить
Переименовать
Освободить
Копировать имена
Активировать группу
Редактировать группу
Копировать в Corel
Атрибуты
Чужие атрибуты
Слой
 Добавить
 Удалить
 Собственный

Привязка по габаритам
Алгоритм
Проверочный алгоритм
Открыть процедуру
Открыть базовый алгоритм
Метод
Входной параметр
Выходной параметр
Окно
Навигатор
Отображение
Характеристика
Согласование Bitmap