ЗЫ2: Ещё одну багофичу заметил - в полёте возможно “ныряние” ниже текущей поверхности - ИМХО надо с этим делом как-то бороться (например “отражать” по типу “блинчиков”)
ЗЫ: С “полётом”, как бы, разобрался - с “попаданием” в нужное место - нет.
ЗЫ2: Добреёл до обстановки возле дома - ИМХО ещё и с масштабом по вертикали чгой-то не того Одно-двуэтажные здания высоковаты, высотки - мелковаты.
Если вы набираете руками “make install”, то вы уже собираете в песочнице, а не в дистрибутив, следовательно сами и позаботьтесь о том что бы ручками набрать ldconfig, потому что повторю ещё раз: это не задача сборки, это задача упаковки в пакет средствами пакетного менеджера. В /usr/local собирается всё только в том случае, если собирать что-то руками на коленке для “чисто_напопробовать_собираемость”, за всё что лежит там никто ответственности кроме вас самого не несёт.
Правила хорошего тона сборки софта: 1) после rm -rf /usr/local ни один софт не перестал работать или как то изменил своё поведение, 2) каждый исполняемый файл в системе принадлежит какому то конкретному пакету с конкретной версией.
p.s. прежде чем наезжать по поводу “эстонцы” и “я тут ручками слепил” изучите мантейнерс-гид по своему дистрибутиву и правильному процессу сборки софта.
Одноэтажным зданиям кроме гаражей (можно, в принципе, добавить и остановки буде у них свой building=) прибавляется метр (по-хорошему надо не только одноэтажным, но там надо min_level тоже учитывать, а мне пока было лень) - это полезно одноэтажным магазинам (которые на самом деле даже 5 метров) и деревенским домам. Хотите однозначной интерпретации - меряйте и проставляйте height. Высотки нормальные, но обычно у них 1-2 технических этажа которые не считают в levels. Нужно придумать тэг и отмечать их тоже.
Это эффект восприятия. Во-первых, мы их обычно видим с десятков метров и чтобы увидеть верх надо задрать голову - вот и кажется что они высокие. Кроме того, на торце 2 ряда окон, на которые мы прежде всего обращаем внимание, и у этого прямоугольника другие пропорции. А в реальности они действительно с торца почти квадратные, что легко проверяется измерением длины и высоты.
cmake не поддерживает make uninstall, см. его FAQ.
Для openSUSE (текущей и предыдущей версий) glosm собирается в моём уютненьком домашнем репозитарии на openSUSE Build Service. Для инсталяции достаточно воспользоваться поиском по репозитариям http://software.opensuse.org/search или вручную добавить репо и поставить (для 11.2):
zypper ar -f http://download.opensuse.org/repositories/home:/VasilevMaxim/openSUSE_11.2/ home:maksvasilev
zypper install glosm
Для 11.3 соответственно поменять в URL номер версии.
Для Factory:
zypper ar -f http://download.opensuse.org/repositories/home:/VasilevMaxim/openSUSE_Factory/ home:maksvasilev
zypper install glosm
Program received signal SIGSEGV, Segmentation fault.
0xb7f9a040 in std::_List_const_iterator<Vector2 >::operator++() () from /home/serega/glosm/glosm/libgeomgen-default/libgeomgen-default.so
(gdb) bt #0 0xb7f9a040 in std::_List_const_iterator<Vector2 >::operator++() () from /home/serega/glosm/glosm/libgeomgen-default/libgeomgen-default.so #1 0xb7f94454 in CreateSmartVerticalLines(Geometry&, std::list<Vector2, std::allocator<Vector2 > > const&, int, int, float, OsmDatasource::Way const&) ()
from /home/serega/glosm/glosm/libgeomgen-default/libgeomgen-default.so #2 0xb7f994b2 in WayDispatcher(Geometry&, OsmDatasource const&, OsmDatasource::Way const&) () from /home/serega/glosm/glosm/libgeomgen-default/libgeomgen-default.so #3 0xb7f99a72 in DefaultGeometryGenerator::GetGeometry(Geometry&, BBox const&) const () from /home/serega/glosm/glosm/libgeomgen-default/libgeomgen-default.so #4 0xb7fd75de in GeometryTile::GeometryTile(Projection const&, GeometryDatasource const&, Vector2 const&, BBox const&) () from /home/serega/glosm/glosm/libglosm-client/libglosm-client.so #5 0xb7fd6c90 in GeometryLayer::GeometryLayer(Projection, GeometryDatasource const&) () from /home/serega/glosm/glosm/libglosm-client/libglosm-client.so #6 0x0804a22c in real_main(int, char**) () #7 0x0804a43c in main ()
(gdb)
Это понятно, но так не полноэкранному приложению вести себя странновато - его получается даже свернуть мышкой нельзя.
Может быть можно какую-то кнопку хотя бы предусмотреть, как это сделано в vmware и пр.
Все кнопки уже есть в WM. Может стоит в fullscreen по умолчанию запускать, но мне такая самодеятельность кажется странной.
Ближе к qt версии что-нибудь придумаю.
Просто надо сделать как во всех 3D просмотрщиках и редакторах, чтобы поворот камеры осуществлялся когда зажата правая клавиша мышки - и тогда пусть указатель пропадает и захватывается, а когда отпускаем, то возвращается туда где был изначально. Это 100% более верное поведение.