Public Member Functions | Static Public Member Functions | Static Public Attributes | Friends | List of all members
triad Class Reference

Representation of a 3D Cartesian coordinate system as a Vector of row vectors. More...

Inheritance diagram for triad:
Inheritance graph
[legend]
Collaboration diagram for triad:
Collaboration graph
[legend]

Public Member Functions

 triad ()
 
 triad (const Vector< vector > &vv)
 
 triad (const vector &x, const vector &y, const vector &z)
 
 triad (const tensor &t)
 
 triad (const vector &pa)
 
 triad (const quaternion &q)
 
 triad (Istream &)
 
bool set (const direction d) const
 
bool set () const
 
void orthogonalize ()
 
void normalize ()
 
void align (const vector &v)
 
triad sortxyz () const
 
 operator quaternion () const
 
triad T () const
 
vector cx () const
 
vector cy () const
 
vector cz () const
 
void operator= (const Vector< vector > &vv)
 
void operator= (const tensor &t)
 
void operator+= (const triad &t2)
 
- Public Member Functions inherited from Vector< vector >
 Vector ()=default
 
 Vector (const Vector &)=default
 
 Vector (const Foam::zero)
 
 Vector (const VectorSpace< Vector< Cmpt2 >, Cmpt2, 3 > &vs)
 
 Vector (const vector &vx, const vector &vy, const vector &vz)
 
 Vector (Istream &is)
 
Vectoroperator= (const Vector &)=default
 
const vectorx () const
 
vectorx ()
 
const vectory () const
 
vectory ()
 
const vectorz () const
 
vectorz ()
 
Vector< vector > & normalise ()
 
const Vector< vector > & centre (const Foam::List< Vector< vector >> &) const
 
- Public Member Functions inherited from VectorSpace< Vector< vector >, vector, 3 >
 VectorSpace ()=default
 
 VectorSpace (const Foam::zero)
 
 VectorSpace (const VectorSpace< Form, Cmpt, Ncmpts > &vs)
 
 VectorSpace (const VectorSpace< Form2, Cmpt2, Ncmpts > &)
 
 VectorSpace (Istream &is)
 
const Cmpt & component (const direction) const
 
Cmpt & component (const direction)
 
void component (Cmpt &, const direction) const
 
void replace (const direction, const Cmpt &)
 
const Cmpt * cdata () const noexcept
 
Cmpt * data () noexcept
 
const ConstBlock< SubVector, BStart > block () const
 
const Foam::VectorSpace< Form, Cmpt, Ncmpts >::template ConstBlock< SubVector, BStart > block () const
 
const Cmpt & operator[] (const direction) const
 
Cmpt & operator[] (const direction)
 
void operator= (const VectorSpace< Form, Cmpt, Ncmpts > &)
 
void operator= (const Foam::zero)
 
void operator+= (const VectorSpace< Form, Cmpt, Ncmpts > &)
 
void operator-= (const VectorSpace< Form, Cmpt, Ncmpts > &)
 
void operator*= (const scalar)
 
void operator/= (const scalar)
 
iterator begin () noexcept
 
const_iterator begin () const noexcept
 
iterator end () noexcept
 
const_iterator end () const noexcept
 
const_iterator cbegin () const noexcept
 
const_iterator cend () const noexcept
 

Static Public Member Functions

static direction primaryDirection (const vector &v)
 
static vector orthogonal (const vector &v1, const vector &v2)
 
- Static Public Member Functions inherited from VectorSpace< Vector< vector >, vector, 3 >
static constexpr direction size () noexcept
 
static Form uniform (const Cmpt &s)
 

Static Public Attributes

static const triad I
 
static const triad unset
 
- Static Public Attributes inherited from Vector< vector >
static constexpr direction rank
 
- Static Public Attributes inherited from VectorSpace< Vector< vector >, vector, 3 >
static constexpr direction dim
 
static constexpr direction nComponents
 
static constexpr direction mRows
 
static constexpr direction nCols
 
static const char *const typeName
 
static const char *const componentNames []
 
static const Form zero
 
static const Form one
 
static const Form max
 
static const Form min
 
static const Form rootMax
 
static const Form rootMin
 

Friends

Istreamoperator>> (Istream &, triad &)
 
Ostreamoperator<< (Ostream &, const triad &)
 

Additional Inherited Members

- Public Types inherited from Vector< vector >
enum  components
 
typedef Vector< label > labelType
 
- Public Types inherited from VectorSpace< Vector< vector >, vector, 3 >
typedef VectorSpace< Form, Cmpt, Ncmpts > vsType
 
typedef Cmpt cmptType
 
typedef Cmpt magType
 
typedef Cmpt * iterator
 
- Public Attributes inherited from VectorSpace< Vector< vector >, vector, 3 >
const typedef Cmpt * const_iterator
 
Cmpt v_ [Ncmpts]
 

Detailed Description

