opensurgsim
|
LinearMotionND<T, 3> specializes the LinearMotionND<T, N> class for 3 dimensions. More...
#include <LinearMotionArithmetic.h>
Public Types | |
typedef Eigen::Matrix< T, 3, 1 > | Vector3 |
Typedef for a vector 3 return. | |
Public Member Functions | |
LinearMotionND () | |
Constructor. | |
LinearMotionND (const std::array< LinearMotion< T >, 3 > &x) | |
Constructor. More... | |
LinearMotionND (const LinearMotion< T > &a, const LinearMotion< T > &b, const LinearMotion< T > &c) | |
Constructor. More... | |
LinearMotionND (const LinearMotionND< T, 3 > &motion) | |
Copy constructor. More... | |
LinearMotionND (LinearMotionND< T, 3 > &&motion) | |
Move constructor. More... | |
LinearMotionND (const std::array< T, 3 > &start, const std::array< T, 3 > &end) | |
Constructor. More... | |
LinearMotionND (const Vector3 &start, const Vector3 &end) | |
Constructor. More... | |
LinearMotionND< T, 3 > & | operator= (const LinearMotionND< T, 3 > &motion) |
Assignment operator. More... | |
LinearMotionND< T, 3 > & | operator= (LinearMotionND< T, 3 > &&motion) |
Move assignment operator. More... | |
IntervalND< T, 3 > | toInterval () const |
Convert from LinearMotion to an Interval. More... | |
bool | isApprox (const LinearMotionND< T, 3 > &motion, const T &epsilon) const |
bool | operator== (const LinearMotionND< T, 3 > &motion) const |
bool | operator!= (const LinearMotionND< T, 3 > &motion) const |
IntervalND< T, 3 > | operator* (const LinearMotionND< T, 3 > &m) const |
Standard arithmetic operators extended to interval groups. More... | |
IntervalND< T, 3 > | operator/ (const LinearMotionND< T, 3 > &m) const |
Standard arithmetic operators extended to interval groups. More... | |
Interval< T > | dotProduct (const LinearMotionND< T, 3 > &motion, const Interval< T > &range) const |
IntervalND< T, 3 > | crossProduct (const LinearMotionND< T, 3 > &motion, const Interval< T > &range) const |
Interval< T > | magnitudeSquared (const Interval< T > &range) const |
Interval< T > | magnitude (const Interval< T > &range) const |
const LinearMotion< T > & | getAxis (int i) const |
void | getStart (std::array< T, 3 > *start) const |
void | getEnd (std::array< T, 3 > *end) const |
Vector3 | getStart () const |
Vector3 | getEnd () const |
Vector3 | atTime (const T &t) const |
LinearMotionND< T, 3 > | firstHalf () const |
LinearMotionND< T, 3 > | secondHalf () const |
LinearMotionND< T, 3 > | operator+ (const LinearMotionND< T, 3 > &m) const |
LinearMotionND< T, 3 > & | operator+= (const LinearMotionND< T, 3 > &m) |
LinearMotionND< T, 3 > | operator- (const LinearMotionND< T, 3 > &m) const |
LinearMotionND< T, 3 > & | operator-= (const LinearMotionND< T, 3 > &m) |
LinearMotionND<T, 3> specializes the LinearMotionND<T, N> class for 3 dimensions.
|
explicit |
Constructor.
x | array of 3 linear motions to be copied into the group |
SurgSim::Math::LinearMotionND< T, 3 >::LinearMotionND | ( | const LinearMotion< T > & | a, |
const LinearMotion< T > & | b, | ||
const LinearMotion< T > & | c | ||
) |
Constructor.
a | first linear motion to be added to the 3 group |
b | second linear motion to be added to the 3 group |
c | third linear motion to be added to the 3 group |
SurgSim::Math::LinearMotionND< T, 3 >::LinearMotionND | ( | const LinearMotionND< T, 3 > & | motion | ) |
Copy constructor.
motion | linear motion 3 group to be copied |
SurgSim::Math::LinearMotionND< T, 3 >::LinearMotionND | ( | LinearMotionND< T, 3 > && | motion | ) |
Move constructor.
motion | Linear motion to be copied |
SurgSim::Math::LinearMotionND< T, 3 >::LinearMotionND | ( | const std::array< T, 3 > & | start, |
const std::array< T, 3 > & | end | ||
) |
Constructor.
start | array of 3 values to be used as the respective starts for the linear motion entries. |
end | array of 3 values to be used as the respective ends for the linear motion entries. |
SurgSim::Math::LinearMotionND< T, 3 >::LinearMotionND | ( | const Vector3 & | start, |
const Vector3 & | end | ||
) |
Constructor.
start | array of 3 values to be used as the respective starts for the linear motion entries. |
end | array of 3 values to be used as the respective ends for the linear motion entries. |
LinearMotionND< T, 3 >::Vector3 SurgSim::Math::LinearMotionND< T, 3 >::atTime | ( | const T & | t | ) | const |
t | the parametric value at which to evaluate the linear motion |
IntervalND< T, 3 > SurgSim::Math::LinearMotionND< T, 3 >::crossProduct | ( | const LinearMotionND< T, 3 > & | motion, |
const Interval< T > & | range | ||
) | const |
motion | the input linear motion 3 group |
range | the range over which the cross product is to be evaluated. |
Interval< T > SurgSim::Math::LinearMotionND< T, 3 >::dotProduct | ( | const LinearMotionND< T, 3 > & | motion, |
const Interval< T > & | range | ||
) | const |
motion | the input linear motion 3 group |
range | the range over which the dot product is to be evaluated. |
LinearMotionND< T, 3 > SurgSim::Math::LinearMotionND< T, 3 >::firstHalf | ( | ) | const |
const LinearMotion< T > & SurgSim::Math::LinearMotionND< T, 3 >::getAxis | ( | int | i | ) | const |
i | the selector for the linear motion to be returned |
thrown | if the requested axis is < 0 or greater than 2 |
void SurgSim::Math::LinearMotionND< T, 3 >::getEnd | ( | std::array< T, 3 > * | end | ) | const |
end | [out] the end of the linear motion 3D as a 3 value array |
LinearMotionND< T, 3 >::Vector3 SurgSim::Math::LinearMotionND< T, 3 >::getEnd | ( | ) | const |
void SurgSim::Math::LinearMotionND< T, 3 >::getStart | ( | std::array< T, 3 > * | start | ) | const |
start | [out] the start of the linear motion 3D as a 3 value array |
LinearMotionND< T, 3 >::Vector3 SurgSim::Math::LinearMotionND< T, 3 >::getStart | ( | ) | const |
bool SurgSim::Math::LinearMotionND< T, 3 >::isApprox | ( | const LinearMotionND< T, 3 > & | motion, |
const T & | epsilon | ||
) | const |
motion | the motion group to be tested |
epsilon | the nearness parameter |
Interval< T > SurgSim::Math::LinearMotionND< T, 3 >::magnitude | ( | const Interval< T > & | range | ) | const |
Interval< T > SurgSim::Math::LinearMotionND< T, 3 >::magnitudeSquared | ( | const Interval< T > & | range | ) | const |
bool SurgSim::Math::LinearMotionND< T, 3 >::operator!= | ( | const LinearMotionND< T, 3 > & | motion | ) | const |
motion | the linear motion group to be tested |
IntervalND< T, 3 > SurgSim::Math::LinearMotionND< T, 3 >::operator* | ( | const LinearMotionND< T, 3 > & | m | ) | const |
Standard arithmetic operators extended to interval groups.
LinearMotionND< T, 3 > SurgSim::Math::LinearMotionND< T, 3 >::operator+ | ( | const LinearMotionND< T, 3 > & | m | ) | const |
Standard arithmetic operators extended to 3 interval groups
IntervalND< T, 3 > SurgSim::Math::LinearMotionND< T, 3 >::operator/ | ( | const LinearMotionND< T, 3 > & | m | ) | const |
Standard arithmetic operators extended to interval groups.
if | any component of interval includes 0 |
LinearMotionND< T, 3 > & SurgSim::Math::LinearMotionND< T, 3 >::operator= | ( | const LinearMotionND< T, 3 > & | motion | ) |
Assignment operator.
motion | Linear motion 3 group to be copied |
LinearMotionND< T, 3 > & SurgSim::Math::LinearMotionND< T, 3 >::operator= | ( | LinearMotionND< T, 3 > && | motion | ) |
Move assignment operator.
motion | Linear motion 3 group to be moved |
bool SurgSim::Math::LinearMotionND< T, 3 >::operator== | ( | const LinearMotionND< T, 3 > & | motion | ) | const |
motion | the linear motion group to be tested |
LinearMotionND< T, 3 > SurgSim::Math::LinearMotionND< T, 3 >::secondHalf | ( | ) | const |
IntervalND< T, 3 > SurgSim::Math::LinearMotionND< T, 3 >::toInterval | ( | ) | const |
Convert from LinearMotion to an Interval.