 |
www.integro.ru ЦСИ ИНТЕГРО
|
Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
Oleg_at
Зарегистрирован: 28.09.2007 Сообщения: 10 Откуда: Ижевск
|
Добавлено: Чт 29 Ноя 2007 16:23 Заголовок сообщения: Методы отображения стилей!? |
|
|
Вопрос не прозаичный, а теоретико-прикладной:
1. используют ли в одном стиле различные методы отбражения?
2. если да, то как использовать для каждого в отдельности методы:
общий, текст и символ? Для конструкции: Contour := MapO.Shapes.Insert(-1,sStyle).Contour;
3. если да, то зачем в одном стиле использовать различные методы,
может для "путаницы"? |
|
Вернуться к началу |
|
 |
Михаил Власов

Зарегистрирован: 14.02.2005 Сообщения: 580 Откуда: ИНТЕГРО
|
Добавлено: Пт 30 Ноя 2007 18:24 Заголовок сообщения: |
|
|
Использование нескольких методов отображения в одном стиле позволяет решать две задачи:
1. Использовать разное оформление контура в разных масштабных диапазонах. Например, железная дорога на крупных масштабах отображается во всей красе - чередующимися черными и белыми полосами, а на мелких масштабах - стандартным методом с пунктирной окантовкой.
2. Формировать сложные оформления контура из набора простых. Например для ЛЭП можно задать рисунок стрелки, которая будет отображаться на выходах из вершин, плюс рисунок кружочка, который будет отображаться в каждой вершине. _________________ С уважением, Михаил Власов. |
|
Вернуться к началу |
|
 |
Oleg_at
Зарегистрирован: 28.09.2007 Сообщения: 10 Откуда: Ижевск
|
Добавлено: Пт 30 Ноя 2007 19:16 Заголовок сообщения: |
|
|
Михаил Власов писал(а): | Использование нескольких методов отображения в одном стиле позволяет решать две задачи:
1. Использовать разное оформление контура в разных масштабных диапазонах. Например, железная дорога на крупных масштабах отображается во всей красе - чередующимися черными и белыми полосами, а на мелких масштабах - стандартным методом с пунктирной окантовкой.
2. Формировать сложные оформления контура из набора простых. Например для ЛЭП можно задать рисунок стрелки, которая будет отображаться на выходах из вершин, плюс рисунок кружочка, который будет отображаться в каждой вершине. |
Уважаемый Михаил, это понятон и ВЫ молодцы!
Но я спрашивал о разнотипных методах!!!
Т.е. если один Текст, задаем вектор - две опорные точки!!!
А второй, пусть, общий. В нем точки контура!!!
Используем:
Код: | Contour := MapO.Shapes.Insert(-1,sStyle).Contour;
Part := Contour.Insert(-1);
Part.InsertVertex(-1, X, Y, 0); |
Если я задам две точки для подписи текста X1,Y1 X2,Y2
то где контур Объекта и наоборот??!!
Множество одного метода Стилей - понятно!
А множество Методов Стиля с разными подмножествами Методов???
Как в теоремах: "допустим" ручками создал все 3-и имеющихся Метода в ОДНОМ стиле и как "привязать" соответствие Contour к каждому методу отбражения?
P.S. Тип метода определить можем, а далее? |
|
Вернуться к началу |
|
 |
Михаил Власов

Зарегистрирован: 14.02.2005 Сообщения: 580 Откуда: ИНТЕГРО
|
Добавлено: Вт 04 Дек 2007 09:49 Заголовок сообщения: |
|
|
Каждый пространственный объект ИнГео включает:
1. Набор геометрических форм, где геометрическая форма - это совокупность контура и ссылки на стиль, при помощи которого этот контур должен отображаться (важно: на стиль, а не на метод отображения). Количество форм в одном просранственном неограничено.
Так, например, объект может состоять из двух форм, первая из которых является формой, определяющей геометрию объекта (контур здания), а вторая - вспомогательная форма, использующаяся для подписи этого объекта (подпись здания).
Каждая из двух форм имеет собственный контур и ссылается на соответствующий стиль.
Кстати, для разделения форм, определяющих геометрию объекта, от вспомогательных форм, в параметрах стиля предусмотрен флаг "Определяет геометрию объекта". Этот флаг используется различными штатными процедурами ИнГео, например, при подсчете периметра и площади объекта.
2. Набор семантических (атрибутивных) данных - структура и кратность таких данных определена набором семантических таблиц слоя, к котоому относится пространственный объект.
----
В Вашем примере, видимо, следует создать в слое два стиля: один для основного контура, а второй - для подписи.
А при создании пространственного объекта создавать две формы (Shapes): одну, содержащую точки основного контура и ссылающуюся на основной стиль со стандартным методом отображения, и вторую форму, содержащую две опорных точки текста, ссылающуюся на вспомогательный стиль с текстовым методом отображения.
Например, так:
Код: | // Создание основной формы объекта
aShape := aMapObject.Shapes.Insert(-1, MainStyleId);
aPart := aShape.Contour.Insert(-1);
aPart.InsertVertex(...); // Заполнение основного контура
...
// Создание вспомогательной формы для отображения подписи
aShape := aMapObject.Shapes.Insert(-1, CaptionStyleId);
aPart := aShape.Contour.Insert(-1);
aPart.InsertVertex(...); // Первая вершина подписи
aPart.InsertVertex(...); // Вторая вершина подписи |
_________________ С уважением, Михаил Власов. |
|
Вернуться к началу |
|
 |
|
|
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах Вы не можете добавлять приложения в этом форуме Вы можете скачивать файлы в этом форуме
|
|