gis_render_sm_convert_degree2px()

Преобразование градусных координат точки в пиксельные координаты окна отображения.

Прототип:

#include <gis/gis_surfacemanager.h>
int gis_render_sm_convert_degree2px( gis_render_sm_context_t sm_ctx, double_point_t degree_pos, int32_point_t *px_pos );

Аргументы:

sm_ctx
Контекст движка рендеринга Surface Manager.
degree_pos
Точка с градусными координатами.
px_pos
Указатель на точку с пиксельными координатами.

Библиотека:

gisrender

Описание:

Функция преобразует градусные координаты точки в пиксельные координаты окна отображения

Возвращаемое значение:

EOK
Успешное завершение
EINVAL
Некорректные параметры функции
ENOENT
Контекст Surface Manager не был инициализирован
EFAULT
Ошибка преобразования
EDOM
Некорректные градусные координаты

Примеры использования:

QApplication app(argc, argv);
gis_core_connection_t connection;
gis_core_request_parameters_t map;
gis_data_engine_context_t data_engine_ctx;
gis_render_sm_context_t sm_ctx;
gis_core_link_init( &connection );
gis_core_link_connect( &connection, 777 );
gis_core_databuffer_attach( &connection );
gis_core_request_parameters_init( &map );
gis_core_databuffer_data_request( &connection, &map, 1 );
gis_data_engine_alloc( 800, 600, GIS_DATA_ENGINE_MODE_SM, GIS_DATA_ENGINE_BPP_32, &connection, &data_engine_ctx );
gis_render_sm_alloc( &sm_ctx, data_engine_ctx, 1000, 0.5, 0 );
int32_point_t px_pnt;
double_point_t degree_pos;
degree_pos.x = 45;
degree_pos.y = 40;
gis_render_sm_convert_degree2px( sm_ctx, degree_pos, &px_pnt );
if ( px_pnt.x != 11620 && px_pnt.y != 11278 )
{
printf( "Incorrect px coords: %d %d\n", px_pnt.x, px_pnt.y );
return 1;
}
gis_render_sm_free( &sm_ctx );
gis_data_engine_free( &data_engine_ctx );
gis_core_databuffer_detach();
gis_core_link_destroy( &connection, true );

Классификация:

ПК ЦКИ для ЗОСРВ «Нейтрино»

Обработчик прерываний
Нет
Обработчик сигналов
Нет
В потоке
Да

Тематические ссылки:

gis_render_sm_context_t, gis_render_sm_convert_degree2fpx()




Предыдущий раздел: Описание API картографического фреймворка