| 478 | } |
| 479 | |
| 480 | bool Object::update() const |
| 481 | { |
| 482 | if (!output_dirty) |
| 483 | return false; |
| 484 | |
| 485 | Symbol::RenderableOptions options = Symbol::RenderNormal; |
| 486 | if (map) |
| 487 | { |
| 488 | options = QFlag(map->renderableOptions()); |
| 489 | if (extent.isValid()) |
| 490 | map->setObjectAreaDirty(extent); |
| 491 | } |
| 492 | |
| 493 | output.deleteRenderables(); |
| 494 | |
| 495 | extent = QRectF(); |
| 496 | |
| 497 | updateEvent(); |
| 498 | |
| 499 | createRenderables(output, options); |
| 500 | |
| 501 | Q_ASSERT(extent.right() < 60000000); // assert if bogus values are returned |
| 502 | output_dirty = false; |
| 503 | |
| 504 | if (map) |
| 505 | { |
| 506 | map->insertRenderablesOfObject(this); |
| 507 | if (extent.isValid()) |
| 508 | map->setObjectAreaDirty(extent); |
| 509 | } |
| 510 | |
| 511 | return true; |
| 512 | } |
| 513 | |
| 514 | void Object::updateEvent() const |
| 515 | { |
no test coverage detected