Itasca C++ Interface
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Static Public Attributes | Related Symbols | List of all members
Vector3< T > Class Template Reference

3D vector utility class. More...

#include <vect.h>

Inheritance diagram for Vector3< T >:
AVector3< T > Vector< T > AVector< T >

Public Types

using CompType = T
 

Public Member Functions

 Vector3 ()
 Default constructor - no data initialization.
 
constexpr Vector3 (const Vector3< T > &v)
 Copy constructor.
 
constexpr Vector3 (const T &x, const T &y, const T &z=0)
 Explicit constructor, by the three components of the vector.
 
constexpr Vector3 (const T &t)
 Explicit constructor, all three components are inintialized to t.
 
constexpr const Vector3< T > & operator= (const Vector3< T > &in)
 
constexpr const T & x () const
 The x-component of the vector.
 
constexpr const T & y () const
 The y-component of the vector.
 
constexpr const T & z () const
 The z-component of the vector.
 
constexpr const T & dof (unsigned u) const
 The degree-of-freedom u (0-2) component.
 
T & rx ()
 Reference access to the x-component of the vector.
 
T & ry ()
 Reference access to the y-component of the vector.
 
T & rz ()
 Reference access to the z-component of the vector.
 
T & rdof (unsigned u)
 Reference access to degree-of-freedom u (0-2) of the vector.
 
constexpr const T & operator[] (unsigned u) const
 Allows array like access to degrees-of-freedom.
 
T & operator[] (unsigned u)
 Allows array like access to degrees-of-freedom.
 
template<std::size_t N>
constexpr T get () const
 
constexpr T fsum () const
 Manhattan norm.
 
constexpr T sum () const
 Sum of components.
 
constexpr T mag2 () const
 Square of the magnitude, or the vector dotted with itself.
 
constexpr T mag () const
 The vector magnitude.
 
constexpr T volume () const
 Volume of region represented by x*y*z - can be negative.
 
Vector3< T > unit () const
 Unit vector - be sure vector is nonzero.
 
constexpr Vector3< T > abs () const
 Returns vector of absolute values of components.
 
void fill (const T &d)
 Fills all three components with value d.
 
constexpr T maxComp () const
 Returns the maximum component.
 
constexpr T minComp () const
 Returns the minimum component.
 
constexpr unsigned maxCompIndex () const
 Returns the max component index.
 
constexpr unsigned minCompIndex () const
 Returns the min component index.
 
constexpr const Vector3< T > & safeDivE (const Vector3< T > &v)
 "Safe" division operation - checks for zero and overflow.
 
constexpr const Vector3< T > safeDiv (const Vector3< T > &v)
 "Safe" division operation - checks for zero and overflow.
 
constexpr bool operator== (const Vector3< T > &v) const
 Comparison operator - no tolerance is used.
 
constexpr bool operator!= (const Vector3< T > &v) const
 Comparison operator - no tolerance is used.
 
constexpr bool operator< (const Vector3< T > &v) const
 Comparison operator, compare each DOF in order.
 
constexpr bool operator> (const Vector3< T > &v) const
 Comparison operator, compare each DOF in order.
 
constexpr const Vector3< T > & operator+= (const Vector3< T > &v)
 In-place mathematical operators – * and / are done on a component basis.
 
constexpr const Vector3< T > & operator-= (const Vector3< T > &v)
 In-place mathematical operators – * and / are done on a component basis.
 
constexpr const Vector3< T > & operator*= (const Vector3< T > &v)
 In-place mathematical operators – * and / are done on a component basis.
 
constexpr const Vector3< T > & operator*= (const T &t)
 In-place mathematical operators – * and / are done on a component basis.
 
constexpr const Vector3< T > & operator/= (const Vector3< T > &v)
 In-place mathematical operators – * and / are done on a component basis.
 
constexpr const Vector3< T > & operator/= (const T &t)
 In-place mathematical operators – * and / are done on a component basis.
 
constexpr Vector3< T > operator+ (const Vector3< T > &v) const
 Binary mathematical operators – * and / are done on a component basis.
 
constexpr Vector3< T > operator- (const Vector3< T > &v) const
 Binary mathematical operators – * and / are done on a component basis.
 
