Go to the documentation of this file.
23 pFlow::dot(
const triple<T>& oprnd1,
const triple<T>& oprnd2)
25 return oprnd1.x_ * oprnd2.x_ + oprnd1.y_ * oprnd2.y_ +
26 oprnd1.z_ * oprnd2.z_;
34 v1.y_ * v2.z_ - v1.z_ * v2.y_,
35 v1.z_ * v2.x_ - v1.x_ * v2.z_,
36 v1.x_ * v2.y_ - v1.y_ * v2.x_
73 oprnd1.
x_ + oprnd2.
x_, oprnd1.
y_ + oprnd2.
y_, oprnd1.
z_ + oprnd2.
z_
82 oprnd1.x_ + oprnd2, oprnd1.y_ + oprnd2, oprnd1.z_ + oprnd2
91 oprnd1 + oprnd2.x_, oprnd1 + oprnd2.y_, oprnd1 + oprnd2.z_
100 oprnd1.x_ - oprnd2.x_, oprnd1.y_ - oprnd2.y_, oprnd1.z_ - oprnd2.z_
109 oprnd1.x_ - oprnd2, oprnd1.y_ - oprnd2, oprnd1.z_ - oprnd2
118 oprnd1 - oprnd2.x_, oprnd1 - oprnd2.y_, oprnd1 - oprnd2.z_
127 oprnd1.x_ * oprnd2.x_, oprnd1.y_ * oprnd2.y_, oprnd1.z_ * oprnd2.z_
136 oprnd1.x_ * oprnd2, oprnd1.y_ * oprnd2, oprnd1.z_ * oprnd2
145 oprnd1 * oprnd2.x_, oprnd1 * oprnd2.y_, oprnd1 * oprnd2.z_
154 oprnd1.x_ / oprnd2.x_, oprnd1.y_ / oprnd2.y_, oprnd1.z_ / oprnd2.z_
163 oprnd1.x_ / oprnd2, oprnd1.y_ / oprnd2, oprnd1.z_ / oprnd2
172 oprnd1 / oprnd2.x_, oprnd1 / oprnd2.y_, oprnd1 / oprnd2.z_
180 this->x_ = this->x_ + oprnd2.
x_;
181 this->y_ = this->y_ + oprnd2.
y_;
182 this->z_ = this->z_ + oprnd2.
z_;
189 this->x_ = this->x_ - oprnd2.
x_;
190 this->y_ = this->y_ - oprnd2.
y_;
191 this->z_ = this->z_ - oprnd2.
z_;
198 this->x_ = this->x_ * oprnd2.
x_;
199 this->y_ = this->y_ * oprnd2.
y_;
200 this->z_ = this->z_ * oprnd2.
z_;
207 this->x_ = this->x_ / oprnd2.
x_;
208 this->y_ = this->y_ / oprnd2.
y_;
209 this->z_ = this->z_ / oprnd2.
z_;
216 return triple<T>(-this->x_, -this->y_, -this->z_);
230 return equal(opr1, opr2);
237 if (opr1.x_ < opr2.x_ && opr1.y_ < opr2.y_ && opr1.z_ < opr2.z_)
251 if (opr1.x_ > opr2.x_ && opr1.y_ > opr2.y_ && opr1.z_ > opr2.z_)
265 if (opr1.x_ <= opr2.x_ && opr1.y_ <= opr2.y_ && opr1.z_ <= opr2.z_)
279 if (opr1.x_ >= opr2.x_ && opr1.y_ >= opr2.y_ && opr1.z_ >= opr2.z_)
293 str << token::BEGIN_LIST << ov.x_ << token::SPACE << ov.y_ << token::SPACE
294 << ov.z_ << token::END_LIST;
311 str.readEnd(
"triple<T>");
322 str.readBegin(
"triple<T>");
334 str.readEnd(
"triple<T>");
INLINE_FUNCTION_HD triple< T > normalize(const triple< T > &v1)
bool readBegin(const char *funcName)
Begin read of data chunk, starts with '('.
INLINE_FUNCTION_HD void operator+=(const triple &oprnd2)
const real verySmallValue
INLINE_FUNCTION_HD void operator*=(const triple &oprnd2)
Vector< T, Allocator > sqrt(const Vector< T, Allocator > &v)
INLINE_FUNCTION_H Type max(const Type *first, uint32 numElems)
INLINE_FUNCTION_HD bool equal(const box &b1, const box &b2, real tol=smallValue)
INLINE_FUNCTION_HD bool operator==(const box &b1, const box &b2)
fileSystem operator/(const fileSystem &fs1, const fileSystem &fs2)
INLINE_FUNCTION_HD bool operator<(const triple< T > &opr1, const triple< T > &opr2)
array2D< T, nRow, nCol > operator-(const array2D< T, nRow, nCol > &arr1, const array2D< T, nRow, nCol > &arr2)
INLINE_FUNCTION_HD bool operator<=(const triple< T > &opr1, const triple< T > &opr2)
INLINE_FUNCTION_HD T & y()
access component
virtual bool check(const char *operation) const
Check IOstream status for given operation.
INLINE_FUNCTION_HD T dot(const quadruple< T > &oprnd1, const quadruple< T > &oprnd2)
INLINE_FUNCTION_HD triple< T > cross(const triple< T > &v1, const triple< T > &v2)
Interface class for any input stream
INLINE_FUNCTION_HD T length(const triple< T > &v1)
INLINE_FUNCTION_HD triple operator-() const
unary negate operator
INLINE_FUNCTION iIstream & operator>>(iIstream &str, AB3History &ab3)
INLINE_FUNCTION_HD void operator-=(const triple &oprnd2)
INLINE_FUNCTION_HD void normalize()
Normalize the vector.
INLINE_FUNCTION iOstream & operator<<(iOstream &str, const AB3History &ab3)
INLINE_FUNCTION_H void readIstream(iIstream &str, quadruple< T > &iv)
INLINE_FUNCTION_HD T & z()
access component
INLINE_FUNCTION_HD bool operator>(const triple< T > &opr1, const triple< T > &opr2)
array2D< T, nRow, nCol > operator*(const array2D< T, nRow, nCol > &arr1, const array2D< T, nRow, nCol > &arr2)
INLINE_FUNCTION_HD bool operator>=(const triple< T > &opr1, const triple< T > &opr2)
INLINE_FUNCTION_HD T & x()
access component
#define INLINE_FUNCTION_HD
A set of 3 variables that can be used for vector variables.
Interface class for any output stream.
INLINE_FUNCTION_HD triple operator+() const
unary plus operator
INLINE_FUNCTION_HD void operator/=(const triple &oprnd2)
message operator+(message::EVENT evnt1, message::EVENT evnt2)
INLINE_FUNCTION_HD T length() const
Length of the vector.