![]() |
Open CASCADE Technology Reference Manual 8.0.0
|
1D parameter domain for curves. More...
#include <MathUtils_Domain.hxx>
Public Member Functions | |
| constexpr | Domain1D ()=default |
| Default constructor - creates empty domain [0, 0]. | |
| constexpr | Domain1D (double theMin, double theMax) |
| Construct from bounds. | |
| constexpr double | Length () const |
| Returns the length of the domain. | |
| constexpr double | Mid () const |
| Returns the midpoint of the domain. | |
| bool | Contains (double theU, double theTol=0.0) const |
| Check if value is within domain. | |
| double | Clamp (double theU) const |
| Clamp value to domain bounds. | |
| bool | IsLarge (double theThreshold=1000.0) const |
| Check if domain is "large" (effectively unbounded for optimization). Large domains allow skipping bounds checking for performance. | |
| bool | IsFullPeriod (double thePeriod, double theTol=1.0e-10) const |
| Check if domain covers a full periodic range. | |
| constexpr double | Lerp (double theT) const |
| Interpolate within domain. | |
| double | Normalize (double theU) const |
| Normalize parameter to [0, 1] range. | |
| bool | IsFinite (double theInfLimit=1.0e100) const |
| Check if domain has finite bounds (not effectively infinite). | |
| bool | IsEqual (const Domain1D &theOther, double theTol=1.0e-10) const |
| Check if this domain equals another within tolerance. | |
Data Fields | |
| double | Min = 0.0 |
| Lower bound of the domain. | |
| double | Max = 0.0 |
| Upper bound of the domain. | |
1D parameter domain for curves.
Represents a parameter range [Min, Max] with utility methods for:
|
constexprdefault |
Default constructor - creates empty domain [0, 0].
Construct from bounds.
| theMin | lower bound |
| theMax | upper bound |
Clamp value to domain bounds.
| theU | parameter value to clamp |
Check if value is within domain.
| theU | parameter value to check |
| theTol | tolerance for boundary check |
|
inline |
Check if this domain equals another within tolerance.
| theOther | domain to compare with |
| theTol | tolerance for comparison |
Check if domain has finite bounds (not effectively infinite).
| theInfLimit | threshold for "infinity" (default 1e100) |
Check if domain covers a full periodic range.
| thePeriod | period of the parameter (e.g., 2*PI for angles) |
| theTol | tolerance |
Check if domain is "large" (effectively unbounded for optimization). Large domains allow skipping bounds checking for performance.
| theThreshold | size threshold (default 1000) |
Returns the length of the domain.
Interpolate within domain.
| theT | interpolation parameter in [0, 1] |
Returns the midpoint of the domain.
| double MathUtils::Domain1D::Max = 0.0 |
Upper bound of the domain.
| double MathUtils::Domain1D::Min = 0.0 |
Lower bound of the domain.