You can subscribe to this list here.
2005 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(92) |
Dec
(141) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2006 |
Jan
(126) |
Feb
(72) |
Mar
(31) |
Apr
(200) |
May
(81) |
Jun
(130) |
Jul
(112) |
Aug
(134) |
Sep
(76) |
Oct
(89) |
Nov
(153) |
Dec
(9) |
2007 |
Jan
(59) |
Feb
(82) |
Mar
(50) |
Apr
(20) |
May
(9) |
Jun
(81) |
Jul
(41) |
Aug
(109) |
Sep
(91) |
Oct
(87) |
Nov
(33) |
Dec
(60) |
2008 |
Jan
(21) |
Feb
(15) |
Mar
(38) |
Apr
(75) |
May
(59) |
Jun
(46) |
Jul
(30) |
Aug
(20) |
Sep
(35) |
Oct
(32) |
Nov
(34) |
Dec
(19) |
2009 |
Jan
(29) |
Feb
(71) |
Mar
(54) |
Apr
(17) |
May
(4) |
Jun
|
Jul
(3) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(3) |
2010 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(3) |
Aug
(58) |
Sep
(7) |
Oct
(7) |
Nov
(12) |
Dec
(18) |
2011 |
Jan
(17) |
Feb
(29) |
Mar
(11) |
Apr
(5) |
May
(1) |
Jun
|
Jul
|
Aug
(11) |
Sep
|
Oct
|
Nov
|
Dec
|
2012 |
Jan
(2) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2014 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
(87) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2015 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(44) |
Jun
(79) |
Jul
(16) |
Aug
(31) |
Sep
|
Oct
(51) |
Nov
|
Dec
|
2016 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(2) |
Oct
|
Nov
|
Dec
|
From: Ehud S. <esh...@us...> - 2006-06-07 20:00:59
|
Update of /cvsroot/roadmap/roadmap_editor/src/agg In directory sc8-pr-cvs9.sourceforge.net:/tmp/cvs-serv3318 Modified Files: roadmap_canvas.cpp Log Message: Add navigation panel. Index: roadmap_canvas.cpp =================================================================== RCS file: /cvsroot/roadmap/roadmap_editor/src/agg/roadmap_canvas.cpp,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** roadmap_canvas.cpp 15 May 2006 20:16:49 -0000 1.3 --- roadmap_canvas.cpp 5 Jun 2006 09:18:13 -0000 1.4 *************** *** 91,94 **** --- 91,97 ---- static font_manager_type m_fman(m_feng); + static font_engine_type m_image_feng; + static font_manager_type m_image_fman(m_image_feng); + static RoadMapConfigDescriptor RoadMapConfigFont = ROADMAP_CONFIG_ITEM("Labels", "FontName"); *************** *** 127,131 **** void roadmap_canvas_get_text_extents ! (const char *text, int *width, int *ascent, int *descent) { *ascent = 0; --- 130,134 ---- void roadmap_canvas_get_text_extents ! (const char *text, int size, int *width, int *ascent, int *descent) { *ascent = 0; *************** *** 144,149 **** const wchar_t* p = wstr; while(*p) { ! const agg::glyph_cache* glyph = m_fman.glyph(*p); if(glyph) { --- 147,164 ---- const wchar_t* p = wstr; + font_manager_type *fman; + + if (size == -1) { + /* Use the regular font */ + fman = &m_fman; + } else { + + m_image_feng.height(size); + m_image_feng.width(size); + fman = &m_image_fman; + } + while(*p) { ! const agg::glyph_cache* glyph = fman->glyph(*p); if(glyph) { *************** *** 255,259 **** roadmap_canvas_get_text_extents ! (text, &text_width, &text_ascent, &text_descent); text_height = text_ascent + text_descent; --- 270,274 ---- roadmap_canvas_get_text_extents ! (text, -1, &text_width, &text_ascent, &text_descent); text_height = text_ascent + text_descent; *************** *** 662,666 **** ras.clip_box(0, 0, agg_renb.width(), agg_renb.height()); ! agg::glyph_rendering gren = gren = agg::glyph_ren_outline; roadmap_config_declare --- 677,682 ---- ras.clip_box(0, 0, agg_renb.width(), agg_renb.height()); ! agg::glyph_rendering gren = agg::glyph_ren_outline; ! agg::glyph_rendering image_gren = agg::glyph_ren_agg_gray8; roadmap_config_declare *************** *** 674,678 **** if (!RoadMapCanvasFontLoaded) { ! if(m_feng.load_font(font_file, 0, gren)) { m_feng.hinting(true); m_feng.height(15); --- 690,696 ---- if (!RoadMapCanvasFontLoaded) { ! if(m_feng.load_font(font_file, 0, gren) && ! m_image_feng.load_font(font_file, 0, image_gren)) { ! m_feng.hinting(true); m_feng.height(15); *************** *** 680,683 **** --- 698,704 ---- m_feng.flip_y(true); + m_image_feng.hinting(true); + m_image_feng.flip_y(true); + RoadMapCanvasFontLoaded = 1; } else { *************** *** 721,722 **** --- 742,840 ---- } + + void roadmap_canvas_copy_image (RoadMapImage dst_image, + const RoadMapGuiPoint *pos, + const RoadMapGuiRect *rect, + RoadMapImage src_image, int mode) { + + agg::renderer_base<agg::pixfmt_rgba32> renb(dst_image->pixfmt); + + agg::rect_i agg_rect; + agg::rect_i *agg_rect_p = NULL; + + if (rect) { + agg_rect.x1 = rect->minx; + agg_rect.y1 = rect->miny; + agg_rect.x2 = rect->maxx; + agg_rect.y2 = rect->maxy; + + agg_rect_p = &agg_rect; + } + + if (mode == CANVAS_COPY_NORMAL) { + renb.copy_from(src_image->rbuf, agg_rect_p, pos->x, pos->y); + } else { + renb.blend_from(src_image->pixfmt, agg_rect_p, pos->x, pos->y, 255); + } + } + + + int roadmap_canvas_image_width (const RoadMapImage image) { + + if (!image) return 0; + + return image->rbuf.width(); + } + + + int roadmap_canvas_image_height (const RoadMapImage image) { + + if (!image) return 0; + + return image->rbuf.height(); + } + + + void roadmap_canvas_draw_image_text (RoadMapImage image, + const RoadMapGuiPoint *position, + int size, const char *text) { + + if (RoadMapCanvasFontLoaded != 1) return; + + wchar_t wstr[255]; + int length = roadmap_canvas_agg_to_wchar (text, wstr, 255); + if (length <=0) return; + + #ifdef USE_FRIBIDI + wchar_t *bidi_text = bidi_string(wstr); + const wchar_t* p = bidi_text; + #else + const wchar_t* p = wstr; + #endif + + ren_solid.color(CurrentPen->color); + + double x = position->x; + double y = position->y + size - 7; + + agg::renderer_base<agg::pixfmt_rgba32> renb(image->pixfmt); + agg::renderer_scanline_aa_solid< agg::renderer_base<agg::pixfmt_rgba32> > ren_solid (renb); + + ren_solid.color(agg::rgba8(0, 0, 0)); + + m_image_feng.height(size); + m_image_feng.width(size); + + while(*p) { + const agg::glyph_cache* glyph = m_image_fman.glyph(*p); + + if(glyph) { + m_image_fman.init_embedded_adaptors(glyph, x, y); + + agg::render_scanlines(m_image_fman.gray8_adaptor(), + m_image_fman.gray8_scanline(), + ren_solid); + + // increment pen position + x += glyph->advance_x; + y += glyph->advance_y; + } + ++p; + } + + #ifdef USE_FRIBIDI + free(bidi_text); + #endif + + } + |
From: Ehud S. <esh...@us...> - 2006-06-07 20:00:40
|
Update of /cvsroot/roadmap/roadmap_editor/src/win32 In directory sc8-pr-cvs9.sourceforge.net:/tmp/cvs-serv6064 Modified Files: roadmap_main.cpp Log Message: Add full screen support. Index: roadmap_main.cpp =================================================================== RCS file: /cvsroot/roadmap/roadmap_editor/src/win32/roadmap_main.cpp,v retrieving revision 1.11 retrieving revision 1.12 diff -C2 -d -r1.11 -r1.12 *** roadmap_main.cpp 2 May 2006 15:10:26 -0000 1.11 --- roadmap_main.cpp 5 Jun 2006 18:52:00 -0000 1.12 *************** *** 79,85 **** static HWND RoadMapMainMenuBar = NULL; static HMENU RoadMapCurrentSubMenu = NULL; ! static HWND RoadMapMainToolbar = NULL; static HANDLE VirtualSerialHandle = 0; static const char *RoadMapMainVirtualSerial; // Global Variables: --- 79,87 ---- static HWND RoadMapMainMenuBar = NULL; static HMENU RoadMapCurrentSubMenu = NULL; ! static HWND RoadMapMainToolbar = NULL; ! static bool RoadMapMainFullScreen = false; static HANDLE VirtualSerialHandle = 0; static const char *RoadMapMainVirtualSerial; + // Global Variables: *************** *** 456,462 **** break; ! case WM_ACTIVATE: ! // Notify shell of our activate message ! SHHandleWMActivate(hWnd, wParam, lParam, &s_sai, FALSE); break; --- 458,471 ---- break; ! case WM_ACTIVATE: ! if ((LOWORD(wParam)!=WA_INACTIVE) && ! RoadMapMainFullScreen) { ! SHFullScreen(RoadMapMainWindow, SHFS_HIDETASKBAR | SHFS_HIDESIPBUTTON); ! ! } else { ! ! // Notify shell of our activate message ! SHHandleWMActivate(hWnd, wParam, lParam, &s_sai, FALSE); ! } break; *************** *** 541,546 **** void roadmap_main_toggle_full_screen (void) ! { ! // TODO: implement } --- 550,587 ---- void roadmap_main_toggle_full_screen (void) ! { ! #define MENU_HEIGHT 26 ! RECT rc; ! ! //get window size ! GetWindowRect(RoadMapMainWindow, &rc); ! ! if (!RoadMapMainFullScreen) { ! SHFullScreen(RoadMapMainWindow, SHFS_HIDETASKBAR | SHFS_HIDESIPBUTTON); ! ShowWindow(RoadMapMainMenuBar, SW_HIDE); ! ! MoveWindow(RoadMapMainWindow, ! rc.left, ! rc.top-MENU_HEIGHT, ! rc.right, ! rc.bottom+MENU_HEIGHT, ! TRUE); ! ! RoadMapMainFullScreen = true; ! ! } else { ! ! SHFullScreen(RoadMapMainWindow, SHFS_SHOWTASKBAR | SHFS_SHOWSIPBUTTON); ! ShowWindow(RoadMapMainMenuBar, SW_SHOW); ! MoveWindow(RoadMapMainWindow, ! rc.left, ! rc.top+MENU_HEIGHT, ! rc.right, ! rc.bottom-(2*MENU_HEIGHT), ! TRUE); ! ! RoadMapMainFullScreen = false; ! ! } } |
From: Ehud S. <esh...@us...> - 2006-06-07 20:00:39
|
Update of /cvsroot/roadmap/roadmap_editor/src/icons/bmp In directory sc8-pr-cvs9.sourceforge.net:/tmp/cvs-serv5533/bmp Added Files: nav_approaching.bmp nav_continue.bmp nav_keep_left.bmp nav_keep_right.bmp nav_panel.bmp nav_panel_wide.bmp nav_turn_left.bmp nav_turn_right.bmp nav_u_turn.bmp Log Message: navigation panel bitmaps. Copyright of Avi Romano. --- NEW FILE: nav_approaching.bmp --- (This appears to be a binary file; contents omitted.) --- NEW FILE: nav_turn_right.bmp --- (This appears to be a binary file; contents omitted.) --- NEW FILE: nav_panel_wide.bmp --- (This appears to be a binary file; contents omitted.) --- NEW FILE: nav_keep_left.bmp --- (This appears to be a binary file; contents omitted.) --- NEW FILE: nav_turn_left.bmp --- (This appears to be a binary file; contents omitted.) --- NEW FILE: nav_continue.bmp --- (This appears to be a binary file; contents omitted.) --- NEW FILE: nav_keep_right.bmp --- (This appears to be a binary file; contents omitted.) --- NEW FILE: nav_u_turn.bmp --- (This appears to be a binary file; contents omitted.) --- NEW FILE: nav_panel.bmp --- (This appears to be a binary file; contents omitted.) |
From: Ehud S. <esh...@us...> - 2006-06-07 19:59:55
|
Update of /cvsroot/roadmap/roadmap_editor/src In directory sc8-pr-cvs9.sourceforge.net:/tmp/cvs-serv2433 Modified Files: roadmap_start.c Log Message: Add full screen support. Index: roadmap_start.c =================================================================== RCS file: /cvsroot/roadmap/roadmap_editor/src/roadmap_start.c,v retrieving revision 1.19 retrieving revision 1.20 diff -C2 -d -r1.19 -r1.20 *** roadmap_start.c 21 May 2006 16:35:43 -0000 1.19 --- roadmap_start.c 5 Jun 2006 09:16:54 -0000 1.20 *************** *** 99,102 **** --- 99,103 ---- static RoadMapMenu LongClickMenu; + static RoadMapScreenSubscriber roadmap_start_prev_after_refresh = NULL; /* The menu and toolbar callbacks: --------------------------------------- */ *************** *** 590,595 **** "toggleorientation", "toggleview", ! "IncHorizon", ! "DecHorizon", RoadMapFactorySeparator, --- 591,595 ---- "toggleorientation", "toggleview", ! "full", RoadMapFactorySeparator, *************** *** 925,928 **** --- 925,932 ---- ("Download", &download_point, 0 - roadmap_math_get_orientation()); } + + if (roadmap_start_prev_after_refresh) { + (*roadmap_start_prev_after_refresh) (); + } } *************** *** 1065,1069 **** roadmap_help_initialize (); ! roadmap_screen_subscribe_after_refresh (roadmap_start_after_refresh); editor_main_initialize (); --- 1069,1074 ---- roadmap_help_initialize (); ! roadmap_start_prev_after_refresh = ! roadmap_screen_subscribe_after_refresh (roadmap_start_after_refresh); editor_main_initialize (); |
From: Ehud S. <esh...@us...> - 2006-06-07 19:59:55
|
Update of /cvsroot/roadmap/roadmap_editor/src In directory sc8-pr-cvs9.sourceforge.net:/tmp/cvs-serv1009 Modified Files: objects Log Message: Add full screen support. Index: objects =================================================================== RCS file: /cvsroot/roadmap/roadmap_editor/src/objects,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** objects 8 May 2006 13:54:19 -0000 1.3 --- objects 5 Jun 2006 09:13:59 -0000 1.4 *************** *** 43,46 **** --- 43,52 ---- B -4 -4 20 20 + N full_screen + I rm_full.bmp + P 220 25 + A full + B -4 -4 20 20 + N view_button I rm_3d.bmp |
From: Pascal F M. <pas...@us...> - 2006-06-07 07:31:24
|
Update of /cvsroot/roadmap/roadmap/src In directory sc8-pr-cvs9.sourceforge.net:/tmp/cvs-serv29668 Modified Files: dumpmap_main.c Log Message: Add option to browse the index Index: dumpmap_main.c =================================================================== RCS file: /cvsroot/roadmap/roadmap/src/dumpmap_main.c,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** dumpmap_main.c 4 Feb 2006 09:18:44 -0000 1.6 --- dumpmap_main.c 7 Jun 2006 07:31:21 -0000 1.7 *************** *** 31,34 **** --- 31,35 ---- #include "roadmap_dictionary.h" #include "roadmap_metadata.h" + #include "roadmap_index.h" *************** *** 38,41 **** --- 39,43 ---- static int DumpMapShowStrings = 0; static int DumpMapShowAttributes = 0; + static int DumpMapShowIndex = 0; static char *DumpMapShowDump = NULL; static char *DumpMapShowVolume = NULL; *************** *** 246,249 **** --- 248,345 ---- + /* Index print module ------------------------------------------------------ + * + * This is a simple module as it does not care about keeping any + * context, it does its jobs once the database has been mapped, and + * then it forgets about the database. + */ + + static void *dumpmap_index_map (roadmap_db *root) { + + return (*RoadMapIndexHandler.map) (root); + } + + static void roadmap_index_print_maps (int wtid) { + + int i; + int max; + int count; + char **classes; + char **files; + + max = roadmap_index_get_map_count (); + classes = calloc (max, sizeof(char *)); + roadmap_check_allocated(classes); + files = calloc (max, sizeof(char *)); + roadmap_check_allocated(files); + + count = roadmap_index_by_territory (wtid, classes, files, max); + + for (i = 0; i < count; ++i) { + printf (" map %s (%s)\n", files[i], classes[i]); + } + } + + static void roadmap_index_print_territories (const char *authority) { + + int i; + int max; + int count; + int *list; + + max = roadmap_index_get_territory_count (); + list = calloc (max, sizeof(int)); + roadmap_check_allocated(list); + + count = roadmap_index_by_authority (authority, list, max); + + for (i = 0; i < count; ++i) { + + const char *path = roadmap_index_get_territory_path (list[i]); + + if (path == NULL || path[0] == 0) path = "."; + + printf (" Territory %09d (%s) at %s\n", + list[i], roadmap_index_get_territory_name (list[i]), path); + roadmap_index_print_maps (list[i]); + } + } + + static void roadmap_index_print_authorities (void) { + + char **names; + char **symbols; + int authority_count; + int authority; + + + printf ("RoadMap index tables:\n"); + + authority_count = roadmap_index_list_authorities (&symbols, &names); + + for (authority = 0; authority < authority_count; ++authority) { + + printf (" Authority %s (%s)\n", symbols[authority], names[authority]); + + roadmap_index_print_territories (symbols[authority]); + } + } + + static void dumpmap_index_activate (void *context) { + + (*RoadMapIndexHandler.activate) (context); + + if (DumpMapShowIndex != 0) { + roadmap_index_print_authorities (); + } else { + roadmap_dictionary_dump (); + } + } + + roadmap_db_handler DumpMapPrintIndex = + {"index", + dumpmap_index_map, dumpmap_index_activate, NULL}; + + /* Section dump module ----------------------------------------------------- * *************** *** 320,323 **** --- 416,422 ---- POPT_ARG_NONE, &DumpMapShowAttributes, 0, "Show map attributes", NULL}, + {"index", 'i', + POPT_ARG_NONE, &DumpMapShowIndex, 0, "Show map index", NULL}, + {NULL, 0, POPT_ARG_INCLUDE_TABLE, DumpMapDictionaryOptions, 0, "Dictionary options", NULL}, *************** *** 349,352 **** --- 448,460 ---- (RoadMapModel, "string", &RoadMapDictionaryHandler); + } else if (DumpMapShowIndex) { + + RoadMapModel = + roadmap_db_register + (RoadMapModel, "index", &DumpMapPrintIndex); + RoadMapModel = + roadmap_db_register + (RoadMapModel, "string", &RoadMapDictionaryHandler); + } else if (DumpMapShowStrings || (DumpMapShowVolume != NULL)) { |
From: Pascal F M. <pas...@us...> - 2006-06-07 07:31:03
|
Update of /cvsroot/roadmap/roadmap/src In directory sc8-pr-cvs9.sourceforge.net:/tmp/cvs-serv29233 Modified Files: roadmap_index.c Log Message: More complete interface to browse the index Index: roadmap_index.c =================================================================== RCS file: /cvsroot/roadmap/roadmap/src/roadmap_index.c,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** roadmap_index.c 16 Jan 2006 20:26:43 -0000 1.4 --- roadmap_index.c 7 Jun 2006 07:30:56 -0000 1.5 *************** *** 32,35 **** --- 32,43 ---- * * These functions are used to retrieve a map given a location or city. + * + * + * int roadmap_index_list_authorities (const char ***names); + * + * This function is used to list the content of the index: first get + * the list of authorities, then follow down with territories and maps. + * + * The list of string pointers must be deallocated, but not the strings. */ *************** *** 42,45 **** --- 50,54 ---- #include "roadmap_math.h" #include "roadmap_hash.h" + #include "roadmap_path.h" #include "roadmap_dbread.h" #include "roadmap_db_index.h" *************** *** 500,503 **** --- 509,585 ---- + const RoadMapArea *roadmap_index_get_territory_edges (int wtid) { + + int i; + + if (RoadMapIndexActive == NULL) return NULL; + + i = roadmap_index_search_territory (wtid); + if (i < 0) return NULL; + + return &RoadMapIndexActive->territory[i].edges; + } + + + const char *roadmap_index_get_territory_path (int wtid) { + + int i; + int index; + int authority_path; + int territory_path; + RoadMapAuthority *this_authority; + + + if (RoadMapIndexActive == NULL) return ""; + + index = roadmap_index_search_territory (wtid); + if (index < 0) return ""; + + for (i = RoadMapIndexActive->authority_count - 1; i >= 0; --i) { + + this_authority = RoadMapIndexActive->authority + i; + + if (index >= this_authority->territory_first && + index <= this_authority->territory_first + + this_authority->territory_count) { + authority_path = this_authority->pathname; + break; + } + } + + territory_path = RoadMapIndexActive->territory[index].pathname; + + if (authority_path > 0 && territory_path > 0) { + + static char *full_path = NULL; + + char *path1; + char *path2; + + path1 = roadmap_dictionary_get + (RoadMapIndexActive->files, authority_path); + path2 = roadmap_dictionary_get + (RoadMapIndexActive->files, territory_path); + + if (full_path != NULL) roadmap_path_free (full_path); + full_path = roadmap_path_join (path1, path2); + + return full_path; + + } else if (authority_path > 0) { + + return roadmap_dictionary_get + (RoadMapIndexActive->files, authority_path); + + } else if (territory_path > 0) { + + return roadmap_dictionary_get + (RoadMapIndexActive->files, territory_path); + } + + return ""; + } + + int roadmap_index_get_territory_count (void) { *************** *** 509,522 **** ! const RoadMapArea *roadmap_index_get_territory_edges (int wtid) { ! int i; ! if (RoadMapIndexActive == NULL) return NULL; i = roadmap_index_search_territory (wtid); ! if (i < 0) return NULL; ! return &RoadMapIndexActive->territory[i].edges; } --- 591,661 ---- ! int roadmap_index_get_map_count (void) { ! if (RoadMapIndexActive == NULL) { ! return 0; /* None is available, anyway. */ ! } ! return RoadMapIndexActive->map_count; ! } ! ! int roadmap_index_by_territory ! (int wtid, char **classes, char **files, int count) { ! ! int i, j; ! int map_end; ! RoadMapTerritory *this_territory; ! ! if (RoadMapIndexActive == NULL) return 0; i = roadmap_index_search_territory (wtid); ! if (i < 0) return 0; ! this_territory = RoadMapIndexActive->territory + i; ! ! if (count > this_territory->map_count) { ! map_end = this_territory->map_first + this_territory->map_count; ! } else { ! map_end = this_territory->map_first + count; ! } ! ! for (count = 0, j = this_territory->map_first; j < map_end; ++j, ++count) { ! classes[count] = ! roadmap_dictionary_get (RoadMapIndexActive->classes, ! RoadMapIndexActive->map[j].class); ! files[count] = ! roadmap_dictionary_get (RoadMapIndexActive->files, ! RoadMapIndexActive->map[j].filename); ! } ! ! return count; ! } ! ! ! int roadmap_index_list_authorities (char ***symbols, ! char ***names) { ! ! int i; ! RoadMapAuthority *this_authority; ! ! *names = calloc (RoadMapIndexActive->authority_count, sizeof(char *)); ! roadmap_check_allocated(*names); ! ! *symbols = calloc (RoadMapIndexActive->authority_count, sizeof(char *)); ! roadmap_check_allocated(*symbols); ! ! for (i = RoadMapIndexActive->authority_count - 1; i >= 0; --i) { ! ! this_authority = RoadMapIndexActive->authority + i; ! ! (*symbols)[i] = roadmap_dictionary_get ! (RoadMapIndexActive->names, this_authority->symbol); ! ! (*names)[i] = roadmap_dictionary_get ! (RoadMapIndexActive->names, ! RoadMapIndexActive->name[this_authority->name_first]); ! } ! ! return RoadMapIndexActive->authority_count; } |
From: Pascal F M. <pas...@us...> - 2006-06-07 07:30:25
|
Update of /cvsroot/roadmap/roadmap/src In directory sc8-pr-cvs9.sourceforge.net:/tmp/cvs-serv29061 Modified Files: roadmap_index.h Log Message: More complete interface to browse the index Index: roadmap_index.h =================================================================== RCS file: /cvsroot/roadmap/roadmap/src/roadmap_index.h,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** roadmap_index.h 2 Jan 2006 09:14:13 -0000 1.1 --- roadmap_index.h 7 Jun 2006 07:30:20 -0000 1.2 *************** *** 35,45 **** int roadmap_index_by_authority (const char *authority, int *wtid, int count); ! const char *roadmap_index_get_territory_name (int wtid); const char *roadmap_index_get_authority_name (int wtid); ! int roadmap_index_get_territory_count (void); const RoadMapArea *roadmap_index_get_territory_edges (int wtid); extern roadmap_db_handler RoadMapIndexHandler; --- 35,54 ---- int roadmap_index_by_authority (const char *authority, int *wtid, int count); ! int roadmap_index_by_territory ! (int wtid, char **class, char **files, int count); ! const char *roadmap_index_get_authority_name (int wtid); ! const char *roadmap_index_get_territory_name (int wtid); ! const char *roadmap_index_get_territory_path (int wtid); const RoadMapArea *roadmap_index_get_territory_edges (int wtid); + int roadmap_index_get_territory_count (void); + + int roadmap_index_get_map_count (void); + + int roadmap_index_list_authorities (char ***symbols, char ***names); + extern roadmap_db_handler RoadMapIndexHandler; |
From: Pascal F M. <pas...@us...> - 2006-06-07 07:29:27
|
Update of /cvsroot/roadmap/roadmap/src In directory sc8-pr-cvs9.sourceforge.net:/tmp/cvs-serv28494 Modified Files: buildmap_index.c Log Message: Fix incomplete map information Index: buildmap_index.c =================================================================== RCS file: /cvsroot/roadmap/roadmap/src/buildmap_index.c,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** buildmap_index.c 16 Jan 2006 20:42:49 -0000 1.3 --- buildmap_index.c 7 Jun 2006 07:29:24 -0000 1.4 *************** *** 766,771 **** one_territory = db_territory + territory_cursor; one_territory->pathname = this_territory->pathname_index; ! one_territory->name = 0; one_territory->edges = this_territory->edges; --- 766,772 ---- one_territory = db_territory + territory_cursor; + one_territory->wtid = this_territory->wtid; one_territory->pathname = this_territory->pathname_index; ! one_territory->name = this_territory->name; one_territory->edges = this_territory->edges; |
From: Pascal F M. <pas...@us...> - 2006-06-07 07:28:17
|
Update of /cvsroot/roadmap/roadmap/src In directory sc8-pr-cvs9.sourceforge.net:/tmp/cvs-serv27788 Modified Files: buildmap_tiger.c Log Message: Add full name of the map authority Index: buildmap_tiger.c =================================================================== RCS file: /cvsroot/roadmap/roadmap/src/buildmap_tiger.c,v retrieving revision 1.11 retrieving revision 1.12 diff -C2 -d -r1.11 -r1.12 *** buildmap_tiger.c 5 Jun 2006 22:49:17 -0000 1.11 --- buildmap_tiger.c 7 Jun 2006 07:28:10 -0000 1.12 *************** *** 1073,1077 **** buildmap_metadata_add_attribute ("Territory", "Id", county); ! buildmap_metadata_add_attribute ("Territory", "Parent", "us"); /* for now. */ buildmap_metadata_add_attribute ("Class", "Name", "All"); --- 1073,1080 ---- buildmap_metadata_add_attribute ("Territory", "Id", county); ! ! buildmap_metadata_add_attribute ("Territory", "Parent", "us"); ! buildmap_metadata_add_value ("Territory", "Parent", ! "United States of America"); buildmap_metadata_add_attribute ("Class", "Name", "All"); |
From: Paul F. <pg...@us...> - 2006-06-06 01:24:41
|
Update of /cvsroot/roadmap/roadmap/src In directory sc8-pr-cvs9.sourceforge.net:/tmp/cvs-serv22530 Modified Files: buildmap_tiger.c Log Message: correct the error check on mmap() calls Index: buildmap_tiger.c =================================================================== RCS file: /cvsroot/roadmap/roadmap/src/buildmap_tiger.c,v retrieving revision 1.10 retrieving revision 1.11 diff -C2 -d -r1.10 -r1.11 *** buildmap_tiger.c 2 Jun 2006 23:06:21 -0000 1.10 --- buildmap_tiger.c 5 Jun 2006 22:49:17 -0000 1.11 *************** *** 351,355 **** data = mmap (NULL, state_result.st_size, PROT_READ, MAP_PRIVATE, file, 0); ! if (data == NULL) { buildmap_error (0, "cannot mmap"); return NULL; --- 351,355 ---- data = mmap (NULL, state_result.st_size, PROT_READ, MAP_PRIVATE, file, 0); ! if (data == MAP_FAILED) { buildmap_error (0, "cannot mmap"); return NULL; |
From: Paul F. <pg...@us...> - 2006-06-06 01:24:39
|
Update of /cvsroot/roadmap/roadmap/src/unix In directory sc8-pr-cvs9.sourceforge.net:/tmp/cvs-serv22530/unix Modified Files: roadmap_file.c Log Message: correct the error check on mmap() calls Index: roadmap_file.c =================================================================== RCS file: /cvsroot/roadmap/roadmap/src/unix/roadmap_file.c,v retrieving revision 1.17 retrieving revision 1.18 diff -C2 -d -r1.17 -r1.18 *** roadmap_file.c 2 Jan 2006 08:59:51 -0000 1.17 --- roadmap_file.c 5 Jun 2006 22:49:17 -0000 1.18 *************** *** 258,262 **** 0); ! if (context->base == NULL) { roadmap_log (ROADMAP_ERROR, "cannot map file %s", context->name); roadmap_file_unmap (&context); --- 258,262 ---- 0); ! if (context->base == MAP_FAILED) { roadmap_log (ROADMAP_ERROR, "cannot map file %s", context->name); roadmap_file_unmap (&context); |
From: Pascal F M. <pas...@us...> - 2006-06-02 23:11:43
|
Update of /cvsroot/roadmap/roadmap/src In directory sc8-pr-cvs9.sourceforge.net:/tmp/cvs-serv13547 Modified Files: roadmap_locator.h Log Message: As signaled by Allyn Tenant, a city may span on more than 1 county (Huntsville) Index: roadmap_locator.h =================================================================== RCS file: /cvsroot/roadmap/roadmap/src/roadmap_locator.h,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -d -r1.9 -r1.10 *** roadmap_locator.h 8 Dec 2003 02:18:02 -0000 1.9 --- roadmap_locator.h 2 Jun 2006 23:11:40 -0000 1.10 *************** *** 41,45 **** int roadmap_locator_by_state (const char *state_symbol, int **fips); ! int roadmap_locator_by_city (const char *city, const char *state); int roadmap_locator_activate (int fips); int roadmap_locator_active (void); --- 41,46 ---- int roadmap_locator_by_state (const char *state_symbol, int **fips); ! int roadmap_locator_by_city (const char *city, const char *state, int **fips); ! int roadmap_locator_activate (int fips); int roadmap_locator_active (void); |
From: Pascal F M. <pas...@us...> - 2006-06-02 23:11:25
|
Update of /cvsroot/roadmap/roadmap/src In directory sc8-pr-cvs9.sourceforge.net:/tmp/cvs-serv13501 Modified Files: roadmap_locator.c Log Message: As signaled by Allyn Tenant, a city may span on more than 1 county (Huntsville) Index: roadmap_locator.c =================================================================== RCS file: /cvsroot/roadmap/roadmap/src/roadmap_locator.c,v retrieving revision 1.18 retrieving revision 1.19 diff -C2 -d -r1.18 -r1.19 *** roadmap_locator.c 2 Jan 2006 09:07:29 -0000 1.18 --- roadmap_locator.c 2 Jun 2006 23:11:20 -0000 1.19 *************** *** 335,345 **** ! int roadmap_locator_by_city (const char *city_name, const char *state_symbol) { RoadMapString city; RoadMapString state; ! roadmap_locator_configure(); ! if (RoadMapCountyCache == NULL) return ROADMAP_US_NOMAP; state = roadmap_dictionary_locate (RoadMapUsStateDictionary, state_symbol); --- 335,348 ---- ! int roadmap_locator_by_city ! (const char *city_name, const char *state_symbol, int **fips) { ! ! int count; RoadMapString city; RoadMapString state; ! count = roadmap_locator_allocate (fips); ! if (count <= 0) return ROADMAP_US_NOMAP; state = roadmap_dictionary_locate (RoadMapUsStateDictionary, state_symbol); *************** *** 357,361 **** } ! return roadmap_locator_open (roadmap_county_by_city (city, state)); } --- 360,364 ---- } ! return roadmap_county_by_city (city, state, *fips, count); } |
From: Pascal F M. <pas...@us...> - 2006-06-02 23:10:26
|
Update of /cvsroot/roadmap/roadmap/src In directory sc8-pr-cvs9.sourceforge.net:/tmp/cvs-serv13056 Modified Files: roadmap_geocode.c Log Message: As signaled by Allyn Tenant, a city may span on more than 1 county (Huntsville) Index: roadmap_geocode.c =================================================================== RCS file: /cvsroot/roadmap/roadmap/src/roadmap_geocode.c,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** roadmap_geocode.c 6 Feb 2006 06:38:25 -0000 1.5 --- roadmap_geocode.c 2 Jun 2006 23:10:23 -0000 1.6 *************** *** 47,59 **** ! int roadmap_geocode_address (RoadMapGeocode **selections, ! const char *number_image, ! const char *street_name, ! const char *city_name, ! const char *state_name) { int i, j, k; ! int fips; ! int count; unsigned int street_number [ROADMAP_MAX_STREETS]; --- 47,58 ---- ! static int roadmap_geocode_address_county (RoadMapGeocode **selections, ! const char *number_image, ! const char *street_name, ! const char *city_name, ! int fips) { int i, j, k; ! int block_count; unsigned int street_number [ROADMAP_MAX_STREETS]; *************** *** 63,96 **** ! RoadMapGeocodeError = "No error"; ! *selections = NULL; ! ! switch (roadmap_locator_by_city (city_name, state_name)) { ! ! case ROADMAP_US_OK: ! ! count = roadmap_street_blocks_by_city ! (street_name, city_name, blocks, 256); ! break; ! ! case ROADMAP_US_NOSTATE: ! ! RoadMapGeocodeError = "No state with that name could be found"; ! return 0; ! ! case ROADMAP_US_NOCITY: ! ! RoadMapGeocodeError = "No city with that name could be found"; ! return 0; ! ! default: ! ! RoadMapGeocodeError = "No related map could be found"; ! return 0; } ! if (count <= 0) { ! switch (count) { case ROADMAP_STREET_NOADDRESS: RoadMapGeocodeError = "No such address could be found on that street"; --- 62,75 ---- ! if (roadmap_locator_activate (fips) != ROADMAP_US_OK) { ! return ROADMAP_US_NOMAP; } ! block_count = ! roadmap_street_blocks_by_city (street_name, city_name, blocks, 256); ! if (block_count <= 0) { ! ! switch (block_count) { case ROADMAP_STREET_NOADDRESS: RoadMapGeocodeError = "No such address could be found on that street"; *************** *** 108,114 **** } ! if (count > ROADMAP_MAX_STREETS) { roadmap_log (ROADMAP_ERROR, "too many blocks"); ! count = ROADMAP_MAX_STREETS; } --- 87,93 ---- } ! if (block_count > ROADMAP_MAX_STREETS) { roadmap_log (ROADMAP_ERROR, "too many blocks"); ! block_count = ROADMAP_MAX_STREETS; } *************** *** 124,128 **** ! for (i = 0, cursor = count; i < count; ++i) { range_count = --- 103,107 ---- ! for (i = 0, cursor = block_count; i < block_count; ++i) { range_count = *************** *** 146,150 **** } } ! count = cursor; } else { --- 125,129 ---- } } ! block_count = cursor; } else { *************** *** 154,158 **** number = roadmap_math_street_address (number_image, strlen(number_image)); ! for (i = 0; i < count; ++i) { street_number[i] = number; } --- 133,137 ---- number = roadmap_math_street_address (number_image, strlen(number_image)); ! for (i = 0; i < block_count; ++i) { street_number[i] = number; } *************** *** 160,168 **** results = (RoadMapGeocode *) ! calloc (count, sizeof(RoadMapGeocode)); ! ! fips = roadmap_locator_active(); ! for (i = 0, j = 0; i < count; ++i) { int line; --- 139,145 ---- results = (RoadMapGeocode *) ! calloc (block_count, sizeof(RoadMapGeocode)); ! for (i = 0, j = 0; i < block_count; ++i) { int line; *************** *** 204,207 **** --- 181,266 ---- + int roadmap_geocode_address (RoadMapGeocode **selections, + const char *number_image, + const char *street_name, + const char *city_name, + const char *state_name) { + + static int *fips = NULL; + + int i; + int county_count; + int selected; + + + selected = 0; + *selections = NULL; + RoadMapGeocodeError = "No error"; + + county_count = roadmap_locator_by_city (city_name, state_name, &fips); + + if (county_count == 1) { + + selected = + roadmap_geocode_address_county (selections, + number_image, + street_name, + city_name, + fips[0]); + + } else if (county_count > 0) { + + RoadMapGeocodeError = "No error"; + + for (i = county_count - 1; i >= 0; --i) { + + int count; + int total; + RoadMapGeocode *subselections; + + count = roadmap_geocode_address_county (&subselections, + number_image, + street_name, + city_name, + fips[i]); + + if (count > 0) { + + total = selected + count; + + *selections = realloc (*selections, total * sizeof(RoadMapGeocode)); + memcpy (*selections+selected, + subselections, count * sizeof(RoadMapGeocode)); + free(subselections); + + selected = total; + } + } + + } else if (selected == 0) { + + switch (county_count) { + + case ROADMAP_US_NOSTATE: + + RoadMapGeocodeError = "No state with that name could be found"; + return 0; + + case ROADMAP_US_NOCITY: + + RoadMapGeocodeError = "No city with that name could be found"; + return 0; + + default: + + RoadMapGeocodeError = "No related map could be found"; + return 0; + } + } + + return selected; + } + + const char *roadmap_geocode_last_error (void) { |
From: Pascal F M. <pas...@us...> - 2006-06-02 23:09:48
|
Update of /cvsroot/roadmap/roadmap/src In directory sc8-pr-cvs9.sourceforge.net:/tmp/cvs-serv12603 Modified Files: roadmap_county.h Log Message: As signaled by Allyn Tenant, a city may span on more than 1 county (Huntsville) Index: roadmap_county.h =================================================================== RCS file: /cvsroot/roadmap/roadmap/src/roadmap_county.h,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** roadmap_county.h 14 Nov 2005 07:08:07 -0000 1.5 --- roadmap_county.h 2 Jun 2006 23:09:45 -0000 1.6 *************** *** 31,35 **** (const RoadMapPosition *position, int *fips, int count); ! int roadmap_county_by_city (RoadMapString city, RoadMapString state); int roadmap_county_by_state(RoadMapString state, int *fips, int count); --- 31,36 ---- (const RoadMapPosition *position, int *fips, int count); ! int roadmap_county_by_city ! (RoadMapString city, RoadMapString state, int *fips, int count); int roadmap_county_by_state(RoadMapString state, int *fips, int count); |
From: Pascal F M. <pas...@us...> - 2006-06-02 23:09:24
|
Update of /cvsroot/roadmap/roadmap/src In directory sc8-pr-cvs9.sourceforge.net:/tmp/cvs-serv12539 Modified Files: roadmap_county.c Log Message: As signaled by Allyn Tenant, a city may span on more than 1 county (Huntsville) Index: roadmap_county.c =================================================================== RCS file: /cvsroot/roadmap/roadmap/src/roadmap_county.c,v retrieving revision 1.11 retrieving revision 1.12 diff -C2 -d -r1.11 -r1.12 *** roadmap_county.c 16 Jan 2006 20:57:59 -0000 1.11 --- roadmap_county.c 2 Jun 2006 23:09:21 -0000 1.12 *************** *** 273,279 **** ! int roadmap_county_by_city (RoadMapString city, RoadMapString state) { int i; RoadMapCountyCity *this_city; RoadMapCountyByState *this_state; --- 273,281 ---- ! int roadmap_county_by_city ! (RoadMapString city, RoadMapString state, int *fips, int count) { int i; + int found = 0; RoadMapCountyCity *this_city; RoadMapCountyByState *this_state; *************** *** 291,299 **** if (this_city->city == city) { ! return RoadMapCountyActive->county[this_city->county].fips; } } ! return 0; /* No such city in this state. */ } --- 293,302 ---- if (this_city->city == city) { ! fips[found++] = RoadMapCountyActive->county[this_city->county].fips; ! if (found == count) return count; /* Better stop now. */ } } ! return found; } |
From: Pascal F M. <pas...@us...> - 2006-06-02 23:06:27
|
Update of /cvsroot/roadmap/roadmap/src In directory sc8-pr-cvs9.sourceforge.net:/tmp/cvs-serv11234 Modified Files: buildmap_tiger.c Log Message: Merge fix for unusual Census Bureau year convention Index: buildmap_tiger.c =================================================================== RCS file: /cvsroot/roadmap/roadmap/src/buildmap_tiger.c,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -d -r1.9 -r1.10 *** buildmap_tiger.c 6 Feb 2006 06:34:31 -0000 1.9 --- buildmap_tiger.c 2 Jun 2006 23:06:21 -0000 1.10 *************** *** 754,758 **** fips = tiger2int (cursor, 15, 19); ! year = tiger2int (cursor, 11, 14); if (fips > 0) { --- 754,763 ---- fips = tiger2int (cursor, 15, 19); ! ! if (cursor[10] == 'E' || cursor[10] == 'C') { ! year = 2002; ! } else { ! year = tiger2int (cursor, 11, 14); ! } if (fips > 0) { |
From: Ehud S. <esh...@us...> - 2006-06-02 12:47:47
|
Update of /cvsroot/roadmap/roadmap_editor/src/win32/wince_env/agg In directory sc8-pr-cvs9.sourceforge.net:/tmp/cvs-serv24881/agg Added Files: agg.vcp Log Message: Update agg project file. --- NEW FILE: agg.vcp --- # Microsoft eMbedded Visual Tools Project File - Name="agg" - Package Owner=<4> # Microsoft eMbedded Visual Tools Generated Build File, Format Version 6.02 # ** DO NOT EDIT ** # TARGTYPE "Win32 (WCE ARMV4) Static Library" 0xa304 CFG=agg - Win32 (WCE ARMV4) Debug !MESSAGE This is not a valid makefile. To build this project using NMAKE, !MESSAGE use the Export Makefile command and run !MESSAGE !MESSAGE NMAKE /f "agg.vcn". !MESSAGE !MESSAGE You can specify a configuration when running NMAKE !MESSAGE by defining the macro CFG on the command line. For example: !MESSAGE !MESSAGE NMAKE /f "agg.vcn" CFG="agg - Win32 (WCE ARMV4) Debug" !MESSAGE !MESSAGE Possible choices for configuration are: !MESSAGE !MESSAGE "agg - Win32 (WCE ARMV4) Release" (based on "Win32 (WCE ARMV4) Static Library") !MESSAGE "agg - Win32 (WCE ARMV4) Debug" (based on "Win32 (WCE ARMV4) Static Library") !MESSAGE # Begin Project # PROP AllowPerConfigDependencies 0 # PROP Scc_ProjName "" # PROP Scc_LocalPath "" # PROP ATL_Project 2 CPP=clarm.exe !IF "$(CFG)" == "agg - Win32 (WCE ARMV4) Release" # PROP BASE Use_MFC 0 # PROP BASE Use_Debug_Libraries 0 # PROP BASE Output_Dir "ARMV4Rel" # PROP BASE Intermediate_Dir "ARMV4Rel" # PROP BASE CPU_ID "{ECBEA43D-CD7B-4852-AD55-D4227B5D624B}" # PROP BASE Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" # PROP BASE Target_Dir "" # PROP Use_MFC 0 # PROP Use_Debug_Libraries 0 # PROP Output_Dir "ARMV4Rel" # PROP Intermediate_Dir "ARMV4Rel" # PROP CPU_ID "{ECBEA43D-CD7B-4852-AD55-D4227B5D624B}" # PROP Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" # PROP Target_Dir "" # ADD BASE CPP /nologo /W3 /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "NDEBUG" /D "ARM" /D "_ARM_" /D "ARMV4" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "_LIB" /YX /O2 /M$(CECrtMT) /c # ADD CPP /nologo /W3 /I "../../../agg/include" /I "../../../freetype/include" /I "../../../fribidi" /D "NDEBUG" /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "ARM" /D "_ARM_" /D "ARMV4" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "_LIB" /D "USE_FRIBIDI" /YX /O2 /M$(CECrtMT) /c LIB32=link.exe -lib # ADD BASE LIB32 /nologo # ADD LIB32 /nologo BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo !ELSEIF "$(CFG)" == "agg - Win32 (WCE ARMV4) Debug" # PROP BASE Use_MFC 0 # PROP BASE Use_Debug_Libraries 1 # PROP BASE Output_Dir "ARMV4Dbg" # PROP BASE Intermediate_Dir "ARMV4Dbg" # PROP BASE CPU_ID "{ECBEA43D-CD7B-4852-AD55-D4227B5D624B}" # PROP BASE Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" # PROP BASE Target_Dir "" # PROP Use_MFC 0 # PROP Use_Debug_Libraries 1 # PROP Output_Dir "ARMV4Dbg" # PROP Intermediate_Dir "ARMV4Dbg" # PROP CPU_ID "{ECBEA43D-CD7B-4852-AD55-D4227B5D624B}" # PROP Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" # PROP Target_Dir "" # ADD BASE CPP /nologo /W3 /Zi /Od /D "DEBUG" /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "ARM" /D "_ARM_" /D "ARMV4" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "_LIB" /YX /M$(CECrtMTDebug) /c # ADD CPP /nologo /W3 /Zi /Od /I "../../../agg/include" /I "../../../freetype/include" /I "../../../fribidi" /D "DEBUG" /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "ARM" /D "_ARM_" /D "ARMV4" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "_LIB" /D "USE_FRIBIDI" /YX /M$(CECrtMTDebug) /c LIB32=link.exe -lib # ADD BASE LIB32 /nologo # ADD LIB32 /nologo BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo !ENDIF # Begin Target # Name "agg - Win32 (WCE ARMV4) Release" # Name "agg - Win32 (WCE ARMV4) Debug" # Begin Group "Source Files" # PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" # Begin Source File SOURCE=..\..\..\agg\src\agg_bezier_arc.cpp NODEP_CPP_AGG_B=\ "..\..\..\agg\src\agg_bezier_arc.h"\ # End Source File # Begin Source File SOURCE=..\..\..\agg\src\agg_curves.cpp NODEP_CPP_AGG_C=\ "..\..\..\agg\src\agg_curves.h"\ "..\..\..\agg\src\agg_math.h"\ # End Source File # Begin Source File SOURCE=..\..\..\agg\font_freetype\agg_font_freetype.cpp DEP_CPP_AGG_F=\ "..\..\..\agg\font_freetype\agg_font_freetype.h"\ NODEP_CPP_AGG_F=\ "..\..\..\agg\font_freetype\agg_bitset_iterator.h"\ "..\..\..\agg\font_freetype\agg_conv_curve.h"\ "..\..\..\agg\font_freetype\agg_font_cache_manager.h"\ "..\..\..\agg\font_freetype\agg_path_storage_integer.h"\ "..\..\..\agg\font_freetype\agg_rasterizer_scanline_aa.h"\ "..\..\..\agg\font_freetype\agg_renderer_scanline.h"\ "..\..\..\agg\font_freetype\agg_scanline_bin.h"\ "..\..\..\agg\font_freetype\agg_scanline_storage_aa.h"\ "..\..\..\agg\font_freetype\agg_scanline_storage_bin.h"\ "..\..\..\agg\font_freetype\agg_scanline_u.h"\ "..\..\..\agg\font_freetype\agg_trans_affine.h"\ # End Source File # Begin Source File SOURCE=..\..\..\agg\src\agg_line_aa_basics.cpp NODEP_CPP_AGG_L=\ "..\..\..\agg\src\agg_line_aa_basics.h"\ # End Source File # Begin Source File SOURCE=..\..\..\agg\src\agg_line_profile_aa.cpp NODEP_CPP_AGG_LI=\ "..\..\..\agg\src\agg_renderer_outline_aa.h"\ # End Source File # Begin Source File SOURCE=..\..\..\agg\src\agg_sqrt_tables.cpp NODEP_CPP_AGG_S=\ "..\..\..\agg\src\agg_basics.h"\ # End Source File # Begin Source File SOURCE=..\..\..\agg\src\agg_trans_affine.cpp NODEP_CPP_AGG_T=\ "..\..\..\agg\src\agg_trans_affine.h"\ # End Source File # Begin Source File SOURCE=..\..\..\agg\src\platform\win32\agg_win32_bmp.cpp NODEP_CPP_AGG_W=\ "..\..\..\agg\src\platform\win32\agg_basics.h"\ "..\..\..\agg\src\platform\win32\platform\win32\agg_win32_bmp.h"\ # End Source File # Begin Source File SOURCE=..\..\..\agg\roadmap_canvas.cpp DEP_CPP_ROADM=\ "..\..\..\agg\font_freetype\agg_font_freetype.h"\ "..\..\..\agg\include\agg_array.h"\ "..\..\..\agg\include\agg_basics.h"\ "..\..\..\agg\include\agg_bezier_arc.h"\ "..\..\..\agg\include\agg_clip_liang_barsky.h"\ "..\..\..\agg\include\agg_color_rgba.h"\ "..\..\..\agg\include\agg_config.h"\ "..\..\..\agg\include\agg_conv_adaptor_vcgen.h"\ "..\..\..\agg\include\agg_conv_contour.h"\ "..\..\..\agg\include\agg_conv_curve.h"\ "..\..\..\agg\include\agg_conv_stroke.h"\ "..\..\..\agg\include\agg_conv_transform.h"\ "..\..\..\agg\include\agg_curves.h"\ "..\..\..\agg\include\agg_dda_line.h"\ "..\..\..\agg\include\agg_ellipse.h"\ "..\..\..\agg\include\agg_ellipse_bresenham.h"\ "..\..\..\agg\include\agg_font_cache_manager.h"\ "..\..\..\agg\include\agg_gamma_functions.h"\ "..\..\..\agg\include\agg_line_aa_basics.h"\ "..\..\..\agg\include\agg_math.h"\ "..\..\..\agg\include\agg_math_stroke.h"\ "..\..\..\agg\include\agg_path_storage.h"\ "..\..\..\agg\include\agg_path_storage_integer.h"\ "..\..\..\agg\include\agg_pixfmt_rgb_packed.h"\ "..\..\..\agg\include\agg_pixfmt_rgba.h"\ "..\..\..\agg\include\agg_rasterizer_cells_aa.h"\ "..\..\..\agg\include\agg_rasterizer_outline.h"\ "..\..\..\agg\include\agg_rasterizer_outline_aa.h"\ "..\..\..\agg\include\agg_rasterizer_scanline_aa.h"\ "..\..\..\agg\include\agg_rasterizer_sl_clip.h"\ "..\..\..\agg\include\agg_renderer_base.h"\ "..\..\..\agg\include\agg_renderer_outline_aa.h"\ "..\..\..\agg\include\agg_renderer_primitives.h"\ "..\..\..\agg\include\agg_renderer_scanline.h"\ "..\..\..\agg\include\agg_rendering_buffer.h"\ "..\..\..\agg\include\agg_scanline_bin.h"\ "..\..\..\agg\include\agg_scanline_p.h"\ "..\..\..\agg\include\agg_scanline_storage_aa.h"\ "..\..\..\agg\include\agg_scanline_storage_bin.h"\ "..\..\..\agg\include\agg_scanline_u.h"\ "..\..\..\agg\include\agg_trans_affine.h"\ "..\..\..\agg\include\agg_vcgen_contour.h"\ "..\..\..\agg\include\agg_vcgen_stroke.h"\ "..\..\..\agg\include\agg_vertex_sequence.h"\ "..\..\..\freetype\include\freetype\config\ftheader.h"\ "..\..\..\freetype\include\ft2build.h"\ "..\..\..\fribidi\fribidi.h"\ "..\..\..\fribidi\fribidi_char_sets.h"\ "..\..\..\fribidi\fribidi_char_sets.i"\ "..\..\..\fribidi\fribidi_char_sets_cap_rtl.h"\ "..\..\..\fribidi\fribidi_char_sets_cp1255.h"\ "..\..\..\fribidi\fribidi_char_sets_cp1256.h"\ "..\..\..\fribidi\fribidi_char_sets_isiri_3342.h"\ "..\..\..\fribidi\fribidi_char_sets_iso8859_6.h"\ "..\..\..\fribidi\fribidi_char_sets_iso8859_8.h"\ "..\..\..\fribidi\fribidi_char_sets_utf8.h"\ "..\..\..\fribidi\fribidi_config.h"\ "..\..\..\fribidi\fribidi_types.h"\ "..\..\..\fribidi\fribidi_types.i"\ "..\..\..\fribidi\fribidi_unicode.h"\ "..\..\..\roadmap.h"\ "..\..\..\roadmap_canvas.h"\ "..\..\..\roadmap_canvas_agg.h"\ "..\..\..\roadmap_config.h"\ "..\..\..\roadmap_gui.h"\ "..\..\..\roadmap_math.h"\ "..\..\..\roadmap_messagebox.h"\ "..\..\..\roadmap_path.h"\ "..\..\..\roadmap_screen.h"\ "..\..\..\roadmap_types.h"\ "..\..\roadmap_win32.h"\ "C:\Program Files\Windows CE Tools\Common\Platman\sdk\wce500\include\cecap.h"\ NODEP_CPP_ROADM=\ "..\..\..\agg\include\agg_allocator.h"\ # End Source File # End Group # Begin Group "Header Files" # PROP Default_Filter "h;hpp;hxx;hm;inl" # End Group # End Target # End Project |
From: Ehud S. <esh...@us...> - 2006-06-02 12:47:45
|
Update of /cvsroot/roadmap/roadmap_editor/src/win32/wince_env/agg23 In directory sc8-pr-cvs9.sourceforge.net:/tmp/cvs-serv24881/agg23 Removed Files: agg23.vcp Log Message: Update agg project file. --- agg23.vcp DELETED --- |
From: Ehud S. <esh...@us...> - 2006-06-02 12:46:39
|
Update of /cvsroot/roadmap/roadmap_editor/src/win32/wince_env/agg In directory sc8-pr-cvs9.sourceforge.net:/tmp/cvs-serv24467/agg Log Message: Directory /cvsroot/roadmap/roadmap_editor/src/win32/wince_env/agg added to the repository |
From: Paul F. <pg...@us...> - 2006-05-24 21:06:36
|
Update of /cvsroot/roadmap/roadmap/src In directory sc8-pr-cvs9.sourceforge.net:/tmp/cvs-serv31851 Modified Files: rdmgenmaps Log Message: allow override of paths to buildmap and buildus, for development. also, abort if buildmap program fails. Index: rdmgenmaps =================================================================== RCS file: /cvsroot/roadmap/roadmap/src/rdmgenmaps,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -d -r1.9 -r1.10 *** rdmgenmaps 6 Feb 2006 03:28:29 -0000 1.9 --- rdmgenmaps 24 May 2006 21:06:29 -0000 1.10 *************** *** 24,27 **** --- 24,32 ---- # # + # The buildmap and buildus programs will be found either in the + # current directory, or via $PATH. Pass in $BUILDMAP and/or + # $BUILDUS to override. + # + # # Default setup: preferred map path is used, latest format, all states. *************** *** 84,91 **** ! if [ -e ./buildmap ] ; then ! BUILDMAP=./buildmap ! else ! BUILDMAP=buildmap fi --- 89,99 ---- ! if [ ! "$BUILDMAP" ] ! then ! if [ -e ./buildmap ] ; then ! BUILDMAP=./buildmap ! else ! BUILDMAP=buildmap ! fi fi *************** *** 102,106 **** echo "$BUILDMAP $OPTIONS $FORMAT $MAPPATH $1 $rt1" fi ! $BUILDMAP $OPTIONS $FORMAT $MAPPATH $1 $rt1 fi if [ $cleanup = 'Y' ] ; then --- 110,114 ---- echo "$BUILDMAP $OPTIONS $FORMAT $MAPPATH $1 $rt1" fi ! $BUILDMAP $OPTIONS $FORMAT $MAPPATH $1 $rt1 || exit 1 fi if [ $cleanup = 'Y' ] ; then *************** *** 142,150 **** echo "Generating usdir.rdm, please wait.." ! if [ -e buildus ] ; then ! ./buildus -s $MAPPATH ! else ! buildus -s $MAPPATH fi fi --- 150,162 ---- echo "Generating usdir.rdm, please wait.." ! if [ ! "$BUILDUS" ] ! then ! if [ -e buildus ] ; then ! BUILDUS=./buildus ! else ! BUILDUS=buildus ! fi fi + $BUILDUS -s $MAPPATH fi |
From: Paul F. <pg...@us...> - 2006-05-24 21:05:18
|
Update of /cvsroot/roadmap/roadmap/src In directory sc8-pr-cvs9.sourceforge.net:/tmp/cvs-serv31517 Modified Files: roadmap_config.c Log Message: check error return from roadmap_config_load_file() in roadmap_config_new() Index: roadmap_config.c =================================================================== RCS file: /cvsroot/roadmap/roadmap/src/roadmap_config.c,v retrieving revision 1.20 retrieving revision 1.21 diff -C2 -d -r1.20 -r1.21 *** roadmap_config.c 19 Feb 2006 06:29:01 -0000 1.20 --- roadmap_config.c 24 May 2006 21:05:11 -0000 1.21 *************** *** 708,712 **** const char *name = roadmap_path_skip_directories (file); - if (roadmap_config_search_file (name) != NULL) { roadmap_log (ROADMAP_FATAL, "config %s redefined as %s", name, file); --- 708,711 ---- *************** *** 715,719 **** new_config = roadmap_config_new_file (name, file, writable); ! roadmap_config_load_file (NULL, new_config, ROADMAP_CONFIG_CLEAN); return name; } --- 714,721 ---- new_config = roadmap_config_new_file (name, file, writable); ! if (roadmap_config_load_file (NULL, new_config, ROADMAP_CONFIG_CLEAN) == 0) { ! return NULL; ! } ! return name; } |
From: Ehud S. <esh...@us...> - 2006-05-22 20:57:11
|
Update of /cvsroot/roadmap/roadmap_editor/src/navigate In directory sc8-pr-cvs9.sourceforge.net:/tmp/cvs-serv26622 Modified Files: navigate_main.c Log Message: Door to door navigation. Index: navigate_main.c =================================================================== RCS file: /cvsroot/roadmap/roadmap_editor/src/navigate/navigate_main.c,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** navigate_main.c 21 May 2006 12:44:15 -0000 1.4 --- navigate_main.c 22 May 2006 20:57:06 -0000 1.5 *************** *** 75,79 **** ! #define MAX_NAV_SEGEMENTS 100 static NavigateSegment NavigateSegments[MAX_NAV_SEGEMENTS]; --- 75,79 ---- ! #define MAX_NAV_SEGEMENTS 500 static NavigateSegment NavigateSegments[MAX_NAV_SEGEMENTS]; *************** *** 415,418 **** --- 415,423 ---- int seg2_azymuth; int delta; + int minimum_turn_degree = 15; + + if (roadmap_plugin_same_street (&seg1->street, &seg2->street)) { + minimum_turn_degree = 30; + } if (seg1->line_direction == ROUTE_DIRECTION_WITH_LINE) { *************** *** 436,440 **** while (delta < -180) delta += 360; ! if (delta < -30) { if (delta > -45) { --- 441,445 ---- while (delta < -180) delta += 360; ! if (delta < -minimum_turn_degree) { if (delta > -45) { *************** *** 444,448 **** } ! } else if (delta > 30) { if (delta < 45) { --- 449,453 ---- } ! } else if (delta > minimum_turn_degree) { if (delta < 45) { *************** *** 542,545 **** --- 547,551 ---- void navigate_update (RoadMapPosition *position, PluginLine *current) { + int annouce = 0; int distance_to_destination; int distance_to_destination_far; *************** *** 636,644 **** inst_text); }; if (NavigateNextAnnounce == -1) { NavigateNextAnnounce = 50; ! roadmap_voice_announce ("Driving Instruction"); } else { --- 642,653 ---- inst_text); }; + + roadmap_display_show ("Driving Instruction"); if (NavigateNextAnnounce == -1) { NavigateNextAnnounce = 50; ! ! annouce = 1; } else { *************** *** 646,653 **** NavigateNextAnnounce = 0; roadmap_message_unset ('D'); ! roadmap_voice_announce ("Driving Instruction"); } } } --- 655,679 ---- NavigateNextAnnounce = 0; roadmap_message_unset ('D'); ! annouce = 1; } } + if (annouce) { + PluginStreetProperties properties; + + if (segment < (NavigateSegments + NavigateNumSegments - 1)) { + segment++; + } + + roadmap_plugin_get_street_properties (&segment->line, &properties); + + roadmap_message_set ('#', properties.address); + roadmap_message_set ('N', properties.street); + roadmap_message_set ('T', properties.street_t2s); + roadmap_message_set ('C', properties.city); + + roadmap_voice_announce ("Driving Instruction"); + } + } *************** *** 656,660 **** (PluginLine *current, int direction, PluginLine *next) { ! const PluginStreet *current_street; if (!NavigateTrackEnabled) { --- 682,686 ---- (PluginLine *current, int direction, PluginLine *next) { ! const PluginStreet *current_street = NULL; if (!NavigateTrackEnabled) { *************** *** 705,711 **** if ((NavigateCurrentSegment < NavigateNumSegments) && ! !roadmap_plugin_same_street ! (current_street, ! &NavigateSegments[NavigateCurrentSegment].street)) { NavigateNextAnnounce = -1; --- 731,738 ---- if ((NavigateCurrentSegment < NavigateNumSegments) && ! (!current_street || ! !roadmap_plugin_same_street ! (current_street, ! &NavigateSegments[NavigateCurrentSegment].street))) { NavigateNextAnnounce = -1; |
Update of /cvsroot/roadmap/roadmap_editor/src/editor/track In directory sc8-pr-cvs9.sourceforge.net:/tmp/cvs-serv26277 Modified Files: editor_track_known.c editor_track_main.c editor_track_main.h editor_track_unknown.c editor_track_util.c editor_track_util.h Log Message: Fix connection fuzzy. Delay decision for known roads when several are a good match. Index: editor_track_util.c =================================================================== RCS file: /cvsroot/roadmap/roadmap_editor/src/editor/track/editor_track_util.c,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** editor_track_util.c 15 May 2006 19:53:38 -0000 1.8 --- editor_track_util.c 22 May 2006 20:56:29 -0000 1.9 *************** *** 171,175 **** current_fuzzy = roadmap_navigate_fuzzify ! (&candidate, NULL, &result, steering); --- 171,177 ---- current_fuzzy = roadmap_navigate_fuzzify ! (&candidate, ! NULL, ! NULL, &result, steering); *************** *** 482,486 **** int max, int *found, ! RoadMapFuzzy *best) { RoadMapTracking candidate; --- 484,489 ---- int max, int *found, ! RoadMapFuzzy *best, ! RoadMapFuzzy *second_best) { RoadMapTracking candidate; *************** *** 510,524 **** for (i = 0, *best = roadmap_fuzzy_false(), *found = 0; i < count; ++i) { result = roadmap_navigate_fuzzify ! (&candidate, previous_line, neighbourhood+i, gps_position->steering); if (result > *best) { *found = i; *best = result; *nominated = candidate; nominated->opposite_street_direction = 0; } } --- 513,536 ---- + *second_best = roadmap_fuzzy_false (); + for (i = 0, *best = roadmap_fuzzy_false(), *found = 0; i < count; ++i) { result = roadmap_navigate_fuzzify ! (&candidate, ! previous_street, ! previous_line, ! neighbourhood+i, gps_position->steering); if (result > *best) { *found = i; + *second_best = *best; *best = result; *nominated = candidate; nominated->opposite_street_direction = 0; + + } else if (result > *second_best) { + *second_best = result; } } *************** *** 531,535 **** result = roadmap_navigate_fuzzify ! (&candidate, previous_line, neighbourhood+i, gps_position->steering - 180); --- 543,550 ---- result = roadmap_navigate_fuzzify ! (&candidate, ! previous_street, ! previous_line, ! neighbourhood+i, gps_position->steering - 180); *************** *** 550,554 **** if (roadmap_fuzzy_is_certain ( roadmap_fuzzy_connected ! (&neighbourhood[i], previous_line, candidate.line_direction, &connection))) { --- 565,571 ---- if (roadmap_fuzzy_is_certain ( roadmap_fuzzy_connected ! (&neighbourhood[i], ! previous_line, ! previous_street->line_direction, candidate.line_direction, &connection))) { *************** *** 570,576 **** --- 587,596 ---- if (result > *best) { *found = i; + *second_best = *best; *best = result; *nominated = candidate; nominated->opposite_street_direction = 1; + } else if (result > *second_best) { + *second_best = result; } } Index: editor_track_unknown.c =================================================================== RCS file: /cvsroot/roadmap/roadmap_editor/src/editor/track/editor_track_unknown.c,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** editor_track_unknown.c 17 Mar 2006 09:56:00 -0000 1.4 --- editor_track_unknown.c 22 May 2006 20:56:29 -0000 1.5 *************** *** 393,396 **** --- 393,397 ---- RoadMapFuzzy best; + RoadMapFuzzy second_best; RoadMapTracking nominated; int found; *************** *** 406,410 **** count = editor_track_util_find_street (gps_position, &nominated, confirmed_street, confirmed_line, ! RoadMapNeighbourhood, ROADMAP_NEIGHBOURHOUD, &found, &best); if (roadmap_fuzzy_is_good (best) || --- 407,412 ---- count = editor_track_util_find_street (gps_position, &nominated, confirmed_street, confirmed_line, ! RoadMapNeighbourhood, ROADMAP_NEIGHBOURHOUD, &found, &best, ! &second_best); if (roadmap_fuzzy_is_good (best) || Index: editor_track_util.h =================================================================== RCS file: /cvsroot/roadmap/roadmap_editor/src/editor/track/editor_track_util.h,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** editor_track_util.h 17 Dec 2005 21:59:17 -0000 1.3 --- editor_track_util.h 22 May 2006 20:56:29 -0000 1.4 *************** *** 40,44 **** int max, int *found, ! RoadMapFuzzy *best); int editor_track_util_create_line (int gps_first_point, --- 40,45 ---- int max, int *found, ! RoadMapFuzzy *best, ! RoadMapFuzzy *second_best); int editor_track_util_create_line (int gps_first_point, Index: editor_track_known.c =================================================================== RCS file: /cvsroot/roadmap/roadmap_editor/src/editor/track/editor_track_known.c,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** editor_track_known.c 25 Dec 2005 23:10:43 -0000 1.4 --- editor_track_known.c 22 May 2006 20:56:29 -0000 1.5 *************** *** 32,35 **** --- 32,36 ---- #include <assert.h> #include <stdlib.h> + #include <string.h> #include "roadmap.h" *************** *** 50,57 **** --- 51,168 ---- #include "editor_track_known.h" + #define MAX_ENTRIES 5 + #define MAX_PATHS 5 + + typedef struct { + RoadMapTracking street; + RoadMapNeighbour line; + int point_id; + } KnownCandidateEntry; + + typedef struct { + KnownCandidateEntry entries[MAX_ENTRIES]; + int count; + } KnownCandidatePath; + + static KnownCandidatePath KnownCandidates[MAX_PATHS]; + static int KnownCandidatesCount; + #define ROADMAP_NEIGHBOURHOUD 16 static RoadMapNeighbour RoadMapNeighbourhood[ROADMAP_NEIGHBOURHOUD]; + static int resolve_candidates (const RoadMapGpsPosition *gps_position, + int point_id) { + + int count; + int c; + int found; + RoadMapFuzzy best = roadmap_fuzzy_false (); + RoadMapFuzzy second_best; + int i; + int j; + + for (c = 0; c < KnownCandidatesCount; c++) { + + RoadMapTracking new_street; + + KnownCandidateEntry *entry = + KnownCandidates[c].entries + KnownCandidates[c].count - 1; + + + count = editor_track_util_find_street + (gps_position, &new_street, + &entry->street, + &entry->line, + RoadMapNeighbourhood, + ROADMAP_NEIGHBOURHOUD, &found, &best, &second_best); + + if (!roadmap_fuzzy_is_good (best)) { + + /* remove this entry */ + memmove (KnownCandidates + c, KnownCandidates + c + 1, + (KnownCandidatesCount - c - 1) * sizeof (KnownCandidatePath)); + + KnownCandidatesCount--; + c--; + continue; + } + + if (roadmap_fuzzy_is_good (best) && + roadmap_fuzzy_is_good (second_best)) { + + /* We got too many good candidates. Wait before deciding. */ + + continue; + } + + if (!roadmap_plugin_same_line + (&entry->line.line, &RoadMapNeighbourhood[found].line)) { + + int p; + + if (KnownCandidates[c].count == 1) { + p = point_id - entry->point_id; + } else { + p = KnownCandidates[c].entries[KnownCandidates[c].count-2]. + point_id - entry->point_id; + } + + if (++KnownCandidates[c].count == MAX_ENTRIES) { + return -1; + } + + entry++; + entry->point_id = p; + entry->line = RoadMapNeighbourhood[found]; + entry->street = new_street; + entry->street.fuzzyfied = best; + entry->street.valid = 1; + } + } + + /* check for duplicates */ + for (i = 0; i < KnownCandidatesCount-1; i++) { + + KnownCandidateEntry *entry1 = + KnownCandidates[i].entries + KnownCandidates[i].count - 1; + + for (j = i+1; j < KnownCandidatesCount; j++) { + + KnownCandidateEntry *entry2 = + KnownCandidates[j].entries + KnownCandidates[j].count - 1; + + if (roadmap_plugin_same_line + (&entry2->line.line, &entry1->line.line)) { + + return -1; + } + } + } + + return 0; + } + + int editor_track_known_end_segment (PluginLine *previous_line, int last_point_id, *************** *** 189,192 **** --- 300,304 ---- int current_fuzzy; RoadMapFuzzy best = roadmap_fuzzy_false (); + RoadMapFuzzy second_best; const RoadMapPosition *position = track_point_pos (point_id); *************** *** 194,197 **** --- 306,343 ---- RoadMapFuzzy before; + if (KnownCandidatesCount > 1) { + + if ((resolve_candidates (gps_position, point_id) == -1) || + !KnownCandidatesCount) { + + KnownCandidatesCount = 0; + editor_track_reset (); + return 0; + } + + if (KnownCandidatesCount > 1) { + + return 0; + } + } + + if (KnownCandidatesCount == 1) { + + KnownCandidateEntry *entry = KnownCandidates[0].entries; + + if (!--KnownCandidates[0].count) { + KnownCandidatesCount = 0; + } + + *new_line = entry->line; + *new_street = entry->street; + point_id = entry->point_id; + + memmove (entry, entry+1, + KnownCandidatesCount * sizeof(KnownCandidateEntry)); + + return point_id; + } + if (confirmed_street->valid) { /* We have an existing street match: check if it is still valid. */ *************** *** 207,210 **** --- 353,357 ---- current_fuzzy = roadmap_navigate_fuzzify (new_street, + confirmed_street, confirmed_line, confirmed_line, *************** *** 221,225 **** } ! /* We must search again for the best street match. */ count = editor_track_util_find_street --- 368,372 ---- } ! /* We must search again for the best street match. */ count = editor_track_util_find_street *************** *** 228,232 **** confirmed_line, RoadMapNeighbourhood, ! ROADMAP_NEIGHBOURHOUD, &found, &best); #if 0 --- 375,379 ---- confirmed_line, RoadMapNeighbourhood, ! ROADMAP_NEIGHBOURHOUD, &found, &best, &second_best); #if 0 *************** *** 250,253 **** --- 397,451 ---- } + if (roadmap_fuzzy_is_good (best) && + roadmap_fuzzy_is_good (second_best)) { + + /* We got too many good candidates. Wait before deciding. */ + + int i; + RoadMapFuzzy result; + + for (i = 0; i < count; ++i) { + RoadMapTracking candidate; + + result = roadmap_navigate_fuzzify + (&candidate, + confirmed_street, + confirmed_line, + RoadMapNeighbourhood+i, + gps_position->steering); + + if (roadmap_fuzzy_is_good (result)) { + + if (roadmap_plugin_same_line (&confirmed_line->line, + &RoadMapNeighbourhood[i].line)) { + + if (result < best) { + + continue; + } else { + /* delay the decision as the current line is still good */ + KnownCandidatesCount = 0; + return 0; + } + } + + candidate.opposite_street_direction = 0; + candidate.valid = 1; + candidate.fuzzyfied = result; + KnownCandidates[KnownCandidatesCount].entries[0].street = candidate; + KnownCandidates[KnownCandidatesCount].entries[0].line = + RoadMapNeighbourhood[i]; + + KnownCandidates[KnownCandidatesCount].entries[0].point_id = + point_id; + + KnownCandidates[KnownCandidatesCount].count = 1; + KnownCandidatesCount++; + } + } + + return 0; + } + if (roadmap_fuzzy_is_acceptable (best)) { *************** *** 264,268 **** new_street->fuzzyfied = best; ! return 1; } --- 462,466 ---- new_street->fuzzyfied = best; ! return point_id; } *************** *** 279,283 **** new_street->valid = 0; ! return 1; } } --- 477,481 ---- new_street->valid = 0; ! return point_id; } } Index: editor_track_main.c =================================================================== RCS file: /cvsroot/roadmap/roadmap_editor/src/editor/track/editor_track_main.c,v retrieving revision 1.11 retrieving revision 1.12 diff -C2 -d -r1.11 -r1.12 *** editor_track_main.c 23 Apr 2006 13:24:39 -0000 1.11 --- editor_track_main.c 22 May 2006 20:56:29 -0000 1.12 *************** *** 242,246 **** new_street->opposite_street_direction, track_point_gps (point_id), ! points_count - 1); if (editor_track_known_end_segment --- 242,246 ---- new_street->opposite_street_direction, track_point_gps (point_id), ! point_id); if (editor_track_known_end_segment *************** *** 419,423 **** if (count) { ! end_known_segment (point_id, &new_street, &new_line); if (!new_street.valid) { --- 419,423 ---- if (count) { ! end_known_segment (count, &new_street, &new_line); if (!new_street.valid) { *************** *** 594,597 **** --- 594,606 ---- + void editor_track_reset (void) { + + TrackConfirmedStreet.valid = 0; + track_reset_points (points_count); + cur_node.id = -1; + is_new_track = 1; + } + + static void editor_track_shape_position (int shape, RoadMapPosition *position) { Index: editor_track_main.h =================================================================== RCS file: /cvsroot/roadmap/roadmap_editor/src/editor/track/editor_track_main.h,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** editor_track_main.h 17 Dec 2005 21:59:17 -0000 1.4 --- editor_track_main.h 22 May 2006 20:56:29 -0000 1.5 *************** *** 56,59 **** --- 56,60 ---- int editor_track_draw_current (RoadMapPen pen); void editor_track_end (void); + void editor_track_reset (void); #endif // INCLUDE__EDITOR_TRACK_MAIN__H |