25#ifndef OD_GE_INTERVAL_H
26#define OD_GE_INTERVAL_H
51 , m_bBoundedBelow(
false)
52 , m_bBoundedAbove(
false)
67 , m_bBoundedBelow(
true)
68 , m_bBoundedAbove(
true)
114 return 0.5 * (m_LowerParam + m_UpperParam);
141 lower = m_LowerParam;
142 upper = m_UpperParam;
154 return index == 0 ? m_LowerParam : m_UpperParam;
165 return (
isBounded() ? (m_UpperParam - m_LowerParam) : -1.0);
186 return m_LowerParam * (1.0 - ratio) + m_UpperParam * ratio;
228 m_LowerParam = m_UpperParam = 0.0;
229 m_bBoundedBelow = m_bBoundedAbove =
false;
242 m_UpperParam = upper;
243 m_bBoundedAbove =
true;
257 m_LowerParam = lower;
258 m_bBoundedBelow =
true;
361 return (m_bBoundedAbove && m_bBoundedBelow);
369 return m_bBoundedAbove;
377 return m_bBoundedBelow;
385 return (!m_bBoundedAbove || !m_bBoundedBelow);
427 return ((!m_bBoundedBelow || m_LowerParam - m_Tol <=
value)
428 && (!m_bBoundedAbove || m_UpperParam + m_Tol >=
value));
611 bool m_bBoundedBelow;
612 bool m_bBoundedAbove;
#define ODA_ASSERT_ONCE(exp)
#define GE_TOOLKIT_EXPORT
bool operator!=(T left, const OdGiVariant::EnumType right)
bool operator==(T left, const OdGiVariant::EnumType right)
bool operator>=(const OdString &s1, const OdString &s2)
bool operator<=(const OdString &s1, const OdString &s2)
bool operator<(const OdString &s1, const OdString &s2)
bool operator>(const OdString &s1, const OdString &s2)
OdGeInterval & set(bool boundedBelow, double bound)
OdGeInterval(double tol=1.e-12)
OdGeInterval(bool boundedBelow, double bound, double tol=1.e-12)
double upperBound() const
bool isEqualAtUpper(double value) const
bool contains(const OdGeInterval &otherInterval) const
void getBounds(double &lower, double &upper) const
OdGeInterval & scale(double factor)
double getEnd(int index) const
bool isEqualAtUpper(const OdGeInterval &otherInterval) const
bool isOverlapAtUpper(const OdGeInterval &otherInterval, OdGeInterval &overlap) const
double lowerBound() const
OdGeInterval & setUpper(double upper)
bool isBoundedBelow() const
bool isPeriodicallyOn(double period, double &value)
OdGeInterval & setTolerance(double tol)
double clamp(double value) const
OdGeInterval & set(double lower, double upper)
OdGeInterval(double lower, double upper, double tol=1.e-12)
double eval(double ratio) const
bool contains(double value) const
bool isEqualAtLower(double value) const
bool intersectWith(const OdGeInterval &otherInterval, OdGeInterval &result) const
bool isDisjoint(const OdGeInterval &otherInterval) const
bool isBoundedAbove() const
void getMerge(const OdGeInterval &otherInterval, OdGeInterval &result) const
bool isEqualAtLower(const OdGeInterval &otherInterval) const
bool finiteIntersectWith(const OdGeInterval &range, OdGeInterval &result) const
OdGeInterval & setLower(double lower)
int subtract(const OdGeInterval &otherInterval, OdGeInterval &lInterval, OdGeInterval &rInterval) const
bool isContinuousAtUpper(const OdGeInterval &otherInterval) const
GLsizei const GLfloat * value