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
mesh::QuadRegion Struct Reference

#include <meshquadregion.h>

Collaboration diagram for mesh::QuadRegion:

Public Attributes

QPolygonF ring
 Closed (last == first optional), simple, any orientation.
 
QVector< QPolygonF > holes
 
bool isBackground = false
 
QuadRegionMode mode = QuadRegionMode::Auto
 
double spacing = 0.0
 Target quad edge length h; 0 = derive from the size field / max area.
 
double aspectMax = 2.0
 Longest/shortest side accepted (Free); <= 0 = unbounded.
 
bool hasAlignAngle = false
 Free: constant cross field at alignAngleDeg (from +x, CCW).
 
double alignAngleDeg = 0.0
 
QVector< QPointF > alignGuide
 Free: optional polyline the field aligns to (streets, channels).
 
QVector< int > corners
 Mapped: 4 ring vertex indices in ring order; empty = auto-pick.
 
QString tag
 MeshTriangle::tag for every cell inside; empty = inherit region marker's.
 

Member Data Documentation

◆ alignAngleDeg

double mesh::QuadRegion::alignAngleDeg = 0.0

◆ alignGuide

QVector<QPointF> mesh::QuadRegion::alignGuide

Free: optional polyline the field aligns to (streets, channels).

◆ aspectMax

double mesh::QuadRegion::aspectMax = 2.0

Longest/shortest side accepted (Free); <= 0 = unbounded.

◆ corners

QVector<int> mesh::QuadRegion::corners

Mapped: 4 ring vertex indices in ring order; empty = auto-pick.

◆ hasAlignAngle

bool mesh::QuadRegion::hasAlignAngle = false

Free: constant cross field at alignAngleDeg (from +x, CCW).

◆ holes

QVector<QPolygonF> mesh::QuadRegion::holes

Areas subtracted from ring (QUAD_EVERYWHERE_PLAN_2026-09-07.md §3.1): domain hole rings, and the rings of any explicit region nested inside this one. No cell is generated inside a hole and the lattice keeps its boundary clearance from every hole ring, exactly as it does from ring.

◆ isBackground

bool mesh::QuadRegion::isBackground = false

True when ring IS a domain outline rather than a ring drawn inside one — the "toggle quads on for the whole model" case. Two consequences: the ring is NOT re-emitted as constraint segments (the domain boundary is already in the PSLG, and duplicating it would double every boundary edge), and the "region lies inside exactly one domain ring" validation is skipped because the region is that ring.

◆ mode

QuadRegionMode mesh::QuadRegion::mode = QuadRegionMode::Auto

◆ ring

QPolygonF mesh::QuadRegion::ring

Closed (last == first optional), simple, any orientation.

◆ spacing

double mesh::QuadRegion::spacing = 0.0

Target quad edge length h; 0 = derive from the size field / max area.

◆ tag

QString mesh::QuadRegion::tag

MeshTriangle::tag for every cell inside; empty = inherit region marker's.


The documentation for this struct was generated from the following file: