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::SizeFieldOptions Struct Reference

#include <sizefield.hpp>

Collaboration diagram for meshkit::plan::SizeFieldOptions:

Classes

struct  Region
 

Public Attributes

bool footprintBounds = false
 Build a compact min pyramid for verified sizing.
 
double nearSize = 0.0
 
double gradation = 0.25
 
double areaFloor = 0.0
 
std::int64_t maxGridCells = 4'000'000
 
double maxSize = 0.0
 
std::function< double(double, double)> terrainSizeAt
 
Vector< Region > regions
 
Vector< Region > terrainRegions
 Finer prescribed directional scales; footprint terrain queries only.
 
Vector< Vector< Point2 > > steps
 

Member Data Documentation

◆ areaFloor

double meshkit::plan::SizeFieldOptions::areaFloor = 0.0

Refinement floor A_min (map units², from MinSizePolicy). The returned area is never below this, matching MinSizePolicy::refinementAreaCap's rule that the floor may raise a too-small cap. 0 = no floor.

◆ footprintBounds

bool meshkit::plan::SizeFieldOptions::footprintBounds = false

Build a compact min pyramid for verified sizing.

◆ gradation

double meshkit::plan::SizeFieldOptions::gradation = 0.25

Lipschitz slope g: how fast the target size may grow per unit of distance from a feature. Must be > 0 (0 = the caller should not build a field at all — the uniform cap already expresses that). Typical 0.1–0.5; 0.25 ≈ a 1.6× area step between neighbouring cells at the fine scale.

◆ maxGridCells

std::int64_t meshkit::plan::SizeFieldOptions::maxGridCells = 4'000'000

Nominal background-grid cell budget. Pitch is selected from nearSize and domain area; border allowance may use up to twice this count. Extreme aspect ratios or invalid layouts can be refused.

◆ maxSize

double meshkit::plan::SizeFieldOptions::maxSize = 0.0

Upper clamp on the size (h_max, map units); 0 = unbounded. The dialog derives it as "coarsen away from features up to" × nearSize.

◆ nearSize

double meshkit::plan::SizeFieldOptions::nearSize = 0.0

Element size (edge length, map units) AT a feature. Callers derive it from the uniform area cap: side of the equilateral triangle of GenerationOptions::maxArea. Must be > 0.

◆ regions

Vector<Region> meshkit::plan::SizeFieldOptions::regions

◆ steps

Vector<Vector<Point2> > meshkit::plan::SizeFieldOptions::steps

Terrain break lines (mesh coordinates) that the generator lays mesh edges along (MESH_TRIANGLE_ENGINE_PLAN_2026-09-30.md D13). A step makes the terrain term fine in a cone around it — a block that holds the step never fits a plane — but cells that never straddle the step need no such refinement. Within that cone (a terrain size of at least half the distance to the nearest step, less a pitch) the terrain term is ignored; the gradation sweep refills it from ground that really is rough.

◆ terrainRegions

Vector<Region> meshkit::plan::SizeFieldOptions::terrainRegions

Finer prescribed directional scales; footprint terrain queries only.

◆ terrainSizeAt

std::function<double(double, double)> meshkit::plan::SizeFieldOptions::terrainSizeAt

Terrain-error size bound in mesh units at a mesh coordinate (mesh::TerrainSizeField through the worker's mesh→DEM transform). <= 0 or non-finite = no bound at that point. Sampled once per grid cell centre. Null = no terrain term.


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