todo по результатам обсуждения 2009.03.09 -- работа с векторными данными
-
Vladislav Zavjalov
- Title changed from todo по ÑезÑлÑÑаÑам обÑÑÐ¶Ð´ÐµÐ½Ð¸Ñ 2009.03.09 -- ÑабоÑа Ñ Ð²ÐµÐºÑоÑнÑми даннÑми to очередные мысли
В первую очередь надо понять, над какой структурой данных делать вьюер.
Интересно сделать вьюер над абстракным классом "графических объектов", которые умеют следующее: * с учетом преобразования отдать свой диапазон * с учетом преобразования обрезаться по границам плитки -- "закэшировать" (не обязательно в растре) данные для рисования на плитке. * нарисоваться на плитку.
Сюда попадают и waypoints с подписями, и треки, и fig... И даже, кажется, растровые картинки!
дополнения: * при изменении объектов надо не забыть возможность уменьшить/увеличить исходный bounding box! (изменить глубину нарезки всех плиток и добавить/убрать внешнюю четверку)
-
плитка должна хранить ссылки на все исходники "ее" объектов (а не кусочки объектов должны хранить ссылки на свои прообразы).
-
процедуры редактирования объектов делает следующее:
- редактирует исходный объект
- вычисляет плитки, куда он попадает
- в этих плитках обновляет ссылки на изменившиеся объекты
- запускает пересчет палитки
- если надо, запускает процедуру слияния или диления плитки
- если надо, запускает процедуру увеличения/уменьшения bbox'а Видимо, все, кроме первого выносится во внешнюю процедру update_range(Rect<> range, int flags), где flags -- флаги, надо ли пытаться делить/сливать плитки, надо ли пытаться уменьшать/увеличивать границы изображения.
-
Vladislav Zavjalov
- Title changed from оÑеÑеднÑе мÑÑли to todo по результатам обсуждения 2009.03.09 -- работа с векторными данными
-
Vladislav Zavjalov
хм, что-то я не осилил нормальную разметку в этих комментариях :) А исправить, кажется, нельзя...
-
Max Ushakov
Вроде бы приняты следующие обновления этой теории:
Иметь одну плоскость с раз и навсегда установленными координатами, и рисовать всё на ней -- таким образом, нам не надо думать о том, чтобы увеличивать размеры изображения и перестраивать деление на плитки.
Есть разногласия насчёт этой плоскости. Две теории:
* Первая: плоскость совпадает с плоскостью экрана, для неё определены привязка, и масштаб (изменяющиеся согласованно). * Вторая: плоскость есть плоскость естественных координат всех объектов, у неё есть географическая привязка, а она сама отображается на экране в нужном масштабе.Надо написать так и так, и посмотреть, как получается лучше :)
Please Sign in or create a free account to add a new ticket.
With your very own profile, you can contribute to projects, track your activity, watch tickets, receive and update tickets through your email and much more.