Реализация функции mapHalfZoneObject имеет вид:
Код |
---|
// Построение половины зоны вокруг объекта / подобъекта
// (справа от объекта по направлению цифрования)
// radius - радиус создаваемой зоны (в метрах на местности)
// info - метрика объекта, по которому строится зона
// subject - номер подобъекта, вокруг которого строим зону
// При ошибке возвращает ноль
_MAPIMP long int _MAPAPI mapHalfZoneObject(double radius, HOBJ info, long int subject)
{
if ((radius < DELTANULL) || (info == 0) || (subject < 0))
return 0;
TMap *Map = ((TObjectInfo*) info)->Map;
return mapZoneObjectEx(radius, info, subject, 0, 0.001 * Map->Scale(), 3., 1);
} |
Она вызывает функцию mapZoneObjectEx с параметром form равным нулю (прямой угол). Если вызвать функцию mapZoneObjectEx с параметром 1, то угол будет закругленный.
Вызов функции Map->Scale() аналогичен вызову mapGetMapScale(HMAP hmap) или mapGetSiteScale(HMAP hMap, HSITE hSite);