25#ifndef OD_GE_INTERVAL_H
26#define OD_GE_INTERVAL_H
51 , m_bBoundedAbove(
false)
52 , m_bBoundedBelow(
false)
67 , m_bBoundedAbove(
true)
68 , m_bBoundedBelow(
true)
112 return 0.5 * (m_LowerParam + m_UpperParam);
139 lower = m_LowerParam;
140 upper = m_UpperParam;
152 return index == 0 ? m_LowerParam : m_UpperParam;
163 return (isBounded() ? (m_UpperParam - m_LowerParam) : -1.0);
184 return m_LowerParam * (1.0 - ratio) + m_UpperParam * ratio;
201 return setUpper(upper);
226 m_LowerParam = m_UpperParam = 0.0;
227 m_bBoundedBelow = m_bBoundedAbove =
false;
240 m_UpperParam = upper;
241 m_bBoundedAbove =
true;
255 m_LowerParam = lower;
256 m_bBoundedBelow =
true;
338 return (m_bBoundedAbove && m_bBoundedBelow);
346 return m_bBoundedAbove;
354 return m_bBoundedBelow;
362 return (!m_bBoundedAbove || !m_bBoundedBelow);
404 return ((!m_bBoundedBelow || m_LowerParam - m_Tol <=
value)
405 && (!m_bBoundedAbove || m_UpperParam + m_Tol >=
value));
588 bool m_bBoundedAbove;
589 bool m_bBoundedBelow;
#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
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