mantaflow  0.10
A framework for fluid simulation
Public Member Functions | Public Attributes | Static Public Attributes | List of all members
Manta::Vector4D< S > Class Template Reference

Basic inlined vector class. More...

#include <vector4d.h>

Public Member Functions

 Vector4D ()
 Constructor.
 
 Vector4D (const Vector4D< S > &v)
 Copy-Constructor.
 
 Vector4D (const float *v)
 Copy-Constructor.
 
 Vector4D (const double *v)
 Copy-Constructor.
 
 Vector4D (S v)
 Construct a vector from one S.
 
 Vector4D (S vx, S vy, S vz, S vw)
 Construct a vector from three Ss.
 
const Vector4D< S > & operator= (const Vector4D< S > &v)
 Assignment operator.
 
const Vector4D< S > & operator= (S s)
 Assignment operator.
 
const Vector4D< S > & operator+= (const Vector4D< S > &v)
 Assign and add operator.
 
const Vector4D< S > & operator+= (S s)
 Assign and add operator.
 
const Vector4D< S > & operator-= (const Vector4D< S > &v)
 Assign and sub operator.
 
const Vector4D< S > & operator-= (S s)
 Assign and sub operator.
 
const Vector4D< S > & operator*= (const Vector4D< S > &v)
 Assign and mult operator.
 
const Vector4D< S > & operator*= (S s)
 Assign and mult operator.
 
const Vector4D< S > & operator/= (const Vector4D< S > &v)
 Assign and div operator.
 
const Vector4D< S > & operator/= (S s)
 Assign and div operator.
 
Vector4D< S > operator- () const
 Negation operator.
 
bool empty ()
 Get smallest component. More...
 
S & operator[] (unsigned int i)
 access operator
 
const S & operator[] (unsigned int i) const
 constant access operator
 
std::string toString () const
 debug output vector to a string More...
 
bool isValid () const
 test if nans are present
 
template<>
const Vector4D< int > Zero (0, 0, 0, 0)
 
template<>
const Vector4D< float > Zero (0.f, 0.f, 0.f, 0.f)
 
template<>
const Vector4D< double > Zero (0., 0., 0., 0.)
 
template<>
const Vector4D< float > Invalid (numeric_limits< float >::quiet_NaN(), numeric_limits< float >::quiet_NaN(), numeric_limits< float >::quiet_NaN(), numeric_limits< float >::quiet_NaN())
 
template<>
const Vector4D< double > Invalid (numeric_limits< double >::quiet_NaN(), numeric_limits< double >::quiet_NaN(), numeric_limits< double >::quiet_NaN(), numeric_limits< double >::quiet_NaN())
 
template<>
bool isValid () const
 
template<>
bool isValid () const
 
template<>
std::string toString () const
 Specialization for readable ints.
 
template<>
std::string toString () const
 

Public Attributes

union {
   S   value [4]
 
   struct {
      S   x
 
      S   y
 
      S   z
 
      S   t
 
   } 
 
   struct {
      S   X
 
      S   Y
 
      S   Z
 
      S   T
 
   } 
 
}; 
 actual values
 

Static Public Attributes

static const Vector4D< S > Zero
 
static const Vector4D< S > Invalid
 

Detailed Description

template<class S>
class Manta::Vector4D< S >

Basic inlined vector class.

Member Function Documentation

◆ empty()

template<class S>
bool Manta::Vector4D< S >::empty ( )
inline

Get smallest component.

Get biggest component Test if all components are zero

◆ toString()

template<class S >
std::string Manta::Vector4D< S >::toString ( ) const

debug output vector to a string

Outputs the object in human readable form as string.


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