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

#include <regions.hpp>

Collaboration diagram for meshkit::plan::QuadRegion:

Public Attributes

std::int32_t attribute = 0
 
Polygon ring
 Closed (last == first optional), simple, any orientation.
 
Vector< Polygon > holes
 
bool isBackground = false
 
QuadRegionMode mode = QuadRegionMode::Auto
 
bool requireMapped = false
 Explicit hard requirement, used by unified planning.
 
bool automaticCandidate = false
 Derived candidate; no outline constraint on fallback.
 
double spacing = 0.0
 Target quad edge length h; 0 = derive from the size field / max area.
 
bool directionalSpacing
 Explicit Mapped spacing; failure must not fall back to isotropic cells.
 
double hAlong = 0.0
 
double hAcross
 Positive spacings in mesh CRS units, used only when directionalSpacing.
 
double mappedAlongAngleDeg
 Physical undirected along-axis, degrees from +x CCW; independent of ring start.
 
double aspectMax
 Free: opposite-side mean ratio cap; < 0 inherits global, 0 unbounded, >= 1 explicit.
 
bool hasAlignAngle = false
 Free: constant cross field at alignAngleDeg (from +x, CCW).
 
double alignAngleDeg = 0.0
 
Vector< Point2 > alignGuide
 Free: optional polyline the field aligns to (streets, channels).
 
Vector< int > corners
 Mapped: 4 ring vertex indices in ring order; empty = auto-pick.
 
Text tag
 MeshTriangle::tag for every cell inside; empty = inherit region marker's.
 

Member Data Documentation

◆ alignAngleDeg

double meshkit::plan::QuadRegion::alignAngleDeg = 0.0

◆ alignGuide

Vector<Point2> meshkit::plan::QuadRegion::alignGuide

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

◆ aspectMax

double meshkit::plan::QuadRegion::aspectMax
Initial value:
=
-1.0

Free: opposite-side mean ratio cap; < 0 inherits global, 0 unbounded, >= 1 explicit.

◆ attribute

std::int32_t meshkit::plan::QuadRegion::attribute = 0

◆ automaticCandidate

bool meshkit::plan::QuadRegion::automaticCandidate = false

Derived candidate; no outline constraint on fallback.

◆ corners

Vector<int> meshkit::plan::QuadRegion::corners

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

◆ directionalSpacing

bool meshkit::plan::QuadRegion::directionalSpacing
Initial value:
=
false

Explicit Mapped spacing; failure must not fall back to isotropic cells.

◆ hAcross

double meshkit::plan::QuadRegion::hAcross
Initial value:
=
0.0

Positive spacings in mesh CRS units, used only when directionalSpacing.

◆ hAlong

double meshkit::plan::QuadRegion::hAlong = 0.0

◆ hasAlignAngle

bool meshkit::plan::QuadRegion::hasAlignAngle = false

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

◆ holes

Vector<Polygon> meshkit::plan::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 meshkit::plan::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.

◆ mappedAlongAngleDeg

double meshkit::plan::QuadRegion::mappedAlongAngleDeg
Initial value:
=
0.0

Physical undirected along-axis, degrees from +x CCW; independent of ring start.

◆ mode

QuadRegionMode meshkit::plan::QuadRegion::mode = QuadRegionMode::Auto

◆ requireMapped

bool meshkit::plan::QuadRegion::requireMapped = false

Explicit hard requirement, used by unified planning.

◆ ring

Polygon meshkit::plan::QuadRegion::ring

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

◆ spacing

double meshkit::plan::QuadRegion::spacing = 0.0

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

◆ tag

Text meshkit::plan::QuadRegion::tag

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


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