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: