/*! \brief Set vector points style \param params parameters \return 1 on success \return 0 on failure */ int vpoints_set_attrb(const struct GParams *params) { int i, layer, have_colors, with_z; int *site_list, nsites; int marker, color, width; float size; char *marker_str, *color_column, *size_column, *width_column, *marker_column; struct Colors colors; site_list = GP_get_site_list(&nsites); for (i = 0; i < nsites; i++) { check_map(params, i, FALSE, &layer, &with_z); color = Nviz_color_from_str(params->vpoint_color->answers[i]); color_column = params->vpoint_color_column->answers ? params->vpoint_color_column->answers[i] : NULL; size = atof(params->vpoint_size->answers[i]); size_column = params->vpoint_size_column->answers ? params->vpoint_size_column->answers[i] : NULL; width = atoi(params->vpoint_width->answers[i]); width_column = params->vpoint_width_column->answers ? params->vpoint_width_column->answers[i] : NULL; marker_str = params->vpoint_marker->answers[i]; marker_column = params->vpoint_marker_column->answers ? params->vpoint_marker_column->answers[i] : NULL; marker = GP_str_to_marker(marker_str); if (with_z) { if (strcmp(params->vpoint_mode->answers[i], "surface") == 0) GP_set_zmode(site_list[i], FALSE); else GP_set_zmode(site_list[i], TRUE); } if (GP_set_style(site_list[i], color, width, size, marker) < 0) return 0; /* check for vector color table */ have_colors = Vect_read_colors(params->vpoints->answers[i], "", &colors); if (have_colors || color_column || width_column || size_column || marker_column) { if (GP_set_style_thematic(site_list[i], layer, color_column, width_column, size_column, marker_column, have_colors ? &colors : NULL) < 0) return 0; } } return 1; }
/*! \brief Set vector points mode \param params parameters \return 1 on success \return 0 on failure */ int vpoints_set_attrb(const struct GParams *params) { int i; int *site_list, nsites; int marker, color, width; float size; char *marker_str; site_list = GP_get_site_list(&nsites); for (i = 0; i < nsites; i++) { color = Nviz_color_from_str(params->vpoint_color->answers[i]); size = atof(params->vpoint_size->answers[i]); width = atoi(params->vpoint_width->answers[i]); marker_str = params->vpoint_marker->answers[i]; if (strcmp(marker_str, "x") == 0) marker = ST_X; else if (strcmp(marker_str, "sphere") == 0) marker = ST_SPHERE; else if (strcmp(marker_str, "diamond") == 0) marker = ST_DIAMOND; else if (strcmp(marker_str, "cube") == 0) marker = ST_CUBE; else if (strcmp(marker_str, "box") == 0) marker = ST_BOX; else if (strcmp(marker_str, "gyro") == 0) marker = ST_GYRO; else if (strcmp(marker_str, "aster") == 0) marker = ST_ASTER; else if (strcmp(marker_str, "histogram") == 0) marker = ST_HISTOGRAM; else G_fatal_error(_("Unknown icon marker")); GP_set_sitemode(site_list[i], ST_ATT_NONE, color, width, size, marker); /* GP_set_style(site_list[i], color, width, size, marker); */ } return 1; }