IntervalND<T,3> defines the concept of a group of mathematical intervals specialized to 3 intervals and provides operations on them including arithmetic operations, construction, and IO.
More...
#include <IntervalArithmetic.h>
|
| IntervalND () |
| Constructor.
|
|
| IntervalND (const std::array< Interval< T >, 3 > &x) |
| Constructor. More...
|
|
| IntervalND (const Interval< T > &x, const Interval< T > &y, const Interval< T > &z) |
| Constructor. More...
|
|
| IntervalND (const IntervalND< T, 3 > &i) |
| Copy constructor. More...
|
|
| IntervalND (IntervalND< T, 3 > &&i) |
| Move constructor. More...
|
|
| IntervalND (const std::array< T, 3 > &a, const std::array< T, 3 > &b) |
| Constructor. More...
|
|
IntervalND< T, 3 > & | operator= (const IntervalND< T, 3 > &i) |
| Assignment operator. More...
|
|
IntervalND< T, 3 > & | operator= (IntervalND< T, 3 > &&i) |
| Move assignment operator. More...
|
|
bool | overlapsWith (const IntervalND< T, 3 > &interval) const |
|
bool | isApprox (const IntervalND< T, 3 > &interval, const T &epsilon) const |
|
bool | operator== (const IntervalND< T, 3 > &i) const |
|
bool | operator!= (const IntervalND< T, 3 > &i) const |
|
IntervalND< T, 3 > & | addThickness (const T &thickness) |
| Widens every interval in the current interval group by thickness on both sides. More...
|
|
IntervalND< T, 3 > | inverse () const |
|
IntervalND< T, 3 > | operator/ (const IntervalND< T, 3 > &i) const |
|
IntervalND< T, 3 > & | operator/= (const IntervalND< T, 3 > &i) |
|
Interval< T > | dotProduct (const IntervalND< T, 3 > &i) const |
|
IntervalND< T, 3 > | crossProduct (const IntervalND< T, 3 > &i) const |
|
Interval< T > | magnitudeSquared () const |
|
Interval< T > | magnitude () const |
|
const Interval< T > & | getAxis (size_t i) const |
|
|
IntervalND< T, 3 > | operator+ (const IntervalND< T, 3 > &i) const |
|
IntervalND< T, 3 > & | operator+= (const IntervalND< T, 3 > &i) |
|
IntervalND< T, 3 > | operator- (const IntervalND< T, 3 > &i) const |
|
IntervalND< T, 3 > & | operator-= (const IntervalND< T, 3 > &i) |
|
IntervalND< T, 3 > | operator* (const IntervalND< T, 3 > &i) const |
|
IntervalND< T, 3 > & | operator*= (const IntervalND< T, 3 > &i) |
|
|
template<class P > |
void | IntervalArithmetic_add (const IntervalND< P, 3 > &a, const IntervalND< P, 3 > &b, IntervalND< P, 3 > *res) |
| Calculate the sum of two interval groups. More...
|
|
template<class P > |
void | IntervalArithmetic_sub (const IntervalND< P, 3 > &a, const IntervalND< P, 3 > &b, IntervalND< P, 3 > *res) |
| Calculate the difference of two interval groups. More...
|
|
template<class P > |
void | IntervalArithmetic_crossProduct (const IntervalND< P, 3 > &a, const IntervalND< P, 3 > &b, IntervalND< P, 3 > *res) |
| Calculate the cross product of two interval groups. More...
|
|
template<class P > |
void | IntervalArithmetic_dotProduct (const IntervalND< P, 3 > &a, const IntervalND< P, 3 > &b, Interval< P > *res) |
| Calculate the dot product of two interval groups. More...
|
|
template<class T>
class SurgSim::Math::IntervalND< T, 3 >
IntervalND<T,3> defines the concept of a group of mathematical intervals specialized to 3 intervals and provides operations on them including arithmetic operations, construction, and IO.
- Template Parameters
-
T | underlying data type over which the interval is defined. |
- See also
- Interval<T> and IntervalND<T, N>
§ IntervalND() [1/5]
Constructor.
- Parameters
-
x | array of 3 intervals to be copied into the group |
§ IntervalND() [2/5]
Constructor.
- Parameters
-
x | first interval to be added to the 3 group |
y | second interval to be added to the 3 group |
z | third interval to be added to the 3 group |
§ IntervalND() [3/5]
Copy constructor.
- Parameters
-
i | interval 3 group to copied |
§ IntervalND() [4/5]
Move constructor.
- Parameters
-
§ IntervalND() [5/5]
Constructor.
- Parameters
-
a | array of 3 values to be used as the respective minimums for the interval entries. |
b | array of 3 values to be used as the respective maximums for the interval entries. |
§ addThickness()
Widens every interval in the current interval group by thickness on both sides.
- Parameters
-
thickness | the amount to widen on both sides |
- Returns
- the current interval group after modification
§ crossProduct()
- Parameters
-
i | the input interval group |
- Returns
- the interval cross product of the current 3 group and interval
§ dotProduct()
- Parameters
-
i | the input interval group |
- Returns
- the interval dot product of the current 3 group and interval
§ getAxis()
- Parameters
-
i | the selector for the interval to be returned |
- Returns
- the ith interval in the current 3 group
§ inverse()
- Returns
- the inverse of each interval in the 3 interval group
- Exceptions
-
if | any interval includes 0 |
§ isApprox()
- Parameters
-
interval | the interval group to be tested |
epsilon | the nearness parameter |
- Returns
- true if each interval in the input group is approximately equal to its correspondent element in interval.
§ magnitude()
- Returns
- the interval magnitude for the current 3 group
§ magnitudeSquared()
- Returns
- the square of the interval magnitude for the current 3 group
§ operator!=()
- Parameters
-
i | the interval group to be tested |
- Returns
- true if the current interval 3 group is not identical to the input 3 group i
§ operator+()
Standard arithmetic operators extended to 3 interval groups
§ operator/()
- Parameters
-
i | the interval to be divided by |
- Returns
- the product of each interval in the 3 group multiplied by the inverse of its correspondent in i
- Exceptions
-
if | any component of interval includes 0 |
§ operator/=()
- Parameters
-
i | the interval to be divided by |
- Returns
- the product of each interval in the 3 group multiplied by the inverse of its correspondent in i
- Note
- the current interval is modified by this operation
§ operator=() [1/2]
Assignment operator.
- Parameters
-
§ operator=() [2/2]
Move assignment operator.
- Parameters
-
§ operator==()
- Parameters
-
i | the interval group to be tested |
- Returns
- true if the current interval 3 group is identical to the input 3 group i
§ overlapsWith()
- Parameters
-
interval | the interval group the current group will be tested against |
- Returns
- true if the input 3 group interval overlaps the current 3 group
§ IntervalArithmetic_add
template<class T >
template<class P >
Calculate the sum of two interval groups.
- Template Parameters
-
P | underlying type of the interval |
- Parameters
-
a | the first interval group |
b | the second interval group |
res | [out] the result of a + b |
§ IntervalArithmetic_crossProduct
template<class T >
template<class P >
Calculate the cross product of two interval groups.
- Template Parameters
-
P | underlying type of the interval |
- Parameters
-
a | the first interval group |
b | the second interval group |
res | [out] the cross product of a and b |
§ IntervalArithmetic_dotProduct
template<class T >
template<class P >
Calculate the dot product of two interval groups.
- Template Parameters
-
P | underlying type of the interval |
- Parameters
-
a | the first interval group |
b | the second interval group |
res | [out] the dot product of a and b |
§ IntervalArithmetic_sub
template<class T >
template<class P >
Calculate the difference of two interval groups.
- Template Parameters
-
P | underlying type of the interval |
- Parameters
-
a | the first interval group |
b | the second interval group |
res | [out] the result of a - b |
The documentation for this class was generated from the following files: