Вы можете открыть актуальную версию документа прямо сейчас.
Если вы являетесь пользователем интернет-версии системы ГАРАНТ, вы можете открыть этот документ прямо сейчас или запросить по Горячей линии в системе.
Приложение А
(справочное)
Руководство по внедрению схемы AMF XML
А.1 Элементы AMF
Перечень элементов AMF представлен в таблице А.1.
Таблица А.1 - Перечень элементов AMF
Элемент |
Родительский элемент (элементы) |
Атрибут |
Разрешено ли несколько элементов? |
Описание |
<nх>, |
<normal> |
|
Нет |
Нормализованные х-, у-или z-компоненты нормали к поверхности в вершине. |
<nу>, | ||||
<nz> | ||||
<volume> |
<mesh> |
|
Да |
Определяет объем от установленного списка вершин. |
|
|
materialid |
|
Идентификатор материала, применяемый к этому объему. |
<triangle> |
<volume> |
|
Да |
Определяет треугольник из трех вершин в 3D, в соответствии с правилом правой руки (против часовой стрелки). |
<v1>, |
<triangle> |
|
|
Индекс вершин, определяющих треугольник или грань. |
<v2>, |
<edge> |
|||
<v3> | ||||
<texture> |
|
|
Да |
Указывает данные текстуры, которая будет использоваться, с помощью tex-функции в формуле. Содержит последовательность Base64 с закодированными значениями и с указанием значения пикселей текстуры. |
|
|
id |
|
Назначает для новой текстуры уникальный ID. |
|
|
width |
|
Ширина (размер по горизонтали, х) текстуры в пикселях. |
|
|
height |
|
Высота (боковой размер, у) текстуры в пикселях. |
|
|
depth |
|
Глубина (вертикальный размер, z) текстуры в пикселях. |
|
|
|
|
Определяет, может ли текстура быть плиточной. Значение true означает "плиточная". Любое другое значение не подразумевает плитку. Любая текстура, отображенная за пределами заданного диапазона, должна возвращать к нулевому значению. |
|
|
type |
|
Кодирование данных в текстуре. В настоящее время должны быть "оттенки серого". В режиме градаций серого каждый пиксель представлен одним байтом в диапазоне [0-255]. Когда текстура задается с помощью tex-функции, эти значения преобразуются в одну точку в диапазоне [0-1] (см А.2). Полноцветное изображение, как правило, требует три текстуры - по одному для каждого из цветовых каналов. Графическое отображение прозрачности может потребовать наличия четвертого канала. |
<texmapl> |
<triangle> |
|
Нет |
Карта вершин этого треугольника (u, v, w) с координатами заданной текстуры. Если параметр не указан, координата w должна быть равна нулю. |
|
|
rtexid |
|
ID текстуры красного канала. |
|
|
gtexid |
|
ID текстуры зеленого канала. |
|
|
btexid |
|
ID текстуры голубого канала. |
|
|
atexid |
|
ID текстуры альфа-канала. |
<utext1>, |
<texmap> |
|
Нет |
Описание: координаты u, v и w (опционально) вершин треугольника 1, 2 и 3. |
<utex2>, | ||||
<utex3> | ||||
<ytext1>, | ||||
<ytex2>, | ||||
<ytex3> | ||||
<wtext1>, | ||||
<wtex2>, | ||||
<wtex3>, | ||||
<material> |
<amf> |
|
Да |
Доступный материал. |
|
|
id |
|
Уникальный ID материала. Значение "0" ID материала зарезервировано для обозначения пустот или расходуемого мат-ла. |
<composite> |
<material> |
|
Да |
Композитный материал. Значение числовой константы или математические функции координат х, у, z, определяющее соотношение материалов (materialid). Если значение отрицательное, оно считается равным нулю. Дробное значение числа должно быть округлено до 1. Если оно равно нулю, то материал отсутствует (пустота). Пустоты материалов не должны быть смешаны. См. в п. А.2 список допустимых математических функций. |
|
|
materialid |
|
Ссылка на существующий материал. Ссылка не должна быть рекурсивной или циклической. |
<constellation> |
<amf> |
|
Да |
Совокупность объектов с конкретным местоположением. |
|
|
id |
|
Определяет ID нового созвездия. |
<instance> |
<constellation> |
|
Да |
Совокупность объектов для печати. |
|
|
objectid |
|
Ссылка на ID существующего или создаваемого объекта или созвездия. Рекурсивные или циклические ссылки не должны использоваться. |
<deltax>, |
<instance> |
|
Нет |
Расстояние переноса в х-, у- или z-направлении, соответственно, в системе координат объекта для создания экземпляра объекта в текущем созвездии. |
<deltay>, | ||||
<deltaz> | ||||
<rx>, |
<instance> |
|
Нет |
Поворот объекта в градусах вокруг его х-, у- и z-осей, соответственно, для создания экземпляра объекта в текущем созвездии. Повороты должны быть выполнены в порядке х, а затем у и z. |
<ry>, | ||||
<rz> | ||||
<metadata> |
<amf>, |
|
Да |
Указывает дополнительную информацию об объекте. |
<object>, | ||||
<volume>, | ||||
<material>, | ||||
<vertex> | ||||
|
|
type |
|
Тип атрибута. Значения должны быть одним из следующих: name - буквенно-цифровая метка объекта, которая может быть использована интерпретатором при взаимодействии с пользователем; description - описание сущности; url - ссылка на внешний источник, относящийся к объекту; author - задает имя(имена) автора(ов); company - определяет компанию, генерирующий объект; producer - задает имя исходного программного обеспечения и версии; revision - определяет пересмотр сущности; tolerance - задает необходимый производственный допуск объекта в системе предприятия/подразделения; volume - определяет общий объем объекта в единице системы субъекта, который будет использоваться для проверки (применяется только к объекту и объему); elasticmodulus - задает модуль упругости объекта, в единицах СИ (только для материала); poissonratio - определяет коэффициент Пуассона материала, в единицах СИ (только для материала); colourprofile - цвет ICC пространства, используемый для интерпретации трех цветовых каналов <r>, <g> и <b>. Может быть один из 9sRGB9, 9AdobeRGB9, 9WIDE-Gamut-RGB9, 9CIERGB9, 9CIELAB9 или 9CIEXYZ9 (верхний уровень только <AML>) |
А.2 Математические операции и функции
Перечень математических операций и функций представлен в таблице А.2.
Формулы, содержащие символы, которые ограничены в XML, такие как "<" и ">", должны содержаться в пункте CDATA (т.е. начинаться с "[CDATA]" и заканчиваться "]]>").
Таблица А.2 - Перечень математических операций и функций
Старшинство |
Оператор |
Определение |
1 |
() |
Скобки блока |
2 |
^ |
Степень |
3 |
* |
Умножение |
3 |
/ |
Деление |
Логические операторы возвращают логическое значение 1 или 0, представляющий TRUE и FALSE, соответственно. Нулевое значение представляет FALSE и ненулевое значение представляет TRUE. | ||
4 |
+ |
Добавить |
4 |
- |
Вычитание |
5 |
= |
Равно |
5 |
<, <= |
Меньше, чем (или равно) |
5 |
>, >= |
Больше, чем (или равно) |
6 |
and |
Точка пересечения (логическое И) |
6 |
or |
Союз (логическое ИЛИ) |
6 |
xor |
Разница (исключающее ИЛИ) |
6 |
1 |
Отрицание (логическое НЕ) |
6 |
mod(a, b) |
Модуль, в том числе частичный. Возвращает остаток от деления а на b. |
6 |
sin(x) |
Синус, радианы |
6 |
cos(x) |
Косинусы, радианы |
6 |
tan(x) |
Тангенс, радианы |
6 |
asin(x) |
Арксинус, радианы |
6 |
acos(x) |
Арккосинус, радианы |
6 |
atan(x) |
Арктангенс, радианы |
6 |
floor(x) |
Округлить до ближайшего целого |
6 |
ceil(x) |
Округлить до ближайшего целого |
6 |
sqrt(x) |
Квадратный корень |
6 |
ln(x) |
Натуральный логарифм |
6 |
log10(x) |
Базовый десятичный логарифм |
6 |
exp(x) |
Экспонента |
6 |
abs(x) |
Абсолютное значение |
6 |
max(x, y) |
Максимальное значение |
6 |
min(x, y) |
Минимальное значение |
6 |
rand(x, y) |
2D или 3D координаты интервале [0, 1] (без учета 1). Возвращаемое число должно быть стойким (тот же номер должен всегда быть возвращен на те же координаты). См. пример реализации в пункте А.4. |
6 |
tex(textured, u, v, w) |
Возвращает скалярное значение с плавающей запятой в диапазоне [0, 1], что интерполирует текстуру с textureid в начало координат (u, v, w) для 3D-текстур и (u, v) для 2D-текстур. Если текстура имеет тип "градации серого", диапазон [0, 1] соответствует диапазону [0-255] в данных текстурах. Целые значения координат относятся к центру текстуры с первого пикселя, имеющего индекс 1. Если значения дробные, необходимо использовать метод линейной интерполяции. Если координаты выходят за пределы не плиточной текстуры, нулевое значение должно быть возвращено. Если текстура 2D и z координат задана, координата z должна быть проигнорирована. |
tex(textureid, u, v) | ||
Логические операторы возвращают логическое значение 1 или 0, представляющий FALSE и TRUE, соответственно. Нулевое значение представляет |
Если вы являетесь пользователем интернет-версии системы ГАРАНТ, вы можете открыть этот документ прямо сейчас или запросить по Горячей линии в системе.