Bounds

A conservative convex enclosure described by support bounds.

Defined in Rodin/Geometry/Bounds.h

class Bounds;

For an enclosed set $C$ , getSupport() bounds $h_C(d)=\sup_{x\in C}d\cdot x$ . Directions need not be normalized.

Architecture

Native first-order maps use their vertex hull without allocation. Higher orders convert a certified reference-space representation into a positive partition of unity, including the rational collapsed pyramid basis. Reference conversions are shared; physical coefficients are owned. Conversion roundoff is included in every support query. An unreliable conversion gives infinite support, never a sampled membership filter.

Constructors, destructors, conversion operators

Bounds(const PolytopeTransformation& transformation, Polytope::Type geometry, size_t degree)
Constructs the enclosure of a certified reference-space map.

Public functions

auto getSupport(const Math::SpatialVector<Real>& direction) const -> Real
Returns an outward-rounded support bound.

Function documentation

Bounds(const PolytopeTransformation& transformation, Polytope::Type geometry, size_t degree)

Constructs the enclosure of a certified reference-space map.

Parameters
transformation Coordinate map to enclose.
geometry Reference geometry of that map.
degree Certified degree of the containing control space.

The caller must establish containment in the degree-p Bernstein reference space: simplex, tensor, triangle-segment product, or rational collapsed pyramid. This is a representation bound, not a family index inferred from an arbitrary transformation's samples.

Real getSupport(const Math::SpatialVector<Real>& direction) const

Returns an outward-rounded support bound.

Parameters
direction Physical direction, not necessarily normalized.
Returns An upper support bound, or infinity for an uncertified conversion.