<< Click to Display Table of Contents >> Navigation: »No topics above this level« Шаблоны (заливки полигонов, значков точек, отрисовки полилиний) |
По назначению шаблоны, используемые в программе DIGIMINE могут быть трех видов:
1. Шаблоны для заливки полигонов.
2. Шаблоны для значков точек.
3. Шаблоны для отрисовки вдоль полилинии.
Шаблоны используются в соответствующих объектах файлов-чертежей полигонах, точках и полилиниях.
По происхождению шаблоны могут быть двух видов :
1. Шаблоны встроенные в программу.
Встроенные шаблоны заливки полигонов выполнены в соответствии с ГОСТ 2.857-75 "ОБОЗНАЧЕНИЯ УСЛОВНЫЕ ПОЛЕЗНЫХ ИСКОПАЕМЫХ, ГОРНЫХ ПОРОД И УСЛОВИЙ ИХ ЗАЛЕГАНИЯ".
2. Шаблоны, создаваемые пользователем (пользовательские шаблоны).
По месту нахождения шаблоны можно разделить на 4 вида:
1. Шаблоны, находящиеся в оперативной памяти программы (встроенные в программу).
Эти шаблоны являются фиксированными и не могут быть изменены пользователем (но можно сохранять такие шаблоны в файл-чертеж, отредактировать и записать в pmn-файл как пользовательские шаблоны).
Положительным свойством встроенных шаблонов является то, что они никуда не записываются, а при использовании того или иного встроенного шаблона для конкретного объекта запоминается только номер шаблона, т.е. тратится минимальное количество памяти.
2. Шаблоны (создаваемые пользователем), находящиеся в специальном файле с шаблонами (*.pmn).
Пользователь имеет возможность добавлять новые шаблоны в pmn-файл или удалять имеющиеся в этом файле шаблоны.
Для того, чтобы добавить новый шаблон в pmn-файл, пользователь сначала рисует его в файле-чертеже *.mn4 (в один файл-чертеж можно записать много шаблонов) при помощи имеющихся в DIGIMINE инструментов, а затем выполняет операцию добавления шаблона в pmn-файл.
Каждый из шаблонов фактически представляет собой миниатюрный файл-чертеж, состоящий из относительно небольшого количества полилиний, полигонов, текстов, растров (для шаблонов точек используются только полилинии и полигоны).
Шаблоны, имеющиеся в pmn-файле, в дальнейшем могут быть использованы при выборе для конкретных полигонов, точек или полилиний.
3. Шаблоны (создаваемые пользователем), находящиеся в файле-чертеже.
Те шаблоны, которые используются для конкретных полигонов, точек или полилиний, находятся не внутри каждого из этих объектов, а в одном из трех специальных массивов с шаблонами, относящихся к файлу-чертежу в целом.
Если несколько точек (полигонов или полилиний) файла-чертежа используют один и тот же шаблон, то в соответствующий массив с шаблонами внутри файла-чертежа этот шаблон записывается только один раз, а все объекты, использующие этот шаблон, пользуются только ссылкой на него.
Добавление пользовательского шаблона в файл-чертеж происходит автоматически, после того, как для конкретного объекта (или группы выделенных объектов) произведен выбор пользовательского шаблона в одном из диалогов - "Выбор шаблона для заливки полигона", "Выбор шаблона значка для точки" и "Выбор шаблона для отрисовки полилинии". Выбор того или иного пользовательского шаблона производится либо из pmn-файла с шаблонами, либо из какого-либо файла-чертежа, внутри которого имеются такие шаблоны.
4. Шаблоны (создаваемые пользователем), находящиеся внутри служебных полигонов, точек или полилиний.
Для каждого графического окна в DIGIMINE имеются служебные объекты - текущий полигон, текущая точка, текущая полилиния.
Эти объекты не относятся ни к какому файлу-чертежу. Для того, чтобы для таких объектов можно было использовать шаблоны, предусмотрена возможность хранения шаблонов непосредственно внутри этих объектов.
Запись выбранного пользовательского шаблона в служебные объекты происходит автоматически и не требует каких-либо специальных действий со стороны пользователя.
При сохранении файла проекта шаблоны, входящие в состав служебных объектов, запоминаются в файле проекта и загружаются при чтении файла проекта.
1. Шаблоны для заливки полигонов.
Пример шаблона и полигона, закрашенного при помощи этого шаблона.
Слева показан пользовательский шаблон в том виде, в котором он находится в файле-чертеже, предназначенном для создания пользовательских шаблонов (оранжевая линия - это линия обрамляющего полигона; все объекты, попадающие внутрь этого полигона включаются в шаблон при его создании).
Справа - пример полигона, закрашенного с использованием этого шаблона (цвет заливки фона под шаблоном берется тот, который задан для полигона, а не из шаблона).
Обработка шаблонов для заливки полигонов в процессе отрисовки
Объекты, которые используются для описания шаблона заливки, так же, как и объекты файлов-чертежей, хранятся в векторном виде.
Непосредственно перед выполнением операции заливки внутренней области полигона происходит формирование растрового шаблона заливки, с учетом заданных для конкретного полигона коэффициентов и текущего масштаба изображения, этот процесс можно назвать печатью объектов исходного [векторного] шаблона заливки в растровый шаблон.
Далее, при помощи стандартных функций Windows, производится заполнение области заливки полученным растровым шаблоном.
Благодаря тому, что растровое изображение формируется из векторного с учетом масштаба, коэффициентов, а также разрешающей способности устройства, не происходит такой потери качества изображения, как при использовании в качестве исходных чисто растровых шаблонов заливки.
Для чисто растровых шаблонов заливки достаточно характерной является потеря качества изображения при выводе на принтер, имеющей значительно лучшую разрешающую способность, чем дисплей.
В некоторых случаях, при печати на принтер, функции Windows (или функции драйвера принтера) при заливке используют не ту разрешающую способность, которая задана для принтера, а другую.
Например, печать на принтер идет с разрешением 600dpi (600 точек на дюйм), но для операций заливки почему-то берется разрешение не 600dpi, а 150 dpi (?).
Для борьбы с подобным несоответствием в DIGIMINE предусмотрен специальный коэффициент, который задается в диалоге "Печать" (Коэффициент для шаблонов заливки полигонов при выводе на принтер).
Это вынужденная мера, введенная для того, чтобы добиться приемлемого результата даже при неадекватной работе Windows.
Настройки для шаблонов заливки в диалоге "Параметры полигона" :
При настройке параметров полигона можно увеличивать/уменьшать размеры объектов, из которых состоит шаблон.
Для этого имеются коэффициенты изменения размеров в длину (по оси X шаблона) и в ширину (по оси Y шаблона).
Кроме того, можно задать, изменять ли размер объектов шаблона пропорционально изменению масштаба изображения.
Слева показан пользовательский шаблон значка точки в том виде, в котором он находится в файле-чертеже, предназначенном для создания пользовательских шаблонов (оранжевая линия - это линия обрамляющего полигона; все объекты, попадающие внутрь этого полигона включаются в шаблон при его создании).
Справа - пример отрисовки значка точки в окне.
В отличие от шаблонов заливки, для которых перед каждым использованием производится преобразование в растровое изображение, объекты из шаблоны значков точек используются "напрямую", без предварительных преобразований в растровое изображение.
Шаблоны для значков точек могут быть не только плоские, но и трехмерные, т.е. при отрисовке значка точки в графических окнах используются все 3 координаты объектов, из которых состоит шаблон значка точки.
Правда в таблице с шаблонами отрисовка производится только в виде проекции на плоскость XY.
Можно управлять положением значков точек в пространстве.
Настройки для значков точки в диалоге "Параметры точки":
Для полилиний и полигонов, из которых состоит значок точки, можно использовать либо их собственные цвета (как задано в шаблоне), либо те цвета, которые задаются в параметрах точки.
С помощью коэффициентов можно растягивать/сжимать значок точек по любой из трех осей значка точки.
Можно задавать, чтобы размеры значка точки изменялись пропорционально изменению масштаба изображения в окне, либо во всех масштабах имели одинаковый размер.
Можно задать, чтобы значок имел точно заданную ориентацию в 3D пространстве (иначе значок будет рисоваться относительно плоскости окна и выглядеть одинаково во всех окнах).
Если задать, что приведенный выше значок точки располагается в горизонтальной плоскости (отметить элемент "поворачивать значок точки в 3D", а все углы поворота задать равными нулю), то в 3D окне он будет выглядеть так:
3. Шаблоны для отрисовки вдоль полилиний.
Пример шаблона и полилинии, отрисованной при помощи этого шаблона:
Обработка шаблонов для полилиний в процессе отрисовки
Непосредственно в процессе отрисовки полилинии с шаблоном, производится необходимая корректировка размеров объектов, из которых состоит шаблон, с учетом заданных для конкретной полилинии коэффициентов и текущего масштаба изображения.
Далее рассчитывается необходимое количество повторений шаблона вдоль полилинии, рассчитывается положение каждого элемента шаблона и производится отрисовка.
Все операции производятся с векторными объектами, поэтому нет такой потери качества, которая бывает, если в процесс вовлечены растровые объекты.
Настройки для значков точки в диалоге "Параметры полилинии":
Шаблон сначала создается пользователем в виде файла-чертежа *.mn4 (в один файл можно записать много шаблонов), а затем производится запись шаблона в pmn-файл с шаблонами.
Для того, чтобы была возможность использования шаблонов, созданных пользователем и записанных в pmn-файл, этот файл с шаблонами должен быть загружен в текущий проект.
Одновременно может быть загружено много файлов с шаблонами.
Более подробно о создании шаблонов и добавлении их в pmn-файл см. режим Добавление шаблона заливки (в группе режимов Работа с полигонами).