Приложения
Приложение А. Функции, константы и структуры RDS
А.4. Структуры RDS
А.4.12. RDS_LINEDESCRIPTION – описание отрезка внутри связи или шины
Структура RDS_LINEDESCRIPTION используется для получения описания отдельного отрезка, соединяющего пару точек связи или шины в ее геометрическом изображении. Эта структура заполняется сервисными функциями rdsGetLineDescription и rdsFindNextConnectedLine. Пример ее использования приведен в §2.13.4 руководства программиста.
Структура используется только для получения описания отрезка, изменить параметры этого отрезка с ее помощью нельзя. Для изменения параметров существующих связей или шин и создания новых используется вспомогательный объект, создаваемый функцией rdsCECreateEditor.
typedef struct { DWORD servSize; // Размер этой структуры в байтах RDSINT32 LineType; // Тип отрезка (RDS_LN*) RDSINT32 nPoint1,nPoint2; // Номера соединяемых точек RDSINT32 x1,y1; // Абсолютные координаты точки nPoint1 RDSINT32 x2,y2; // Абсолютные координаты точки nPoint2 RDSINT32 dx1,dy1; // Смещения управляющей точки для nPoint1 RDSINT32 dx2,dy2; // Смещения управляющей точки для nPoint2 RDS_CHANDLE Owner; // Связь-владелец отрезка } RDS_LINEDESCRIPTION; typedef RDS_LINEDESCRIPTION *RDS_PLINEDESCRIPTION;
Поля структуры
- servSize (DWORD)
- Размер этой структуры в байтах. Перед вызовом любой сервисной функции, работающей с этой структурой, полю servSize необходимо присвоить значение sizeof(RDS_LINEDESCRIPTION).
- LineType (RDSINT32)
- Тип отрезка: отрезок прямой или кривая Безье В этом поле может находиться одна
из двух констант:
RDS_LNLINE Отрезок прямой. RDS_LNBEZIER Кривая Безье. - nPoint1, nPoint2 (RDSINT32)
- Порядковые номера соединяемых отрезком точек связи или шины. Обращение к точкам всегда идет по их номеру, общее число точек можно получить через поле NumPoints структуры RDS_CONNDESCRIPTION.
- x1, y1 (RDSINT32)
- Горизонтальная (x1) и вертикальная (y1) координаты точки связи с номером nPoint1. В отличие от структуры описания точки RDS_POINTDESCRIPTION, в этой структуре всегда указываются абсолютные координаты точки на рабочем поле подсистемы в масштабе 100%.
- x2, y2 (RDSINT32)
- Горизонтальная (x2) и вертикальная (y2) координаты точки связи с номером nPoint2. В отличие от структуры описания точки RDS_POINTDESCRIPTION, в этой структуре всегда указываются абсолютные координаты точки на рабочем поле подсистемы в масштабе 100%.
- dx1, dy1 (RDSINT32)
- Горизонтальное (dx1) и вертикальное (dy1) смещение управляющей точки (точки касательной) для точки связи с номером nPoint1. Эти поля используются только для кривых Безье, то есть если LineType==RDS_LNBEZIER.
- dx2, dy2 (RDSINT32)
- Горизонтальное (dx2) и вертикальное (dy2) смещение управляющей точки (точки касательной) для точки связи с номером nPoint2. Эти поля используются только для кривых Безье, то есть если LineType==RDS_LNBEZIER.
- Owner (RDS_CHANDLE)
- Идентификатор связи или шины, которой принадлежит данный отрезок.
См. также
rdsGetLineDescription, rdsFindNextConnectedLine, RDS_CONNDESCRIPTION, rdsGetConnDescription, rdsCECreateEditor.