19#ifndef MESHKIT_NATIVE_QUADBLOCKS_HPP
20#define MESHKIT_NATIVE_QUADBLOCKS_HPP
87 const std::function<
double(
const Box2 &)> &maximumSize,
89 const std::function<
bool()> &
cancelled = {},
90 std::int64_t maximumCells = 1000000);
Definition geometry.hpp:59
Definition geometry.hpp:11
Definition storage.hpp:18
std::ptrdiff_t size() const noexcept
Definition storage.hpp:49
MeshSpatialGrid grid
Definition mesh2dresultsexport.cpp:689
Definition meshcommands.h:38
Vector< QuadRegion > placeQuadBlocks(const QuadBlockGrid &grid, const QuadBlockOptions &options)
Greedily select axis-aligned mapped quad regions from approximately uniform usable grid bands.
Definition blocks.cpp:204
QuadBlockGrid quadBlockGridFromMesh(const MeshResult &mesh, double pitch, const Vector< Vector< Point2 > > &blockers)
Estimate local equilateral side lengths from triangles and mask existing quads/features.
Definition blocks.cpp:34
QuadBlockGrid quadBlockGridFromField(const Box2 &, double pitch, const std::function< double(const Box2 &)> &maximumSize, const Vector< Vector< Point2 > > &blockers, const std::function< bool()> &cancelled={}, std::int64_t maximumCells=1000000)
Definition blocks.cpp:142
const ConstraintAuditOptions & options
Definition constraintaudit.cpp:34
Definition planmodel.hpp:134
Local cell size on a regular grid; NaN marks unusable cells.
Definition blocks.hpp:30
bool isValid() const
Check the basic grid dimensions, positive pitch and exact h-vector extent.
Definition blocks.hpp:43
int rows
Definition blocks.hpp:33
Point2 origin
Lower-left corner of cell (0, 0).
Definition blocks.hpp:31
int cols
Definition blocks.hpp:33
Vector< float > h
Row-major, cols x rows.
Definition blocks.hpp:34
double pitch
Definition blocks.hpp:32
int minQuadsPerSide
Definition blocks.hpp:52
double minSpacing
Blocks finer than this are not worth a patch.
Definition blocks.hpp:50
double bandRatio
Size bands are powers of this.
Definition blocks.hpp:51
int maxBlocks
Definition blocks.hpp:53
bool cancelled
Definition vectorexport.cpp:214