CFx SDK Documentation  2020SP3
GeInterval.h
Go to the documentation of this file.
1 // Copyright (C) 2002-2017, Open Design Alliance (the "Alliance").
3 // All rights reserved.
4 //
5 // This software and its documentation and related materials are owned by
6 // the Alliance. The software may only be incorporated into application
7 // programs owned by members of the Alliance, subject to a signed
8 // Membership Agreement and Supplemental Software License Agreement with the
9 // Alliance. The structure and organization of this software are the valuable
10 // trade secrets of the Alliance and its suppliers. The software is also
11 // protected by copyright law and international treaty provisions. Application
12 // programs incorporating this software must include the following statement
13 // with their copyright notices:
14 //
15 // This application incorporates Teigha(R) software pursuant to a license
16 // agreement with Open Design Alliance.
17 // Teigha(R) Copyright (C) 2002-2017 by Open Design Alliance.
18 // All rights reserved.
19 //
20 // By use of this software, its documentation or related materials, you
21 // acknowledge and accept the above terms.
23 
24 
25 #ifndef OD_GE_INTERVAL_H
26 #define OD_GE_INTERVAL_H
28 #include "Ge/GeExport.h"
29 #include "TD_PackPush.h"
30 
40 {
41 public:
53  double tol = 1.e-12);
55  double lower,
56  double upper,
57  double tol = 1.e-12);
59  bool boundedBelow,
60  double bound,
61  double tol = 1.e-12);
62 
64 
71  double lowerBound() const;
72 
79  double upperBound() const;
80 
93  double element() const;
94 
101  void getBounds(
102  double& lower,
103  double& upper) const;
104 
111  double length() const;
112 
116  double tolerance() const;
117 
128  double lower,
129  double upper);
130 
142  bool boundedBelow,
143  double bound);
144 
152 
160  double upper);
161 
170  double lower);
171 
181  double tol);
182 
189  void getMerge(
190  const OdGeInterval& otherInterval,
191  OdGeInterval& result) const;
192 
210  int subtract(
211  const OdGeInterval& otherInterval,
212  OdGeInterval& lInterval,
213  OdGeInterval& rInterval) const;
214 
225  const OdGeInterval& otherInterval,
226  OdGeInterval& result) const;
227 
231  bool isBounded() const;
232 
236  bool isBoundedAbove() const;
237 
241  bool isBoundedBelow() const;
242 
246  bool isUnBounded() const;
247 
253  bool isSingleton() const;
254 
263  const OdGeInterval& otherInterval) const;
264 
273  bool contains(
274  const OdGeInterval& otherInterval) const;
275  bool contains(
276  double value) const;
277 
287  const OdGeInterval& otherInterval) const;
288 
307  const OdGeInterval& otherInterval,
308  OdGeInterval& overlap) const;
309 
311  const OdGeInterval& otherInterval) const;
313  const OdGeInterval& otherInterval) const;
314 
327  const OdGeInterval& otherInterval) const;
328 
340  double value) const;
341 
353  const OdGeInterval& otherInterval) const;
354 
365  double value) const;
366 
380  double period,
381  double& value);
382 
383  friend
385  double value,
386  const OdGeInterval& interval);
388  double value) const;
390  const OdGeInterval& otherInterval) const;
391  friend
393  double value,
394  const OdGeInterval& interval);
396  double value) const;
398  const OdGeInterval& otherInterval) const;
399  friend
401  double value,
402  const OdGeInterval& interval);
404  double value) const;
406  const OdGeInterval& otherInterval) const;
407  friend
409  double value,
410  const OdGeInterval& interval);
412  double value) const;
414  const OdGeInterval& otherInterval) const;
415 
416 private:
417  double m_Tol;
418  double m_UpperParam;
419  double m_LowerParam;
420  bool m_bBoundedAbove;
421  bool m_bBoundedBelow;
422 };
423 
424 #include "TD_PackPop.h"
425 #endif // OD_GE_INTERVAL_H
426 
operator<=
bool operator<=(const OdString &s1, const OdString &s2)
Definition: OdString.h:1329
OdGeInterval::setTolerance
OdGeInterval & setTolerance(double tol)
OdGeInterval::subtract
int subtract(const OdGeInterval &otherInterval, OdGeInterval &lInterval, OdGeInterval &rInterval) const
OdGeInterval::isEqualAtLower
bool isEqualAtLower(double value) const
OdGeInterval::set
OdGeInterval & set(bool boundedBelow, double bound)
OdGeInterval::setLower
OdGeInterval & setLower(double lower)
tol
tol
Definition: DimVarDefs.h:2287
OdGeInterval::isBounded
bool isBounded() const
OdGeInterval::isDisjoint
bool isDisjoint(const OdGeInterval &otherInterval) const
OdGeInterval::isSingleton
bool isSingleton() const
TD_PackPop.h
OdGeInterval::lowerBound
double lowerBound() const
OdDAI::operator!=
bool DAI_EXPORT operator!=(const OdDAI::OdSelect &left, const OdDAI::OdSelect &right)
OdGeInterval::intersectWith
bool intersectWith(const OdGeInterval &otherInterval, OdGeInterval &result) const
OdGeInterval::isBoundedAbove
bool isBoundedAbove() const
OdGeInterval::isEqualAtLower
bool isEqualAtLower(const OdGeInterval &otherInterval) const
operator>
bool operator>(const OdString &s1, const OdString &s2)
Definition: OdString.h:1307
OdGeInterval::element
double element() const
OdGeInterval::~OdGeInterval
~OdGeInterval()
OdGeInterval::contains
bool contains(const OdGeInterval &otherInterval) const
operator>=
bool operator>=(const OdString &s1, const OdString &s2)
Definition: OdString.h:1351
OdGeInterval::OdGeInterval
OdGeInterval(double tol=1.e-12)
TD_PackPush.h
operator<
bool operator<(const OdString &s1, const OdString &s2)
Definition: OdString.h:1284
OdGeInterval::length
double length() const
OdGeInterval::OdGeInterval
OdGeInterval(double lower, double upper, double tol=1.e-12)
OdGeInterval::isBoundedBelow
bool isBoundedBelow() const
OdGeInterval::setUpper
OdGeInterval & setUpper(double upper)
OdGeInterval::getMerge
void getMerge(const OdGeInterval &otherInterval, OdGeInterval &result) const
OdGeInterval::isOverlapAtUpper
bool isOverlapAtUpper(const OdGeInterval &otherInterval, OdGeInterval &overlap) const
GE_TOOLKIT_EXPORT
#define GE_TOOLKIT_EXPORT
Definition: GeExport.h:49
value
GLsizei const GLfloat * value
Definition: gles2_ext.h:302
OdGeInterval
Definition: GeInterval.h:40
OdDAI::operator==
bool DAI_EXPORT operator==(const OdFileDescriptionAuto &left, const OdFileDescriptionAuto &right)
OdGeInterval::getBounds
void getBounds(double &lower, double &upper) const
OdGeInterval::isEqualAtUpper
bool isEqualAtUpper(double value) const
OdGeInterval::OdGeInterval
OdGeInterval(bool boundedBelow, double bound, double tol=1.e-12)
OdGeInterval::isUnBounded
bool isUnBounded() const
OdGeInterval::upperBound
double upperBound() const
OdGeInterval::set
OdGeInterval & set()
OdGeInterval::isContinuousAtUpper
bool isContinuousAtUpper(const OdGeInterval &otherInterval) const
OdGeInterval::contains
bool contains(double value) const
OdGeInterval::set
OdGeInterval & set(double lower, double upper)
OdGeInterval::isPeriodicallyOn
bool isPeriodicallyOn(double period, double &value)
OdGeInterval::tolerance
double tolerance() const
OdGeInterval::isEqualAtUpper
bool isEqualAtUpper(const OdGeInterval &otherInterval) const