37 #ifndef INCLUDED_IMATHSHEAR_H 38 #define INCLUDED_IMATHSHEAR_H 103 void setValue (S XY, S XZ, S YZ, S YX, S ZX, S ZY);
110 S &YX, S &ZX, S &ZY)
const;
227 std::ostream & operator << (std::ostream &s, const Shear6<T> &h);
271 xy = xz = yz = yx = zx = zy = 0;
438 return (
const T *) &xy;
446 return xy == h.
xy && xz == h.
xz && yz == h.
yz &&
447 yx == h.
yx && zx == h.
zx && zy == h.
zy;
455 return xy != h.
xy || xz != h.
xz || yz != h.
yz ||
456 yx != h.
yx || zx != h.
zx || zy != h.
zy;
463 for (
int i = 0; i < 6; i++)
474 for (
int i = 0; i < 6; i++)
500 yx + h.
yx, zx + h.
zx, zy + h.
zy);
521 yx - h.
yx, zx - h.
zx, zy - h.
zy);
528 return Shear6 (-xy, -xz, -yz, -yx, -zx, -zy);
575 yx * h.
yx, zx * h.
zx, zy * h.
zy);
582 return Shear6 (xy * a, xz * a, yz * a,
583 yx * a, zx * a, zy * a);
617 yx / h.
yx, zx / h.
zx, zy / h.
zy);
624 return Shear6 (xy / a, xz / a, yz / a,
625 yx / a, zx / a, zy / a);
635 operator << (std::ostream &s, const Shear6<T> &h)
638 << h.xy <<
' ' << h.xz <<
' ' << h.yz
639 << h.yx <<
' ' << h.zx <<
' ' << h.zy
648 template <
class S,
class T>
653 a * h.
yx, a * h.
zx, a * h.
zy);
Definition: ImathShear.h:59
T & operator[](int i)
Definition: ImathShear.h:255
T * getValue()
Definition: ImathShear.h:429
Shear6 operator+(const Shear6 &h) const
Definition: ImathShear.h:497
const Shear6 & operator+=(const Shear6 &h)
Definition: ImathShear.h:484
Definition: ImathFrame.h:42
bool operator!=(const Shear6< S > &h) const
Definition: ImathShear.h:453
Shear6< double > Shear6d
Definition: ImathShear.h:244
static T baseTypeEpsilon()
Definition: ImathShear.h:209
T xy
Definition: ImathShear.h:67
const Shear6 & operator*=(const Shear6 &h)
Definition: ImathShear.h:546
void setValue(S XY, S XZ, S YZ, S YX, S ZX, S ZY)
Definition: ImathShear.h:378
Shear6< float > Shear6f
Definition: ImathShear.h:243
Shear6()
Definition: ImathShear.h:269
const Shear6 & operator/=(const Shear6 &h)
Definition: ImathShear.h:588
Shear6 operator*(const Shear6 &h) const
Definition: ImathShear.h:572
Vec3< double > Shear3d
Definition: ImathShear.h:242
const Shear6 & operator-=(const Shear6 &h)
Definition: ImathShear.h:505
static unsigned int dimensions()
Definition: ImathShear.h:199
T xz
Definition: ImathShear.h:67
bool equalWithAbsError(const Shear6< T > &h, T e) const
Definition: ImathShear.h:461
T x
Definition: ImathVec.h:274
bool equalWithAbsError(T x1, T x2, T e)
Definition: ImathMath.h:191
T y
Definition: ImathVec.h:274
const Shear6 & negate()
Definition: ImathShear.h:533
bool equalWithRelError(const Shear6< T > &h, T e) const
Definition: ImathShear.h:472
T z
Definition: ImathVec.h:274
Vec3< float > Shear3f
Definition: ImathShear.h:241
bool equalWithRelError(T x1, T x2, T e)
Definition: ImathMath.h:199
Shear6 operator/(const Shear6 &h) const
Definition: ImathShear.h:614
const Shear6 & operator=(const Shear6 &h)
Definition: ImathShear.h:350
T zx
Definition: ImathShear.h:67
static T baseTypeSmallest()
Definition: ImathShear.h:208
static T baseTypeMin()
Definition: ImathShear.h:206
T yz
Definition: ImathShear.h:67
Definition: ImathBox.h:67
T zy
Definition: ImathShear.h:67
Color4< T > operator*(S a, const Color4< T > &v)
Definition: ImathColor.h:727
Shear6 operator-() const
Definition: ImathShear.h:526
bool operator==(const Shear6< S > &h) const
Definition: ImathShear.h:444
T BaseType
Definition: ImathShear.h:218
static T baseTypeMax()
Definition: ImathShear.h:207
T yx
Definition: ImathShear.h:67