opensurgsim
|
LinearMotionND<T, N> defines the concept of a group of linear motions and provides operations on them including arithmetic operations, construction, and I/O. More...
#include <LinearMotionArithmetic.h>
Public Member Functions | |
LinearMotionND () | |
Constructor. | |
LinearMotionND (const std::array< LinearMotion< T >, N > &x) | |
Constructor. More... | |
LinearMotionND (const LinearMotionND< T, N > &motion) | |
Copy constructor. More... | |
LinearMotionND (LinearMotionND< T, N > &&motion) | |
Move constructor. More... | |
LinearMotionND (const std::array< T, N > &a, const std::array< T, N > &b) | |
Constructor. More... | |
LinearMotionND< T, N > & | operator= (const LinearMotionND< T, N > &motion) |
Assignment operator. More... | |
LinearMotionND< T, N > & | operator= (LinearMotionND< T, N > &&motion) |
Move assignment operator. More... | |
IntervalND< T, N > | toInterval () const |
Convert from LinearMotion to an Interval. More... | |
bool | isApprox (const LinearMotionND< T, N > &motion, const T &epsilon) const |
bool | operator== (const LinearMotionND< T, N > &motion) const |
bool | operator!= (const LinearMotionND< T, N > &motion) const |
IntervalND< T, N > | operator* (const LinearMotionND< T, N > &m) const |
Standard arithmetic operators extended to interval groups. More... | |
IntervalND< T, N > | operator/ (const LinearMotionND< T, N > &m) const |
Standard arithmetic operators extended to interval groups. More... | |
Interval< T > | dotProduct (const LinearMotionND< T, N > &motion) const |
const LinearMotion< T > & | getAxis (int i) const |
void | getStart (std::array< T, N > *start) const |
void | getEnd (std::array< T, N > *end) const |
LinearMotionND< T, N > | firstHalf () const |
LinearMotionND< T, N > | secondHalf () const |
LinearMotionND< T, N > | operator+ (const LinearMotionND< T, N > &m) const |
LinearMotionND< T, N > & | operator+= (const LinearMotionND< T, N > &m) |
LinearMotionND< T, N > | operator- (const LinearMotionND< T, N > &m) const |
LinearMotionND< T, N > & | operator-= (const LinearMotionND< T, N > &m) |
LinearMotionND<T, N> defines the concept of a group of linear motions and provides operations on them including arithmetic operations, construction, and I/O.
T | underlying data type over which the linear motion is defined. |
N | Dimensionality of the interval |
|
explicit |
Constructor.
x | array of N motions to be copied into the group |
SurgSim::Math::LinearMotionND< T, N >::LinearMotionND | ( | const LinearMotionND< T, N > & | motion | ) |
Copy constructor.
motion | motion group to copied |
SurgSim::Math::LinearMotionND< T, N >::LinearMotionND | ( | LinearMotionND< T, N > && | motion | ) |
Move constructor.
motion | motion to be copied |
SurgSim::Math::LinearMotionND< T, N >::LinearMotionND | ( | const std::array< T, N > & | a, |
const std::array< T, N > & | b | ||
) |
Constructor.
a | array of N values to be used as the respective starts for the linear motion entries. |
b | array of N values to be used as the respective ends for the linear motion entries. |
Interval< T > SurgSim::Math::LinearMotionND< T, N >::dotProduct | ( | const LinearMotionND< T, N > & | motion | ) | const |
motion | the input linear motion group |
LinearMotionND< T, N > SurgSim::Math::LinearMotionND< T, N >::firstHalf | ( | ) | const |
const LinearMotion< T > & SurgSim::Math::LinearMotionND< T, N >::getAxis | ( | int | i | ) | const |
i | the selector for the linear motion to be returned |
thrown | if the requested axis is < 0 or greater than N - 1 |
void SurgSim::Math::LinearMotionND< T, N >::getEnd | ( | std::array< T, N > * | end | ) | const |
end | [out] the ending points of the linear motion group as an N dimension array. |
void SurgSim::Math::LinearMotionND< T, N >::getStart | ( | std::array< T, N > * | start | ) | const |
start | [out] the starting points of the linear motion group as an N dimension array. |
bool SurgSim::Math::LinearMotionND< T, N >::isApprox | ( | const LinearMotionND< T, N > & | motion, |
const T & | epsilon | ||
) | const |
motion | the linear motion group to be tested |
epsilon | the nearness parameter |
bool SurgSim::Math::LinearMotionND< T, N >::operator!= | ( | const LinearMotionND< T, N > & | motion | ) | const |
motion | the linear motion group to be tested |
IntervalND< T, N > SurgSim::Math::LinearMotionND< T, N >::operator* | ( | const LinearMotionND< T, N > & | m | ) | const |
Standard arithmetic operators extended to interval groups.
LinearMotionND< T, N > SurgSim::Math::LinearMotionND< T, N >::operator+ | ( | const LinearMotionND< T, N > & | m | ) | const |
Standard arithmetic operators extended to interval groups
IntervalND< T, N > SurgSim::Math::LinearMotionND< T, N >::operator/ | ( | const LinearMotionND< T, N > & | m | ) | const |
Standard arithmetic operators extended to interval groups.
if | any component of interval includes 0 |
LinearMotionND< T, N > & SurgSim::Math::LinearMotionND< T, N >::operator= | ( | const LinearMotionND< T, N > & | motion | ) |
Assignment operator.
motion | Linear motion group to be copied |
LinearMotionND< T, N > & SurgSim::Math::LinearMotionND< T, N >::operator= | ( | LinearMotionND< T, N > && | motion | ) |
Move assignment operator.
motion | Linear motion group to be moved |
bool SurgSim::Math::LinearMotionND< T, N >::operator== | ( | const LinearMotionND< T, N > & | motion | ) | const |
motion | the linear motion group to be tested |
LinearMotionND< T, N > SurgSim::Math::LinearMotionND< T, N >::secondHalf | ( | ) | const |
IntervalND< T, N > SurgSim::Math::LinearMotionND< T, N >::toInterval | ( | ) | const |
Convert from LinearMotion to an Interval.