49#ifndef MESHKIT_NATIVE_SIZEFIELD_HPP
50#define MESHKIT_NATIVE_SIZEFIELD_HPP
194 [[nodiscard]]
double sizeAt(
double x,
double y)
const;
202 [[nodiscard]]
bool isValid()
const {
return m_cols > 0 && m_rows > 0; }
217 [[nodiscard]]
double pitch()
const {
return m_pitch; }
223 [[nodiscard]]
int cols()
const {
return m_cols; }
229 [[nodiscard]]
int rows()
const {
return m_rows; }
244 [[nodiscard]]
double distanceAt(
double x,
double y)
const;
256 [[nodiscard]]
double cellDist(
int cx,
int cy)
const;
315 Vector<MinLevel> m_minLevels;
316 double minimumSizeInBoxImpl(
const Box2 &,
bool includeTerrain)
const;
321 bool terrainOnly =
false;
323 Vector<RegionBound> m_regionBounds;
324 int m_cols = 0, m_rows = 0;
325 double m_x0 = 0.0, m_y0 = 0.0;
326 double m_pitch = 0.0;
327 double m_near = 0.0, m_g = 0.0, m_floor = 0.0;
Definition geometry.hpp:59
Definition geometry.hpp:11
Definition storage.hpp:18
Definition planmodel.hpp:49
Distance-to-feature field sampled as a max-area function.
Definition sizefield.hpp:116
double sizeAt(double x, double y) const
Bilinearly read the combined gradation-relaxed target edge length.
Definition sizefield.cpp:415
double minimumSizeInBox(const Box2 &) const
Definition sizefield.cpp:288
bool isValid() const
Check whether stored grid dimensions are positive.
Definition sizefield.hpp:202
bool hasSizeBound() const
Check whether the valid field reports a positive size at its first grid-center coordinate.
Definition sizefield.hpp:210
double targetAreaAt(double x, double y) const
Read the sampled equilateral-triangle area cap at a mesh coordinate.
Definition sizefield.cpp:507
double pitch() const
Read the background grid spacing retained by the latest layout attempt.
Definition sizefield.hpp:217
int cols() const
Read the number of grid columns.
Definition sizefield.hpp:223
bool build(const Box2 &bbox, const Vector< ConstraintSegment > &segs, const Vector< Vector< Point2 > > &rings, const Vector< SteinerPoint > &pts, const SizeFieldOptions &opt)
Replace this field with sampled feature-distance, terrain and region size bounds.
Definition sizefield.cpp:173
double minimumTerrainSizeInBox(const Box2 &) const
Includes finer directional source bounds without changing nominal sizing.
Definition sizefield.cpp:292
int rows() const
Read the number of grid rows.
Definition sizefield.hpp:229
double distanceAt(double x, double y) const
Bilinearly read the approximate chamfer distance-to-feature grid.
Definition sizefield.cpp:490
int end
Definition constraints.cpp:103
ArrowPlacement p
Definition linesymbollayer.cpp:29
double cellSize
Definition mesh2dresultsexport.cpp:476
std::vector< double > cx
Definition mesh2dresultsexport.cpp:131
std::vector< double > cy
area centroid per cell
Definition mesh2dresultsexport.cpp:131
Box box
Definition constraintaudit.cpp:161
Vector< Point2 > pts
Definition patch.cpp:100
Definition sizefield.hpp:89
double h
Definition sizefield.hpp:91
Polygon ring
Definition sizefield.hpp:90
Definition sizefield.hpp:55
double areaFloor
Definition sizefield.hpp:72
bool footprintBounds
Build a compact min pyramid for verified sizing.
Definition sizefield.hpp:56
double maxSize
Definition sizefield.hpp:82
Vector< Vector< Point2 > > steps
Definition sizefield.hpp:105
Vector< Region > terrainRegions
Finer prescribed directional scales; footprint terrain queries only.
Definition sizefield.hpp:95
double nearSize
Definition sizefield.hpp:60
Vector< Region > regions
Definition sizefield.hpp:93
std::function< double(double, double)> terrainSizeAt
Definition sizefield.hpp:87
std::int64_t maxGridCells
Definition sizefield.hpp:77
double gradation
Definition sizefield.hpp:67
double
Definition swmmpollutantpropertyadapter.cpp:68
int rows
Definition terrainerrorfield.cpp:54
int y
Definition terrainerrorfield.cpp:60
double a
Definition terrainerrorfield.cpp:42
double b
Definition terrainerrorfield.cpp:42
int x
Definition terrainerrorfield.cpp:60