constexpr Vector3< T > operator* (const Vector3< T > &v) const
 Binary mathematical operators – * and / are done on a component basis.
 
constexpr Vector3< T > operator* (const T &t) const
 Binary mathematical operators – * and / are done on a component basis.
 
constexpr Vector3< T > operator/ (const Vector3< T > &v) const
 Binary mathematical operators – * and / are done on a component basis.
 
constexpr Vector3< T > operator/ (const T &t) const
 Binary mathematical operators – * and / are done on a component basis.
 
constexpr Vector3< T > operator& (const Vector3< T > &v) const
 Cross Product.
 
constexpr T operator| (const Vector3< T > &v) const
 Dot Product.
 

Static Public Attributes

static constexpr uint32 vdim = 3
 

Related Symbols

(Note that these are not member symbols.)

typedef Vector3< double > DVect3
 
typedef Vector3< float > FVect3
 
typedef Vector3< int32 > IVect3
 
typedef Vector3< uint32 > UVect3
 
typedef Vector3< int64 > I64Vect3
 
typedef Vector3< uint64 > U64Vect3
 
template<class T >
constexpr DVect3 toDVect3 (const Vector3< T > &v)
 
template<class T >
constexpr FVect3 toFVect3 (const Vector3< T > &v)
 
template<class T >
constexpr IVect3 toIVect3 (const Vector3< T > &v)
 
template<class T >
constexpr U64Vect3 toU64Vect3 (const Vector3< T > &v)
 
template<class T >
constexpr Vector3< T > vmax (const Vector3< T > &v1, const Vector3< T > &v2)
 
template<class T >
constexpr Vector3< T > vmin (const Vector3< T > &v1, const Vector3< T > &v2)
 
template<class T >
constexpr Vector3< T > vsign (const Vector3< T > &v1, const Vector3< T > &v2)
 
template<class T >
Vector3< T > vceil (const Vector3< T > &v)
 
template<class T >
Vector3< T > vfloor (const Vector3< T > &v)
 
template<class T >
IVect3 constexpr vround (const Vector3< T > &v)
 

Detailed Description

template<class T>
class Vector3< T >

3D vector utility class.

Member Function Documentation

◆ operator*() [1/2]

template<class T >
constexpr Vector3< T > Vector3< T >::operator* ( const T & t) const
inlineconstexpr

Binary mathematical operators – * and / are done on a component basis.

◆ operator*() [2/2]

template<class T >
constexpr Vector3< T > Vector3< T >::operator* ( const Vector3< T > & v) const
inlineconstexpr

Binary mathematical operators – * and / are done on a component basis.

◆ operator*=() [1/2]

template<class T >
constexpr const Vector3< T > & Vector3< T >::operator*= ( const T & t)
inlineconstexpr

In-place mathematical operators – * and / are done on a component basis.

◆ operator*=() [2/2]

template<class T >
constexpr const Vector3< T > & Vector3< T >::operator*= ( const Vector3< T > & v)
inlineconstexpr

In-place mathematical operators – * and / are done on a component basis.

◆ operator-()

template<class T >
constexpr Vector3< T > Vector3< T >::operator- ( const Vector3< T > & v) const
inlineconstexpr

Binary mathematical operators – * and / are done on a component basis.

◆ operator-=()

template<class T >
constexpr const Vector3< T > & Vector3< T >::operator-= ( const Vector3< T > & v)
inlineconstexpr

In-place mathematical operators – * and / are done on a component basis.

◆ operator/() [1/2]

template<class T >
constexpr Vector3< T > Vector3< T >::operator/ ( const T & t) const
inlineconstexpr

Binary mathematical operators – * and / are done on a component basis.

◆ operator/() [2/2]

template<class T >
constexpr Vector3< T > Vector3< T >::operator/ ( const Vector3< T > & v) const
inlineconstexpr

Binary mathematical operators – * and / are done on a component basis.

◆ operator/=() [1/2]

template<class T >
constexpr const Vector3< T > & Vector3< T >::operator/= ( const T & t)
inlineconstexpr

In-place mathematical operators – * and / are done on a component basis.

◆ operator/=() [2/2]

template<class T >
constexpr const Vector3< T > & Vector3< T >::operator/= ( const Vector3< T > & v)
inlineconstexpr

In-place mathematical operators – * and / are done on a component basis.


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