56template<
class T>
class List;
103 template<
class Cmpt2>
107 inline Vector(
const Cmpt& vx,
const Cmpt& vy,
const Cmpt& vz);
145 inline scalar
mag()
const;
148 inline scalar
magSqr()
const;
207 template<
class Cmpt2>
208 std::enable_if_t<std::is_convertible_v<Cmpt2, Cmpt>,
void>
217 template<
class Cmpt2>
218 std::enable_if_t<std::is_convertible_v<Cmpt2, Cmpt>,
void>
262class typeOfSolve<Vector<Cmpt>>
266 typedef Vector<solveScalar>
type;
An Istream is an abstract base class for all input systems (streams, files, token lists etc)....
A 1D array of objects of type <T>, where the size of the vector is known and used for subscript bound...
A 1D vector of objects of type <T>, where the size of the vector is known and can be used for subscri...
VectorSpace< Form, Cmpt, Ncmpts > vsType
VectorSpace type.
Cmpt v_[Ncmpts]
The components of this vector space.
friend Ostream & operator(Ostream &, const VectorSpace< Form, Cmpt, Ncmpts > &)
Templated 3D Vector derived from VectorSpace adding construction from 3 components,...
static bool less_xyz(const Vector< vector > &a, const Vector< vector > &b)
Cmpt & y() noexcept
Access to the vector y component.
const Cmpt & x() const noexcept
Access to the vector x component.
Vector< label > labelType
Vector & operator=(const Vector &)=default
Copy assignment.
scalar dist(const Vector< vector > &v2) const
components
Component labeling enumeration.
Cmpt & z() noexcept
Access to the vector z component.
const Cmpt & z() const noexcept
Access to the vector z component.
vector inner(const Vector< vector > &v2) const
std::enable_if_t< std::is_convertible_v< Cmpt2, Cmpt >, void > operator-=(const Vector< Cmpt2 > &b)
Subtract compatible vector from this.
Vector< vector > cross(const Vector< vector > &v2) const
Cmpt & x() noexcept
Access to the vector x component.
Vector(Istream &is)
Construct from Istream.
static constexpr direction rank
Vector< vector > & normalise(const scalar tol=ROOTVSMALL)
std::enable_if_t< std::is_convertible_v< Cmpt2, Cmpt >, void > operator+=(const Vector< Cmpt2 > &b)
Add compatible vector to this.
const Vector< Cmpt > & centre(const Foam::UList< Vector< Cmpt > > &) const noexcept
Return this (for point which is a typedef to Vector<scalar>).
scalar distSqr(const Vector< vector > &v2) const
static bool less_zxy(const Vector< vector > &a, const Vector< vector > &b)
Vector(Foam::zero)
Construct initialized to zero.
Vector(const Vector &)=default
Copy construct.
Vector(const Cmpt &vx, const Cmpt &vy, const Cmpt &vz)
Construct from three components.
static bool less_yzx(const Vector< vector > &a, const Vector< vector > &b)
Vector()=default
Default construct.
const Cmpt & y() const noexcept
Access to the vector y component.
Vector(const VectorSpace< Vector< Cmpt2 >, Cmpt2, 3 > &vs)
Copy construct from VectorSpace of the same rank.
Vector< vector > & removeCollinear(const Vector< vector > &unitVec)
Vector< solveScalar > type
The extended precision type (solveScalar for float).
A class representing the concept of 0 (zero) that can be used to avoid manipulating objects known to ...
A template class to specify if a data type is composed solely of Foam::label elements.
A template class to specify if a data type is composed solely of Foam::scalar elements.
A template class to specify that a data type can be considered as being contiguous in memory.