Representation of a 3D Cartesian coordinate system as a Vector of row vectors.

See also
Foam::quaternion
Source files

Definition at line 60 of file triad.H.

Constructor & Destructor Documentation

◆ triad() [1/7]

triad ( )
inline

Definition at line 24 of file triadI.H.

◆ triad() [2/7]

triad ( const Vector< vector > &  vv)
inline

Definition at line 30 of file triadI.H.

◆ triad() [3/7]

triad ( const vector x,
const vector y,
const vector z 
)
inline

Definition at line 36 of file triadI.H.

◆ triad() [4/7]

triad ( const tensor t)
inline

Definition at line 42 of file triadI.H.

◆ triad() [5/7]

triad ( const vector pa)
inline

Definition at line 48 of file triadI.H.

References triad::unset.

◆ triad() [6/7]

triad ( const quaternion q)

Definition at line 84 of file triad.C.

References quaternion::R(), Tensor::T(), Vector< vector >::x(), Tensor::x(), Vector< vector >::y(), Tensor::y(), Vector< vector >::z(), and Tensor::z().

Here is the call graph for this function:

◆ triad() [7/7]

triad ( Istream is)
inline

Definition at line 55 of file triadI.H.

Member Function Documentation

◆ set() [1/2]

bool set ( const direction  d) const
inline

Definition at line 63 of file triadI.H.

Referenced by triSurfaceTools::curvatures(), Foam::diff(), and triad::operator+=().

Here is the caller graph for this function:

◆ set() [2/2]

bool set ( ) const
inline

Definition at line 69 of file triadI.H.

References Foam::BitOps::set().

Here is the call graph for this function:

◆ primaryDirection()

Foam::direction primaryDirection ( const vector v)
inlinestatic

Definition at line 75 of file triadI.H.

References Foam::mag(), Vector< vector >::X, Vector< Cmpt >::x(), Vector< vector >::Y, Vector< Cmpt >::y(), Vector< vector >::Z, and Vector< Cmpt >::z().

Here is the call graph for this function:

◆ orthogonal()

Foam::vector orthogonal ( const vector v1,
const vector v2 
)
inlinestatic

Definition at line 93 of file triadI.H.

References Foam::mag(), and triad::unset.

Here is the call graph for this function:

◆ orthogonalize()

void orthogonalize ( )

Definition at line 95 of file triad.C.

References Foam::mag(), and Foam::BitOps::set().

Here is the call graph for this function:

◆ normalize()

void normalize ( )
inline

Definition at line 113 of file triadI.H.

References Foam::mag(), and Foam::BitOps::set().

Referenced by triSurfaceTools::curvatures().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ align()

void align ( const vector v)

Definition at line 233 of file triad.C.

References Foam::mag(), R, Foam::rotationTensor(), Foam::BitOps::set(), Foam::transform(), Vector< Cmpt >::x(), Vector< Cmpt >::y(), and Vector< Cmpt >::z().

Here is the call graph for this function:

◆ sortxyz()

Foam::triad sortxyz ( ) const

Definition at line 278 of file triad.C.

References Foam::mag(), Foam::BitOps::set(), x, and y.

Here is the call graph for this function:

◆ operator quaternion()

operator quaternion ( ) const

◆ T()

Foam::triad T ( ) const
inline

Definition at line 139 of file triadI.H.

◆ cx()

Foam::vector cx ( ) const
inline

Definition at line 121 of file triadI.H.

References x, and y.

◆ cy()

Foam::vector cy ( ) const
inline

Definition at line 127 of file triadI.H.

References x, and y.

◆ cz()

Foam::vector cz ( ) const
inline

Definition at line 133 of file triadI.H.

References x, and y.

◆ operator=() [1/2]

void operator= ( const Vector< vector > &  vv)
inline

Definition at line 147 of file triadI.H.

References Vector< Cmpt >::operator=().

Here is the call graph for this function:

◆ operator=() [2/2]

void operator= ( const tensor t)
inline

Definition at line 153 of file triadI.H.

References x, Tensor::x(), y, Tensor::y(), and Tensor::z().

Here is the call graph for this function:

◆ operator+=()

void operator+= ( const triad t2)

Definition at line 170 of file triad.C.

References k, Foam::mag(), triad::set(), Foam::BitOps::set(), and Foam::sign().

Here is the call graph for this function:

Friends And Related Function Documentation

◆ operator>>

Istream& operator>> ( Istream ,
triad  
)
friend

◆ operator<<

Ostream& operator<< ( Ostream ,
const triad  
)
friend

Member Data Documentation

◆ I

const Foam::triad I
static

Definition at line 92 of file triad.H.

◆ unset

const Foam::triad unset
static

Definition at line 93 of file triad.H.

Referenced by triad::orthogonal(), triad::triad(), and triSurfaceTools::vertexTriads().


The documentation for this class was generated from the following files: