SWMMVis  6.0.0-alpha.4
Qt6/C++ GIS-based graphical user interface for the SWMMVis engine (6.0.0-alpha.4)
Loading...
Searching...
No Matches
meshrenderchunkindex.h File Reference
#include <QRectF>
#include <QVector>
#include <QtGlobal>
Include dependency graph for meshrenderchunkindex.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  OpenSWMM::Render::MeshRenderChunkIndex
 
struct  OpenSWMM::Render::MeshRenderChunkIndex::Chunk
 
struct  OpenSWMM::Render::MeshRenderChunkIndex::QueryResult
 

Namespaces

namespace  OpenSWMM
 
namespace  OpenSWMM::Render
 

Detailed Description

Author
Caleb Buahin caleb.nosp@m..bua.nosp@m.hin@g.nosp@m.mail.nosp@m..com
Date
2026
License\n GPL-3.0-or-later

QSG-2D-1M Phase 4 — chunked spatial index for RENDER batch decisions.

Separate from MeshSpatialGrid on purpose: that grid answers fine-grained point-pick / per-element cull queries; this index groups cells and edges into a few hundred coarse chunks so the renderers can classify whole batches per sync:

  • chunks fully inside the view → iterate members with NO per-element bbox test,
  • chunks straddling the view boundary → fall back to the existing per-element cull for just those members,
  • chunks fully outside → skipped without touching a single element.

Membership is by bbox CENTRE, so every cell/edge id lives in exactly one chunk (no dedup pass needed when unioning chunk members). Chunk bboxes are the union of their members' bboxes, so a chunk bbox is always a superset of every member bbox — a chunk classified "fully inside" can safely skip member culling.

Chunk data depends only on the input bboxes: it is stable across pan and zoom and deterministic for deterministic input (locked by tests/unit/test_meshrenderchunkindex.cpp).

Pure Qt-Core class — no Qt Quick / Gui dependency.