PeriDyno 1.0.0
Loading...
Searching...
No Matches
Interval.h
Go to the documentation of this file.
1#pragma once
2#include "Platform.h"
3
4namespace dyno {
5
6 /*
7 * Interval class is defined for C++ floating-point types.
8 */
9
10 template <typename Real>
12 {
13 public:
14 DYN_FUNC Interval();
15 DYN_FUNC Interval(Real min_val, Real max_val, bool lOpen = false, bool rOpen = false);
16 DYN_FUNC Interval(const Interval<Real> &interval);
17 DYN_FUNC Interval<Real>& operator= (const Interval<Real> &interval);
18 DYN_FUNC bool operator== (const Interval<Real> &interval);
19 DYN_FUNC bool operator!= (const Interval<Real> &interval);
20 DYN_FUNC ~Interval();
21
22 DYN_FUNC Real size() const;
23
24 inline DYN_FUNC Real leftLimit() const { return v0; }
25 inline DYN_FUNC Real rightLimit() const { return v1; }
26
27 DYN_FUNC bool isLeftOpen() const;
28 DYN_FUNC bool isRightOpen() const;
29
30 DYN_FUNC void setLeftLimit(Real val, bool bOpen = false);
31 DYN_FUNC void setRightLimit(Real val, bool bOpen = false);
32
33 DYN_FUNC bool inside(Real val) const;
34 DYN_FUNC bool outside(Real val) const;
35
36 DYN_FUNC Interval<Real> intersect(const Interval<Real>& itv) const;
37
38 DYN_FUNC bool isEmpty() const;
39
40 DYN_FUNC static Interval<Real> unitInterval(); //[0,1]
41 private:
44 };
45
46} //end of namespace dyno
47
48#include "Interval.inl"
double Real
Definition Typedef.inl:23
DYN_FUNC void setRightLimit(Real val, bool bOpen=false)
Definition Interval.inl:90
DYN_FUNC void setLeftLimit(Real val, bool bOpen=false)
Definition Interval.inl:83
DYN_FUNC bool inside(Real val) const
Definition Interval.inl:97
static DYN_FUNC Interval< Real > unitInterval()
Definition Interval.inl:138
DYN_FUNC ~Interval()
Definition Interval.inl:60
DYN_FUNC bool operator!=(const Interval< Real > &interval)
Definition Interval.inl:54
DYN_FUNC Real rightLimit() const
Definition Interval.h:25
DYN_FUNC bool isRightOpen() const
Definition Interval.inl:77
DYN_FUNC Real leftLimit() const
Definition Interval.h:24
DYN_FUNC bool isLeftOpen() const
Definition Interval.inl:71
DYN_FUNC bool isEmpty() const
Definition Interval.inl:132
DYN_FUNC Interval< Real > & operator=(const Interval< Real > &interval)
Definition Interval.inl:35
DYN_FUNC Real size() const
Definition Interval.inl:65
DYN_FUNC Interval< Real > intersect(const Interval< Real > &itv) const
Definition Interval.inl:119
DYN_FUNC bool outside(Real val) const
Definition Interval.inl:113
DYN_FUNC bool operator==(const Interval< Real > &interval)
Definition Interval.inl:45
DYN_FUNC Interval()
Definition Interval.inl:7
This is an implementation of AdditiveCCD based on peridyno.
Definition Array.h:25