LinearMotionND<T, 3> specializes the LinearMotionND<T, N> class for 3 dimensions.
More...
#include <SurgSim/Math/LinearMotionArithmetic.h>
|
typedef Eigen::Matrix< T, 3, 1 > | Vector3 |
| Typedef for a vector 3 return. More...
|
|
|
| LinearMotionND () |
| Constructor. More...
|
|
| 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) |
|
template<class T>
class SurgSim::Math::LinearMotionND< T, 3 >
LinearMotionND<T, 3> specializes the LinearMotionND<T, N> class for 3 dimensions.
- See also
- LinearMotion<T>, LinearMotionND<T, N> and IntervalArthmetic<T, 3>
◆ Vector3
Typedef for a vector 3 return.
◆ LinearMotionND() [1/7]
◆ LinearMotionND() [2/7]
Constructor.
- Parameters
-
x | array of 3 linear motions to be copied into the group |
◆ LinearMotionND() [3/7]
Constructor.
- Parameters
-
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 |
◆ LinearMotionND() [4/7]
Copy constructor.
- Parameters
-
motion | linear motion 3 group to be copied |
◆ LinearMotionND() [5/7]
Move constructor.
- Parameters
-
motion | Linear motion to be copied |
◆ LinearMotionND() [6/7]
Constructor.
- Parameters
-
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() [7/7]
Constructor.
- Parameters
-
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. |
◆ atTime()
- Parameters
-
t | the parametric value at which to evaluate the linear motion |
- Returns
- the value of the linear motion 3D at time t as a 3 Vector
◆ crossProduct()
- Parameters
-
motion | the input linear motion 3 group |
range | the range over which the cross product is to be evaluated. |
- Returns
- the interval cross product of the current 3 group and interval evaluated over the interval range.
◆ dotProduct()
- Parameters
-
motion | the input linear motion 3 group |
range | the range over which the dot product is to be evaluated. |
- Returns
- the interval dot product of the current 3 group and interval evaluated over the interval range.
◆ firstHalf()
- Returns
- the linear motion 3D from the start to the midpoint
◆ getAxis()
- Parameters
-
i | the selector for the linear motion to be returned |
- Returns
- the ith linear motion in the current 3 group
- Exceptions
-
thrown | if the requested axis is < 0 or greater than 2 |
◆ getEnd() [1/2]
- Returns
- the end of the linear motion 3D as a 3 Vector
◆ getEnd() [2/2]
- Parameters
-
end | [out] the end of the linear motion 3D as a 3 value array |
◆ getStart() [1/2]
- Returns
- the start of the linear motion 3D as a 3 Vector
◆ getStart() [2/2]
- Parameters
-
start | [out] the start of the linear motion 3D as a 3 value array |
◆ isApprox()
- Parameters
-
motion | the motion group to be tested |
epsilon | the nearness parameter |
- Returns
- true if each linear motion in the input group is approximately equal to its correspondent element in motion.
◆ magnitude()
- Returns
- the linear motion magnitude for the current 3 group
◆ magnitudeSquared()
- Returns
- the square of the linear motion magnitude for the current 3 group
◆ operator!=()
- Parameters
-
motion | the linear motion group to be tested |
- Returns
- true if the current linear motion 3 group is not identical to the input 3 group motion.
◆ operator*()
Standard arithmetic operators extended to interval groups.
- Note
- Multiplication and division operators by their nature do not preserve time ordering and so the return value is an IntervalND instead of a LinearMotionND
◆ operator+()
Standard arithmetic operators extended to 3 interval groups
◆ operator+=()
Standard arithmetic operators extended to 3 interval groups
◆ operator-()
Standard arithmetic operators extended to 3 interval groups
◆ operator-=()
Standard arithmetic operators extended to 3 interval groups
◆ operator/()
Standard arithmetic operators extended to interval groups.
- Note
- Multiplication and division operators by their nature do not preserve time ordering and so the return value is an IntervalND instead of a LinearMotionND
- Exceptions
-
if | any component of interval includes 0 |
◆ operator=() [1/2]
Assignment operator.
- Parameters
-
motion | Linear motion 3 group to be copied |
◆ operator=() [2/2]
Move assignment operator.
- Parameters
-
motion | Linear motion 3 group to be moved |
◆ operator==()
- Parameters
-
motion | the linear motion group to be tested |
- Returns
- true if the current linear motion 3 group is identical to the input 3 group motion
◆ secondHalf()
- Returns
- the linear motion 3D from the midpoint to the start
◆ toInterval()
◆ m_motion
The 3 dimensional group of linear motions.
The documentation for this class was generated from the following files: