Получение списка активных классов.
#include <gis/gisrender.h>int gis_data_engine_get_class_list( gis_data_engine_context_t ctx, std::vector<ClassifierInfo> &list, std::vector<gis_core_class_code_t> &class_list );
gisrender
Функция заполняет список классов, активных на момент запроса.
gis_core_connection_t connection;gis_data_engine_context_t ctx;uint32_t width = 100;uint32_t height = 100;gis_core_link_init( &connection );if ( gis_core_link_connect( &connection, 777 ) != EOK ) {printf( "Failed to connect databuffer\n" );return 1;}if ( gis_core_databuffer_attach( &connection ) != EOK ) {printf( "Failed to attach databuffer\n" );return 1;}gis_core_request_parameters_t map;gis_core_request_parameters_init( &map );gis_core_databuffer_data_request( &connection, &map, 1 );if ( gis_data_engine_alloc( width, height, GIS_DATA_ENGINE_MODE_SM, GIS_DATA_ENGINE_BPP_32, &connection, &ctx ) != EOK ) {printf( "gis_data_engine_alloc() failed.\n" );return 1;}std::vector<ClassifierInfo> list;std::vector<gis_core_class_code_t> class_list;list.clear();class_list.clear();if ( gis_data_engine_get_classifier_list( ctx, list ) != EOK ) {printf( "Failed to fill classifier list \n" );return 1;}for ( int i = 0; i < (int)list.size(); i++ ){printf( "classifier_%d: %s\n", i, list.at( i ).name.c_str() );}if ( gis_data_engine_get_class_list( ctx, list, class_list ) != EOK ) {printf( "Failed to fill class list\n" );return 1;}if ( class_list.size() != 1182 ){printf( "Incorrect class_list size: %d\n", class_list.size() );return 1;}gis_data_engine_free( &ctx );gis_core_databuffer_detach();gis_core_link_destroy( &connection, true );
ПК ЦКИ для ЗОСРВ «Нейтрино»
1.1.0
gis_data_engine_context_t, gis_data_engine_get_map_list()
Предыдущий раздел: Описание API картографического фреймворка