Itasca C++ Interface
Loading...
Searching...
No Matches
Public Member Functions | List of all members
AVector< T > Class Template Reference

An AVector2 in 2D, an AVector3 in 3D. More...

#include <dim.h>

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

Public Member Functions

 AVector ()
 Default constructor, no data initialization.
 
 AVector (const AVector &av)
 Copy constructor.
 
 AVector (const AVector3< T > &av)
 Copy constructor.
 
- Public Member Functions inherited from AVector3< T >
 AVector3 (const Vector3< T > &v)
 
 AVector3 (const AVector3< T > &v)
 
 AVector3 (const AVector2< T > &v)
 Explicit conversion contructor from an AVector2, x=0, y=0, z=v.z.
 
constexpr const AVector3< T > & operator= (const AVector3< T > &v)
 
Vector2< T > toVector2 () const
 Converts to a Vector2, the z component is lost.
 
const Vector3< T > & toVector3 () const
 Converts to a Vector3 directly.
 
- Public Member Functions inherited from Vector3< T >
 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.
 

Additional Inherited Members

- Public Types inherited from Vector3< T >
using CompType = T
 
- Static Public Attributes inherited from Vector3< T >
static constexpr uint32 vdim = 3
 

Detailed Description

template<class T>
class AVector< T >

An AVector2 in 2D, an AVector3 in 3D.


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