Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> топологическая библиотека 
:(
    Опции темы
drug007
Дата 17.11.2013, 08:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 196
Регистрация: 3.11.2011

Репутация: нет
Всего: 1



Всем здравствуйте!
Возникла проблема взаимного расположения объектов на экране. Например объекты на экране имеют подписи, которые нужно автоматически располагать так, чтобы они не закрывали эти самые объекты. В том числе при добавлении нового объекта нужно делать перерасчет. Нет ли каких-либо библиотек, которые учитывают топологию (надеюсь правильно использовал этот термин) и позволяют выстраивать объекты в соответствии с определенными правилами? В принципе что-то должно быть такое, потому что задача распространена - например, расположение виджетов на экране тоже требует учета топологии.
PM MAIL   Вверх
Amp
Дата 17.11.2013, 13:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 886
Регистрация: 17.2.2009

Репутация: 3
Всего: 17



Искать надо по ключевой фразе вроде "resolving labels overlapping", но зачастую все решается индивидуально применительно к заданным условиями, что позволяет производить некоторые оптимизации. В простейшем случае это реализуется изменением выравниванем подписи относительно объекта и скрытия подписей, когда их уже никуда не воткнуть. В более сложных случаях можно укорачивать подписи, вставляя ellipsis, изменять размер шрифта, оттаскивать подписи сильно дальше от объектов, рисуя линии до них, ограничивать максимальнок количество подписей на экране и т.п.

 А расположение виджетов на экране не требует ничего такого - они либо позиционируются абсолютно, либо подчинаются layout manager-у.

Это сообщение отредактировал(а) Amp - 17.11.2013, 13:32
PM MAIL   Вверх
akizelokro
Дата 18.11.2013, 03:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Крокодил
**


Профиль
Группа: Участник
Сообщений: 761
Регистрация: 30.7.2007

Репутация: 1
Всего: 5



Пишется наскидку за неделю (за неделю, потому что автоматически возникнут другие требования).
Топология вообще-то 2-мерная, 3- или 4 мерная?


--------------------
a = a + b; b = a - b; a = a - b;
PM MAIL   Вверх
akizelokro
Дата 18.11.2013, 04:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Крокодил
**


Профиль
Группа: Участник
Сообщений: 761
Регистрация: 30.7.2007

Репутация: 1
Всего: 5



Если честно, то таких задач нет. считается по-своему, но я злой сегодня. на исключение перекрытия ставятся условия. На взаимное расположение - тоже.


--------------------
a = a + b; b = a - b; a = a - b;
PM MAIL   Вверх
drug007
Дата 20.11.2013, 20:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 196
Регистрация: 3.11.2011

Репутация: нет
Всего: 1



Спасибо за ответы. Действительно для виджетов досточно простого менеджера раскладки. Что касается надписей - топология 2D (точнее проекция 3D на плоскость). Нашел про labelling algorithms, буду читать.
PM MAIL   Вверх
ТарасАтавин
Дата 23.11.2013, 10:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 370
Регистрация: 26.8.2013

Репутация: нет
Всего: нет



Не понятно, какое надписи имеют отношении к топологии. Если бы стояла задача не только расположить, но и раскрасить так, чтоб ни какие два соседних цвета не совпадали, тогда другое дело. А надпись вне самого объекта надо просто присчитать к габаритам своего объекта. Если же существуют некоторые правила взаиморасположения, то их по определению придётся учесть в алгоритме, что вообще исключает применение библиотек.


--------------------
Не так всё плохо, как оно есть на самом деле.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0459 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.