setting the aggregated attributes */
| 498 | |
| 499 | /* setting the aggregated attributes */ |
| 500 | static void InitShapeAttributes(layerObj* layer, clusterInfo* base) |
| 501 | { |
| 502 | int i; |
| 503 | int* itemindexes = layer->iteminfo; |
| 504 | |
| 505 | for (i = 0; i < layer->numitems; i++) |
| 506 | { |
| 507 | if (base->shape.numvalues <= i) |
| 508 | break; |
| 509 | |
| 510 | if (itemindexes[i] == MSCLUSTER_FEATURECOUNTINDEX) |
| 511 | { |
| 512 | if (base->shape.values[i]) |
| 513 | msFree(base->shape.values[i]); |
| 514 | |
| 515 | base->shape.values[i] = msIntToString(base->numsiblings + 1); |
| 516 | } |
| 517 | else if (itemindexes[i] == MSCLUSTER_GROUPINDEX) |
| 518 | { |
| 519 | if (base->shape.values[i]) |
| 520 | msFree(base->shape.values[i]); |
| 521 | |
| 522 | if (base->group) |
| 523 | base->shape.values[i] = msStrdup(base->group); |
| 524 | else |
| 525 | base->shape.values[i] = msStrdup(""); |
| 526 | } |
| 527 | else if (EQUALN(layer->items[i], "Count:", 6)) |
| 528 | { |
| 529 | if (base->shape.values[i]) |
| 530 | msFree(base->shape.values[i]); |
| 531 | |
| 532 | base->shape.values[i] = msStrdup("1"); // initial count |
| 533 | } |
| 534 | } |
| 535 | } |
| 536 | |
| 537 | /* update the shape attributes (aggregate) */ |
| 538 | static void UpdateShapeAttributes(layerObj* layer, clusterInfo* base, clusterInfo* current) |
no test coverage detected