|
mmcfilters
Public API documentation
|
Computes descriptors derived from the axis-aligned bounding box of the node support. More...
#include <BoundingBoxComputer.hpp>
Static Public Member Functions | |
| template<std::floating_point Real> | |
| static void | compute (const AttributeComputeContext< Real > &context) |
| Computes the requested bounding-box descriptors. | |
| template<std::floating_point Real> | |
| static void | computeUnitRows (const UnitAttributeComputeContext< Real > &context) |
| Materializes bounding-box descriptors for one-pixel unit supports. | |
Static Public Attributes | |
| static constexpr std::string_view | familyName = "bounding-box" |
| Family name used in dependency-plan diagnostics. | |
| static constexpr AttributeComputerFamily | family = AttributeComputerFamily::BoundingBox |
| Stable family id used by the scheduler. | |
| static constexpr AttributeComputerDomain | domain = AttributeComputerDomain::Topology |
| Execution domain required by the computer. | |
| static constexpr std::array< Attribute, 9 > | producedAttributes |
| Canonical list of bounding-box descriptors produced by this computer. | |
Computes descriptors derived from the axis-aligned bounding box of the node support.
For each live node, the computer determines the smallest axis-aligned box that contains the complete subtree support. The support is defined as the union of the node's proper parts and the supports of all descendants. From the box extrema, the computer derives:
RATIO_WH);AREA / (width * height).The extrema are accumulated in a post-order traversal by initialising each node from its own proper parts and then merging child boxes into the parent. Only RECTANGULARITY depends on the external AREA attribute; all other outputs come directly from the tracked extrema.
rows and columns. Definition at line 215 of file BoundingBoxComputer.hpp.
|
inlinestatic |
Computes the requested bounding-box descriptors.
The output buffer is indexed by dense internal node id and interpreted by context.attrNames. context.requestedAttributes selects which columns are written. RECTANGULARITY requires an AREA dependency available through context.dependencies; all other descriptors are computed directly from row-major proper-part coordinates.
| context | Operation context or diagnostic label. |
Definition at line 244 of file BoundingBoxComputer.hpp.
|
inlinestatic |
Materializes bounding-box descriptors for one-pixel unit supports.
A unit support has width/height 1, rectangularity 1, ratio 1, and min/max coordinates equal to the proper part coordinate.
| context | Operation context or diagnostic label. |
Definition at line 267 of file BoundingBoxComputer.hpp.
|
staticconstexpr |
Execution domain required by the computer.
Definition at line 224 of file BoundingBoxComputer.hpp.
|
staticconstexpr |
Stable family id used by the scheduler.
Definition at line 221 of file BoundingBoxComputer.hpp.
|
staticconstexpr |
Family name used in dependency-plan diagnostics.
Definition at line 218 of file BoundingBoxComputer.hpp.
|
inlinestaticconstexpr |
Canonical list of bounding-box descriptors produced by this computer.
Definition at line 229 of file BoundingBoxComputer.hpp.