Структуры данных SGF
Базовые типы и структуры объявлены в STTypes.idl. На них написаны все сигнатуры методов в последующих разделах.
| Тип | Определение | Назначение |
|---|---|---|
STFloat |
double |
Вещественное число: координаты, радиусы, углы, параметры, веса. |
TST3DPoint |
record (X, Y, Z: double) |
Точка или вектор в 3D. В роли вектора (vZ, vX, Axis, ExtrusionVector) задаёт направление. |
TST2DPoint |
record (X, Y: double) |
Точка в 2D — в параметрическом пространстве поверхности (при построении 2D-кривых контура). |
TST3DMatrix |
record (vX, vY, vZ, vT: TST3DPoint; A, B, C, D: double) |
Матрица преобразования / система координат: базисные векторы vX, vY, vZ, начало координат vT и коэффициенты A–D. |
В сигнатурах также используются примитивы: string — текстовый идентификатор (ID) или путь к файлу, integer — целое число, boolean — флаг.
Преобразования CAD → SGF в примерах. Типы CAD-системы (CADPoint, CADMatrix, …) не совпадают с типами SGF, поэтому в примерах используются небольшие функции-преобразования: ToPoint приводит CAD-точку к TST3DPoint, а ToMatrix — матрицу (систему координат) CAD к TST3DMatrix. Это покомпонентное копирование полей; реализация тривиальна и в примерах не приводится — показаны только вызовы (с поясняющими комментариями).