|
| UnitRow () |
|
| UnitRow (const UnitRow &u) |
| Copy constructor does not require normalization. More...
|
|
template<int S2> |
| UnitRow (const UnitRow< P, S2 > &u) |
| Implicit conversion from UnitRow with different stride; no normalization required. More...
|
|
UnitRow & | operator= (const UnitRow &u) |
| Copy assignment does not require normalization. More...
|
|
template<int S2> |
UnitRow & | operator= (const UnitRow< P, S2 > &u) |
| Copy assignment from UnitRow with different stride; no computation needed. More...
|
|
| UnitRow (const BaseRow &v) |
| Explicit conversion from Row to UnitRow, requiring expensive normalization. More...
|
|
template<int S2> |
| UnitRow (const Row< 3, P, S2 > &v) |
| Explicit conversion from Row of any stride to UnitRow, requiring expensive normalization. More...
|
|
| UnitRow (const RealP &x, const RealP &y, const RealP &z) |
| Create a unit row from explicitly specified measure numbers (x,y,z); requires expensive normalization. More...
|
|
| UnitRow (int axis) |
| Create a unit axis vector 100 010 001 given 0, 1, or 2. More...
|
|
const BaseRow & | asRow3 () const |
| Return a const reference to the Row3 underlying this UnitRow. More...
|
|
UnitRow< P, 1 > | negate () const |
| Returns a new unit vector pointing in the opposite direction from this one; does not modify this UnitVec object. More...
|
|
UnitRow< P, 1 > | operator- () const |
| Returns a new unit vector pointing in the opposite direction from this one. More...
|
|
const TransposeType & | operator~ () const |
| Return a const reference to this UnitRow reinterpreted as a UnitVec; no computation requires since this is just a type cast. More...
|
|
TransposeType & | operator~ () |
| Return a writable reference to this UnitRow reinterpreted as a UnitVec; no computation requires since this is just a type cast. More...
|
|
const RealP & | operator[] (int i) const |
| Return one element of this unit row as a const reference; there is no corresponding writable index function since changing a single element of a unit vector would violate the contract that it has unit length at all times. More...
|
|
const RealP & | operator() (int i) const |
| Return one element of this unit row as a const reference; there is no corresponding writable index function since changing a single element of a unit vector would violate the contract that it has unit length at all times. More...
|
|
UnitRow< P, 1 > | abs () const |
| Return a new UnitRow whose measure numbers are the absolute values of the ones here. More...
|
|
UnitRow< P, 1 > | perp () const |
| Return a new UnitRow perpendicular to this one but otherwise arbitrary. More...
|
|
| UnitRow (const BaseRow &v, bool) |
| (Advanced) This constructor is only for our friends whom we trust to give us an already-normalized vector which we simply accept as normalized without checking. More...
|
|
template<int S2> |
| UnitRow (const Row< 3, P, S2 > &v, bool) |
| (Advanced) This constructor is only for our friends whom we trust to give us an already-normalized vector which we simply accept as normalized without checking (this version accepts an input vector of any stride). More...
|
|
ScalarNormSq | scalarNormSqr () const |
|
TSqrt | sqrt () const |
|
TAbs | abs () const |
|
TStandard | standardize () const |
|
EStandard | sum () const |
|
| Row () |
|
| Row (const Row &src) |
|
| Row (const Row< N, E, SS > &src) |
|
| Row (const Row< N, ENeg, SS > &src) |
|
| Row (const Row< N, EE, SS > &vv) |
|
| Row (const E &e) |
|
| Row (const ENeg &ne) |
|
| Row (int i) |
|
| Row (const E &e0, const E &e1) |
|
| Row (const E &e0, const E &e1, const E &e2) |
|
| Row (const E &e0, const E &e1, const E &e2, const E &e3) |
|
| Row (const E &e0, const E &e1, const E &e2, const E &e3, const E &e4) |
|
| Row (const E &e0, const E &e1, const E &e2, const E &e3, const E &e4, const E &e5) |
|
| Row (const E &e0, const E &e1, const E &e2, const E &e3, const E &e4, const E &e5, const E &e6) |
|
| Row (const E &e0, const E &e1, const E &e2, const E &e3, const E &e4, const E &e5, const E &e6, const E &e7) |
|
| Row (const E &e0, const E &e1, const E &e2, const E &e3, const E &e4, const E &e5, const E &e6, const E &e7, const E &e8) |
|
| Row (const EE *p) |
|
Row & | operator= (const Row &src) |
|
Row & | operator= (const EE *p) |
|
Row & | operator= (const Row< N, EE, SS > &vv) |
|
Row & | operator= (const EE &e) |
|
Row & | operator+= (const Row< N, EE, SS > &r) |
|
Row & | operator+= (const Row< N, negator< EE >, SS > &r) |
|
Row & | operator+= (const EE &e) |
|
Row & | operator-= (const Row< N, EE, SS > &r) |
|
Row & | operator-= (const Row< N, negator< EE >, SS > &r) |
|
Row & | operator-= (const EE &e) |
|
Row< N, typename CNT< E >::template Result< EE >::Add > | conformingAdd (const Row< N, EE, SS > &r) const |
| Vector addition – use operator+ instead. More...
|
|
Row< N, typename CNT< E >::template Result< EE >::Sub > | conformingSubtract (const Row< N, EE, SS > &r) const |
| Vector subtraction – use operator- instead. More...
|
|
CNT< E >::template Result< EE >::Mul | conformingMultiply (const Vec< N, EE, SS > &r) const |
| Same as dot product (s = row*col) – use operator* or dot() instead. More...
|
|
Row< MatNCol, typename CNT< E >::template Result< EE >::Mul > | conformingMultiply (const Mat< N, MatNCol, EE, CS, RS > &m) const |
| Row times a conforming matrix, row=row*mat – use operator* instead. More...
|
|
Row< N, typename CNT< E >::template Result< EE >::Mul > | elementwiseMultiply (const Row< N, EE, SS > &r) const |
| Elementwise multiply (Matlab . More...
|
|
Row< N, typename CNT< E >::template Result< EE >::Dvd > | elementwiseDivide (const Row< N, EE, SS > &r) const |
| Elementwise divide (Matlab . More...
|
|
const E & | operator[] (int i) const |
|
E & | operator[] (int i) |
|
const E & | operator() (int i) const |
|
E & | operator() (int i) |
|
ScalarNormSq | normSqr () const |
|
CNT< ScalarNormSq >::TSqrt | norm () const |
|
TNormalize | normalize () const |
|
TInvert | invert () const |
|
const Row & | operator+ () const |
|
const TNeg & | operator- () const |
|
TNeg & | operator- () |
|
const THerm & | operator~ () const |
|
THerm & | operator~ () |
|
const TNeg & | negate () const |
|
TNeg & | updNegate () |
|
const THerm & | transpose () const |
|
THerm & | updTranspose () |
|
const TPosTrans & | positionalTranspose () const |
|
TPosTrans & | updPositionalTranspose () |
|
const TReal & | real () const |
|
TReal & | real () |
|
const TImag & | imag () const |
|
TImag & | imag () |
|
const TWithoutNegator & | castAwayNegatorIfAny () const |
|
TWithoutNegator & | updCastAwayNegatorIfAny () |
|
Row< N, typename CNT< E >::template Result< EE >::Mul > | scalarMultiply (const EE &e) const |
|
Row< N, typename CNT< EE >::template Result< E >::Mul > | scalarMultiplyFromLeft (const EE &e) const |
|
Row< N, typename CNT< E >::template Result< EE >::Dvd > | scalarDivide (const EE &e) const |
|
Row< N, typename CNT< EE >::template Result< E >::Dvd > | scalarDivideFromLeft (const EE &e) const |
|
Row< N, typename CNT< E >::template Result< EE >::Add > | scalarAdd (const EE &e) const |
|
Row< N, typename CNT< E >::template Result< EE >::Sub > | scalarSubtract (const EE &e) const |
|
Row< N, typename CNT< EE >::template Result< E >::Sub > | scalarSubtractFromLeft (const EE &e) const |
|
Row & | operator*= (const EE &e) |
|
Row & | operator/= (const EE &e) |
|
Row & | scalarEq (const EE &ee) |
|
Row & | scalarEq (int ee) |
|
Row & | scalarPlusEq (const EE &ee) |
|
Row & | scalarPlusEq (int ee) |
|
Row & | scalarMinusEq (const EE &ee) |
|
Row & | scalarMinusEq (int ee) |
|
Row & | scalarMinusEqFromLeft (const EE &ee) |
|
Row & | scalarMinusEqFromLeft (int ee) |
|
Row & | scalarTimesEq (const EE &ee) |
|
Row & | scalarTimesEq (int ee) |
|
Row & | scalarTimesEqFromLeft (const EE &ee) |
|
Row & | scalarTimesEqFromLeft (int ee) |
|
Row & | scalarDivideEq (const EE &ee) |
|
Row & | scalarDivideEq (int ee) |
|
Row & | scalarDivideEqFromLeft (const EE &ee) |
|
Row & | scalarDivideEqFromLeft (int ee) |
|
void | setToNaN () |
| Set every scalar in this Row to NaN; this is the default initial value in Debug builds, but not in Release. More...
|
|
void | setToZero () |
| Set every scalar in this Row to zero. More...
|
|
const Row< NN, P, STRIDE > & | getSubRow (int j) const |
| Extract a const reference to a sub-Row with size known at compile time. More...
|
|
Row< NN, P, STRIDE > & | updSubRow (int j) |
| Extract a writable reference to a sub-Row with size known at compile time. More...
|
|
Row< N-1, P, 1 > | drop1 (int p) const |
| Return a row one smaller than this one by dropping the element at the indicated position p. More...
|
|
Row< N+1, P, 1 > | append1 (const EE &v) const |
| Return a row one larger than this one by adding an element to the end. More...
|
|
Row< N+1, P, 1 > | insert1 (int p, const EE &v) const |
| Return a row one larger than this one by inserting an element before the indicated one. More...
|
|
bool | isNaN () const |
| Return true if any element of this Row contains a NaN anywhere. More...
|
|
bool | isInf () const |
| Return true if any element of this Row contains a +Infinity or -Infinity somewhere but no element contains a NaN anywhere. More...
|
|
bool | isFinite () const |
| Return true if no element of this Row contains an Infinity or a NaN anywhere. More...
|
|
bool | isNumericallyEqual (const Row< N, E2, CS2 > &r, double tol) const |
| Test whether this row is numerically equal to some other row with the same shape, using a specified tolerance. More...
|
|
bool | isNumericallyEqual (const Row< N, E2, CS2 > &r) const |
| Test whether this row vector is numerically equal to some other row with the same shape, using a default tolerance which is the looser of the default tolerances of the two objects being compared. More...
|
|
bool | isNumericallyEqual (const P &e, double tol=getDefaultTolerance()) const |
| Test whether every element of this row vector is numerically equal to the given element, using either a specified tolerance or the row's default tolerance (which is always the same or looser than the default tolerance for one of its elements). More...
|
|
template<class P, int S>
class SimTK::UnitRow< P, S >
This type is used for the transpose of UnitVec, and as the returned row type of a Rotation.
Don't construct these directly.