Itasca C++ Interface
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Modules Pages
Namespaces | Classes | Macros | Typedefs | Enumerations | Enumerator | Functions | Variables | Friends
Base interface specification

Namespaces

 AVector2Util
 2D Angular vector class.
 
 itasca
 namespace Itasca
 

Classes

class  AVector2< T >
 2D Angular vector class. More...
 
class  AVector3< T >
 3D Angular vector class. More...
 
class  Axes2D
 Class for specifying a particular 2D cartesian axes system, and converting to and from it. More...
 
class  Axes3D
 Class for specifying a particular 3D cartesian axes system, and converting to and from it. More...
 
struct  QStringCILess2
 
struct  QStringLocalLess2
 
struct  QStringCIEqual2
 
struct  QStringCIHash2
 
class  StringList
 
struct  StringCILess
 
struct  StringCIEqual
 
struct  StringCIHash
 
class  ItascaTextStream
 
class  CAxes2D
 Class for specifying a particular 2D cartesian axes system, and converting to and from it. More...
 
class  CAxes3D
 Class for specifying a particular 3D cartesian axes system, and converting to and from it. More...
 
class  Extent2< T >
 2D cartesian region in space. More...
 
class  Extent3< T >
 A Class representing a cartesian extent in 3D. More...
 
class  FArray< T, S >
 An array class that attempts to minimize unnecessary heap access. More...
 
class  FArray< T, 0 >
 Template specialization for S=0 - indication no stack space at all should be made. More...
 
class  limits< T >
 debug checked shorthand for std::numeric_limits<T>:: More...
 
class  Matrix< T, SX, SY >
 A template-based matrix class, size fixed at compile time. Defaults to symmetric sized matrix. More...
 
class  Matrix< T, SX, 1 >
 A specialization of the Matrix class for the case when SY=1. More...
 
class  SymMatrix< T, SX >
 A template-based symmetric matrix class, size fixed at compile time. This primitive template-based matrix class should be used where the matrix size is fixed at compile time. More...
 
class  innerLoopMS< T, SX, SY, I, J, K >
 
class  innerLoopMS< T, SX, SY, I, J, 1 >
 
class  loop2MultiplyMS< T, SX, SY, I, J >
 
class  loop2MultiplyMS< T, SX, SY, I, 1 >
 
class  loopMultiplyMS< T, SX, SY, I >
 
class  loopMultiplyMS< T, SX, SY, 1 >
 
class  VMatrix< T, S >
 A 1-Dimensional version of Matrix, to represent a vector. More...
 
class  DMatrix< SX, SY >
 DMatrix is a Matrix that defaults to type double... More...
 
class  DSymMatrix< SX >
 DSymMatrix is a SymMatrix that defaults to type double... More...
 
class  DVMatrix< S >
 DVMatrix is a double version of VMatrix. More...
 
class  Orientation2
 Class for storing an "orientation", or a direction in 2D or 3D space. More...
 
class  Orientation3
 Class for storing an "orientation", or a direction in 2D or 3D space. More...
 
class  SymTensor
 A symmetric 2nd order tensor. More...
 
class  SymTensorInfo
 SymTensor eigenvalue and direction helper class. More...
 
class  Variant
 A simpler (and slightly faster) version of a QVariant, added for interfaces that do not use Qt. More...
 
class  Variant::VUserType< void * >
 Template specialization for void pointers; this should probably never be used, except to determine the size of VUserType for type_selector. More...
 
class  Variant::VUserType< T >
 This is a helper class, designed to make it possible to allow user-defined types to be encoded in a Variant.
. More...
 
class  Vector2< T >
 2D vector utility class. More...
 
class  Vector3< T >
 3D vector utility class. More...
 

Macros

#define BASE_EXPORT   IMPORT_TAG
 
#define OS_CURRENT   1
 
#define OS_LINUX   2
 
#define OS_WINDOWS   1
 
#define FOR(x, y)   for (auto x=(y).begin();x!=(y).end();++x)
 
#define FMT_API   BASE_EXPORT
 
#define FMT_EXTERN_TEMPLATE_API   BASE_EXPORT
 
#define _PI_DEFINED
 Define pi and pi/180.
 

Typedefs

typedef AVector2< DoubleDAVect2
 
typedef AVector2< FloatFAVect2
 
typedef AVector2< IntIAVect2
 
typedef AVector2< UIntUAVect2
 
typedef AVector3< DoubleDAVect3
 
typedef AVector3< FloatFAVect3
 
typedef AVector3< IntIAVect3
 
typedef AVector3< UIntUAVect3
 
typedef wchar_t Char
 string character type, Unicode supporting.
 
typedef char Byte
 signed 8 bit
 
typedef unsigned char UByte
 unsigned 8 bit
 
typedef short Short
 signed 16 bit
 
typedef unsigned short UShort
 unsigned 16 bit
 
typedef int Int
 signed 32 bit
 
typedef unsigned int UInt
 unsigned 32 bit
 
typedef __int64 Long
 signed 64 bit
 
typedef unsigned __int64 ULong
 unsigned 64 bit
 
typedef float Float
 32 bit floating point
 
typedef double Double
 64 bit floating point
 
typedef unsigned int TType
 class type indicator
 
using char16 = char16_t
 
using char8 = char
 
using int8 = signed char
 
using uint8 = unsigned char
 
using int16 = short
 
using uint16 = unsigned short
 
using int32 = int
 
using uint32 = unsigned int
 
using int64 = Long
 
using uint64 = ULong
 
template<typename T >
using QStringMap = std::map< QString, T, QStringCILess2 >
 
template<typename T >
using QStringHashMap = std::unordered_map< QString, T, QStringCIHash2, QStringCIEqual2 >
 
using QStringSet = std::set< QString, QStringCILess2 >
 
using QStringHashSet = std::unordered_set< QString, QStringCIHash2, QStringCIEqual2 >
 
using wstring = std::wstring
 
using string = std::string
 
using String = std::wstring
 
template<typename T >
using StringMap = std::map< string, T, StringCILess >
 
template<typename T >
using StringHashMap = std::unordered_map< string, T, StringCIHash, StringCIEqual >
 
template<typename T >
using StringSet = std::set< string, T, StringCILess >
 
template<typename T >
using StringHashSet = std::unordered_set< string, T, StringCIHash, StringCIEqual >
 
typedef Extent2< DoubleDExtent2
 
typedef Extent2< FloatFExtent2
 
typedef Extent2< IntIExtent2
 
typedef Extent2< UIntUExtent2
 
typedef Extent3< DoubleDExtent3
 
typedef Extent3< FloatFExtent3
 
typedef Extent3< IntIExtent3
 
typedef Extent3< UIntUExtent3
 
typedef Vector2< DoubleDVect2
 
typedef Vector2< FloatFVect2
 
typedef Vector2< IntIVect2
 
typedef Vector2< UIntUVect2
 
typedef Vector2< LongLVect2
 
typedef Vector2< ULongULVect2
 
typedef Vector3< DoubleDVect3
 
typedef Vector3< FloatFVect3
 
typedef Vector3< IntIVect3
 
typedef Vector3< UIntUVect3
 
typedef Vector3< LongLVect3
 
typedef Vector3< ULongULVect3
 

Enumerations

enum  Variant::Type {
  Variant::ByteType =1, Variant::UByteType, Variant::ShortType, Variant::UShortType,
  Variant::IntType, Variant::UIntType, Variant::LongType, Variant::ULongType,
  Variant::FloatType, Variant::DoubleType, Variant::VoidType, Variant::BoolType,
  Variant::IVect2Type, Variant::DVect2Type, Variant::IVect3Type, Variant::DVect3Type,
  Variant::RawDataType, Variant::StringType =100, Variant::UserType
}
 Indicates the type of the variant. 18 types are predefined. More...
 

Functions

BASE_EXPORT QString toQString (const QString &s, int width=0, char fill=' ')
 Converts from a base type to a QString, using the width and fill character specified. More...
 
BASE_EXPORT QString toQString (const char *str, int width=0, char fill=' ')
 
BASE_EXPORT QString toQString (const qint8 &v, int width=0, char fill=' ')
 
BASE_EXPORT QString toQString (const quint8 &v, int width=0, char fill=' ')
 
BASE_EXPORT QString toQString (const qint16 &v, int width=0, char fill=' ')
 
BASE_EXPORT QString toQString (const quint16 &v, int width=0, char fill=' ')
 
BASE_EXPORT QString toQString (const qint32 &v, int width=0, char fill=' ')
 
BASE_EXPORT QString toQString (const quint32 &v, int width=0, char fill=' ')
 
BASE_EXPORT QString toQString (const qint64 &v, int width=0, char fill=' ')
 
BASE_EXPORT QString toQString (const quint64 &v, int width=0, char fill=' ')
 
BASE_EXPORT QString toQString (const String &v, int width, char fill=' ')
 
BASE_EXPORT QString toQString (const float &v, int width=0, char format='g', int precision=-1, char fill=' ')
 
BASE_EXPORT QString toQString (const double &v, int width=0, char format='g', int precision=-1, char fill=' ')
 
BASE_EXPORT QString toQString (const SymTensor &v, int width=0, char format='g', int precision=-1, char fill=' ')
 
BASE_EXPORT QString toQString (const QVariant &v, int width=0, char fill=' ', char format='g', int precision=-1)
 
BASE_EXPORT QString toQString (const void *v, int width=0, char fill=' ')
 Outputs a pointer in 0x0000 format.
 
BASE_EXPORT QString toQString (bool b, const QString &out="on,off", int width=0, char fill=' ')
 
template<class T >
QString toQStringT (const T &t, int width=0, char fill=' ', char format='g', int precision=-1)
 
template<>
QString toQStringT (const float &t, int width, char fill, char format, int precision)
 
template<>
QString toQStringT (const double &t, int width, char fill, char format, int precision)
 
template<>
QString toQStringT (const QVariant &t, int width, char fill, char format, int precision)
 
template<>
QString toQStringT (const bool &b, int width, char fill, char format, int precision)
 
template<class T >
QString toQString (const Vector2< T > &v, int width=0, char fmt='g', int prec=-1, char fill=' ')
 
template<class T >
QString toQString (const Vector3< T > &v, int width=0, char fmt='g', int prec=-1, char fill=' ')
 
template<class T >
QString toQString (const AVector2< T > &v, int width=0, char fmt='g', int prec=-1, char fill=' ')
 
template<class T >
QString toQString (const AVector3< T > &v, int width=0, char fmt='g', int prec=-1, char fill=' ')
 
BASE_EXPORT QString clip (const QString &in, int length)
 
BASE_EXPORT bool match (const QString &keyword, const QString &token)
 Performs "itasca match" of this string (as keyword) to token. More...
 
BASE_EXPORT void matchSynonymsAllowed (bool b)
 
BASE_EXPORT QString build (const QString &s, const QVariant &v1=QVariant(), const QVariant &v2=QVariant(), const QVariant &v3=QVariant(), const QVariant &v4=QVariant(), const QVariant &v5=QVariant(), const QVariant &v6=QVariant())
 Uses %1, %2, %3,... as replacement tokens. More...
 
BASE_EXPORT QString toBytes (const quint64 &ul)
 Converts number ul into a memory size string. More...
 
BASE_EXPORT QString readLine (QDataStream &ds, qint64 maxlen=0)
 Reads a single QString line from a QDataStream (since QTextStream is bugged), uses '\n' as an end-of-line marker.
 
BASE_EXPORT QString readWord (QDataStream &ds, qint64 maxlen=0, const QString &separators=" \t\r\n")
 Reads a single whitespace delimited word from the QDataStream (since QTextStream is bugged), using the given separator list.
 
BASE_EXPORT QString cleanupTypename (const char *name)
 
BASE_EXPORT QString enquoteString (const QString &s, QChar quote='"')
 
BASE_EXPORT bool isInt (const QString &in, int *i=0)
 
BASE_EXPORT bool isUInt (const QString &in, uint *u=0)
 
BASE_EXPORT bool isLong (const QString &in, qint64 *l=0)
 
BASE_EXPORT bool isULong (const QString &in, quint64 *ul=0)
 
BASE_EXPORT bool isDouble (const QString &in, double *d=0)
 
BASE_EXPORT bool isBool (const QString &in, bool *b=0, const QString &out="on,off,true,false,yes,no")
 
BASE_EXPORT bool toBool (const QString &in, bool *ok=0, const QString &out="on,off,true,false,yes,no")
 
String toString (const QString &in)
 converts a QString into a base string.
 
String toString (const std::wstring &in)
 returns a copy of in
 
String toString (const string &in)
 converts a string to a wide character string
 
QString toQString (const std::wstring &in)
 converts a wide string into a QString
 
QString toQString (const string &in)
 converts a string into a QString
 
int compare (const String &s1, const String &s2, bool case_sensitive=false)
 
string tostring (const QString &s)
 
BASE_EXPORT bool isInt (const string &in, int32 *i=nullptr)
 
BASE_EXPORT bool isUInt (const string &in, uint32 *u=nullptr)
 
BASE_EXPORT bool isLong (const string &in, int64 *l=nullptr)
 
BASE_EXPORT bool isULong (const string &in, uint64 *ul=nullptr)
 
BASE_EXPORT bool isDouble (const string &in, double *d=nullptr)
 
BASE_EXPORT bool isBool (const string &in, bool *b=nullptr, const string &out="on,off,true,false,yes,no")
 
int32 toInt (const string &in)
 
uint32 toUInt (const string &in)
 
int64 toLong (const string &in)
 
uint64 toULong (const string &in)
 
double toDouble (const string &in)
 
bool toBool (const string &in, const string &out="on,off,true,false,yes,no")
 
BASE_EXPORT string tostring (const std::wstring &s)
 
BASE_EXPORT std::wstring towstring (const string &s)
 
BASE_EXPORT int32 caseInsensitiveCompare (const string &s1, const string &s2)
 
BASE_EXPORT string toUpper (const string &s)
 
BASE_EXPORT string toLower (const string &s)
 
BASE_EXPORT string join (const std::vector< string > &s, const string &sep)
 
BASE_EXPORT std::vector< string > split (const string &s, const string &sep, bool keepEmptyParts=false)
 
BASE_EXPORT string trimmed (const string &s)
 
BASE_EXPORT void initializeQtToBase ()
 
template<class T >
QDataStream & operator<< (QDataStream &ds, const Vector2< T > &v)
 Allows a Base type to be written to, or read from, a QDataStream.
 
template<class T >
QDataStream & operator>> (QDataStream &ds, Vector2< T > &v)
 
template<class T >
QDataStream & operator<< (QDataStream &ds, const Vector3< T > &v)
 
template<class T >
QDataStream & operator>> (QDataStream &ds, Vector3< T > &v)
 
template<class T >
QDataStream & operator<< (QDataStream &ds, const AVector2< T > &av)
 
template<class T >
QDataStream & operator>> (QDataStream &ds, AVector2< T > &av)
 
template<class T >
QDataStream & operator<< (QDataStream &ds, const AVector3< T > &av)
 
template<class T >
QDataStream & operator>> (QDataStream &ds, AVector3< T > &av)
 
template<class T >
QDataStream & operator<< (QDataStream &ds, const Extent2< T > &v)
 
template<class T >
QDataStream & operator>> (QDataStream &ds, Extent2< T > &v)
 
template<class T >
QDataStream & operator<< (QDataStream &ds, const Extent3< T > &v)
 
template<class T >
QDataStream & operator>> (QDataStream &ds, Extent3< T > &v)
 
BASE_EXPORT QDataStream & operator<< (QDataStream &ds, const Orientation2 &o)
 
BASE_EXPORT QDataStream & operator>> (QDataStream &ds, Orientation2 &o)
 
BASE_EXPORT QDataStream & operator<< (QDataStream &ds, const Orientation3 &o)
 
BASE_EXPORT QDataStream & operator>> (QDataStream &ds, Orientation3 &o)
 
BASE_EXPORT QDataStream & operator<< (QDataStream &ds, const Axes2D &v)
 
BASE_EXPORT QDataStream & operator>> (QDataStream &ds, Axes2D &v)
 
BASE_EXPORT QDataStream & operator<< (QDataStream &ds, const Axes3D &v)
 
BASE_EXPORT QDataStream & operator>> (QDataStream &ds, Axes3D &v)
 
BASE_EXPORT QDataStream & operator<< (QDataStream &ds, const CAxes2D &v)
 
BASE_EXPORT QDataStream & operator>> (QDataStream &ds, CAxes2D &v)
 
BASE_EXPORT QDataStream & operator<< (QDataStream &ds, const CAxes3D &v)
 
BASE_EXPORT QDataStream & operator>> (QDataStream &ds, CAxes3D &v)
 
BASE_EXPORT QDataStream & operator<< (QDataStream &ds, const Variant &v)
 
BASE_EXPORT QDataStream & operator>> (QDataStream &ds, Variant &v)
 
BASE_EXPORT QDataStream & operator<< (QDataStream &ds, const std::wstring &v)
 
BASE_EXPORT QDataStream & operator>> (QDataStream &ds, std::wstring &v)
 
BASE_EXPORT QDataStream & operator<< (QDataStream &ds, const string &v)
 
BASE_EXPORT QDataStream & operator>> (QDataStream &ds, string &v)
 
BASE_EXPORT QDataStream & operator<< (QDataStream &ds, const SymTensor &s)
 
BASE_EXPORT QDataStream & operator>> (QDataStream &ds, SymTensor &v)
 
BASE_EXPORT QDataStream & operator<< (QDataStream &ds, const Quat2 &o)
 
BASE_EXPORT QDataStream & operator>> (QDataStream &ds, Quat2 &o)
 
BASE_EXPORT QDataStream & operator<< (QDataStream &ds, const Quat3 &o)
 
BASE_EXPORT QDataStream & operator>> (QDataStream &ds, Quat3 &o)
 
template<class T >
QTextStream & operator<< (QTextStream &ds, const Vector2< T > &v)
 
template<class T >
QTextStream & operator<< (QTextStream &ds, const Vector3< T > &v)
 
template<class T >
QTextStream & operator<< (QTextStream &ds, const AVector2< T > &v)
 Writes an AVector2 to formatted text, as a scalar basically.
 
template<class T >
QPoint toQPoint (const Vector2< T > &v)
 Convert a Vector2 to a QPoint.
 
template<class T >
QPointF toQPointF (const Vector2< T > &v)
 Convert a Vector2 to a QPointF.
 
DVect2 toDVect2 (const QPoint &p)
 Convert a QPoint to a DVect2.
 
DVect2 toDVect2 (const QSize &p)
 Convert a QSize to a DVect2.
 
FVect2 toFVect2 (const QPoint &p)
 Convert a QPoint to an FVect2.
 
IVect2 toIVect2 (const QPoint &p)
 Convert a QPoint to an IVect2.
 
UVect2 toUVect2 (const QPoint &p)
 Convert a QPoint to a UVect2.
 
DVect2 toDVect2 (const QPointF &p)
 Convert a QPointF to an DVect2.
 
FVect2 toFVect2 (const QPointF &p)
 Convert a QPointF to an FVect2.
 
IVect2 toIVect2 (const QPointF &p)
 Convert a QPointF to an IVect2.
 
UVect2 toUVect2 (const QPointF &p)
 Convert a QPointF to an UVect2.
 
bool checkQVariantTypes (const QVariant &v1, const QVariant &v2)
 returns true if Variants have the same type
 
BASE_EXPORT QVariant toQVariant (const Variant &v)
 
BASE_EXPORT Variant toVariant (const QVariant &v)
 
BASE_EXPORT bool isDirectoryProtected (const QDir &dir, const QString &registryString)
 
BASE_EXPORT QString getInstallDirectory (const QString &registryString)
 
BASE_EXPORT QString convertFilePath (const QString &filePath, const QDir &previousDir, const QDir &newDir)
 
BASE_EXPORT bool setCurrentDirectory (const QString &dir)
 
BASE_EXPORT QString getCurrentDirectory ()
 
BASE_EXPORT QDir getCurrentDirectoryObject ()
 
template<class T >
const Extent3< T > & toExtent3 (const Extent3< T > &t)
 Returns a Extent3.
 
template<class T >
Extent3< T > toExtent3 (const Extent2< T > &t)
 Returns a Extent3 coverted from a Extent2, the length of the third dimension is zero.
 
template<class T >
constexpr T initVal ()
 
template<>
constexpr double initVal< double > ()
 
template<>
constexpr float initVal< float > ()
 
template<class T , unsigned SX, unsigned SY>
Matrix< T, SX, SY > operator * (const Matrix< T, SX, SY > &m, const SymMatrix< T, SY > &s)
 
template<class T , unsigned S>
double innerProduct (const VMatrix< T, S > &v1, const VMatrix< T, S > &v2)
 
template<class T , unsigned S>
Matrix< T, S, S > outerProduct (const VMatrix< T, S > &v1, const VMatrix< T, S > &v2)
 
template<class T , unsigned SX>
VMatrix< T, SX > toVMatrix (const Vector3< T > &v, unsigned start=0)
 Converts a Vector3 into a VMatrix of arbitrary size, at an arbitrary starting index.
 
template<unsigned SX>
DVMatrix< SX > toDVMatrix (const DVect3 &v, unsigned start=0)
 
SymTensor toSymTensor (const DMatrix< 2, 2 > &m)
 
template<class T , unsigned SX>
Vector2< T > toVector2 (const VMatrix< T, SX > &m, unsigned start=0)
 Converts a VMatrix to a Vector2, using two elements starting at index start.
 
template<class T , unsigned SX>
Vector3< T > toVector3 (const VMatrix< T, SX > &m, unsigned start=0)
 Converts a VMatrix to a Vector3, using three elements starting at index start.
 
template<class T >
Vector2< T > toVector (const VMatrix< T, 2 > &m)
 Converts a VMatrix to a Vector3, using three elements starting at index start.
 
template<class T >
Vector3< T > toVector (const VMatrix< T, 3 > &m)
 Converts a VMatrix to a Vector3, using three elements starting at index start.
 
template<class T , unsigned SY>
Vector2< T > columnToVector (const Matrix< T, 2, SY > &m, unsigned col)
 returns in a Vector2<t> the column col from matrix Matrix<T,SX,2>
 
template<class T , unsigned SY>
Vector3< T > columnToVector (const Matrix< T, 3, SY > &m, unsigned col)
 returns in a Vector3<t> the column col from a matrix Matrix<T,SX,3>
 
template<class T , unsigned SX>
Vector2< T > rowToVector (const Matrix< T, SX, 2 > &m, unsigned row)
 returns in a Vector2<t> the row row from matrix Matrix<T,SX,2>
 
template<class T , unsigned SX>
Vector3< T > rowToVector (const Matrix< T, SX, 3 > &m, unsigned row)
 returns in a Vector3<t> the row row from matrix Matrix<T,SX,3>
 
template<class T , unsigned SY>
void vectorToColumn (Matrix< T, 2, SY > &m, const DVect2 &v, unsigned col)
 
template<class T , unsigned SY>
void vectorToColumn (Matrix< T, 3, SY > &m, const DVect3 &v, unsigned col)
 
template<class T , unsigned SX>
void vectorToRow (Matrix< T, SX, 2 > &m, const DVect2 &v, unsigned row)
 
template<class T , unsigned SX>
void vectorToRow (Matrix< T, SX, 3 > &m, const DVect3 &v, unsigned row)
 
template<class T , unsigned SX, unsigned SY>
VMatrix< T, SX > column (const Matrix< T, SX, SY > &m, unsigned c)
 
template<class D , class T >
to (const T &t)
 This template function serves as an alternative to static_cast<T>(). More...
 
template<class D , class T >
D * check_cast (T *t)
 This template function serves as a fast alternative to dynamic_cast, when you know the base offset is the same. More...
 
template<class D , class T >
const D * check_cast (const T *t)
 This template function serves as a fast alternative to dynamic_cast, when you know the base offset is the same. More...
 
template<class T >
const T safeDiv (const T num, const T denom)
 This function provids "safe" division operation, checks explicitly for zero. More...
 
 Variant::UserTypeBase::UserTypeBase ()
 Default constructor, no data initialization.
 
virtual Variant::UserTypeBase::~UserTypeBase ()
 Deconstructor.
 
virtual UserTypeBase * Variant::UserTypeBase::clone (char *data) const =0
 Clone function.
 
virtual void Variant::UserTypeBase::copy (const UserTypeBase *base)=0
 Copy from base pointer.
 
BASE_EXPORT Variant::Variant (const Variant &mv)
 Copy constructor.
 
BASE_EXPORT Variant::Variant (const Int &v=0)
 
BASE_EXPORT Variant::Variant (const bool &v)
 
BASE_EXPORT Variant::Variant (const Byte &v)
 
BASE_EXPORT Variant::Variant (const UByte &v)
 
BASE_EXPORT Variant::Variant (const Short &v)
 
BASE_EXPORT Variant::Variant (const UShort &v)
 
BASE_EXPORT Variant::Variant (const UInt &v)
 
BASE_EXPORT Variant::Variant (const Long &v)
 
BASE_EXPORT Variant::Variant (const ULong &v)
 
BASE_EXPORT Variant::Variant (const Float &v)
 
BASE_EXPORT Variant::Variant (const Double &v)
 
BASE_EXPORT Variant::Variant (void *v)
 
BASE_EXPORT Variant::Variant (const void *v)
 
BASE_EXPORT Variant::Variant (const IVect2 &v)
 
BASE_EXPORT Variant::Variant (const DVect2 &v)
 
BASE_EXPORT Variant::Variant (const IVect3 &v)
 
BASE_EXPORT Variant::Variant (const DVect3 &v)
 
BASE_EXPORT Variant::Variant (const String &v)
 
BASE_EXPORT Variant::Variant (const Char *v)
 
BASE_EXPORT Variant::~Variant ()
 Destructor.
 
BASE_EXPORT const VariantVariant::operator= (const Variant &mv)
 Equality operator.
 
BASE_EXPORT Type Variant::getType () const
 The type of the Variant. Note that this may be a user-defined value.
 
BASE_EXPORT String Variant::getTypeName () const
 A string indicating the Variant type.
 
BASE_EXPORT bool Variant::toBool (bool *success=0) const
 
BASE_EXPORT Byte Variant::toByte (bool *success=0) const
 
BASE_EXPORT UByte Variant::toUByte (bool *success=0) const
 
BASE_EXPORT Short Variant::toShort (bool *success=0) const
 
BASE_EXPORT UShort Variant::toUShort (bool *success=0) const
 
BASE_EXPORT Int Variant::toInt (bool *success=0) const
 
BASE_EXPORT UInt Variant::toUInt (bool *success=0) const
 
BASE_EXPORT Long Variant::toLong (bool *success=0) const
 
BASE_EXPORT ULong Variant::toULong (bool *success=0) const
 
BASE_EXPORT Float Variant::toFloat (bool *success=0) const
 
BASE_EXPORT Double Variant::toDouble (bool *success=0) const
 
BASE_EXPORT String Variant::toString (bool *success=0) const
 
BASE_EXPORT void * Variant::toVoid (bool *success=0) const
 
BASE_EXPORT IVect2 Variant::toIVect2 (bool *success=0) const
 
BASE_EXPORT DVect2 Variant::toDVect2 (bool *success=0) const
 
BASE_EXPORT IVect3 Variant::toIVect3 (bool *success=0) const
 
BASE_EXPORT DVect3 Variant::toDVect3 (bool *success=0) const
 
BASE_EXPORT const IntVariant::fastToInt () const
 
BASE_EXPORT const bool & Variant::fastToBool () const
 
BASE_EXPORT const LongVariant::fastToLong () const
 
BASE_EXPORT const DoubleVariant::fastToDouble () const
 
BASE_EXPORT const DVect2 & Variant::fastToDVect2 () const
 
BASE_EXPORT const DVect3 & Variant::fastToDVect3 () const
 
BASE_EXPORT const String & Variant::fastToString () const
 
const VariantVariant::operator= (const bool &v)
 Assignment operator for a specific type, converts the Variant to the same type and value.
 
const VariantVariant::operator= (const Byte &v)
 
const VariantVariant::operator= (const UByte &v)
 
const VariantVariant::operator= (const Short &v)
 
const VariantVariant::operator= (const UShort &v)
 
const VariantVariant::operator= (const Int &v)
 
const VariantVariant::operator= (const UInt &v)
 
const VariantVariant::operator= (const Long &v)
 
const VariantVariant::operator= (const ULong &v)
 
const VariantVariant::operator= (const Float &v)
 
const VariantVariant::operator= (const Double &v)
 
const VariantVariant::operator= (void *v)
 
const VariantVariant::operator= (const void *v)
 
const VariantVariant::operator= (const IVect2 &v)
 
const VariantVariant::operator= (const DVect2 &v)
 
const VariantVariant::operator= (const DAVect2 &v)
 
const VariantVariant::operator= (const IVect3 &v)
 
const VariantVariant::operator= (const DVect3 &v)
 
BASE_EXPORT const VariantVariant::operator= (const String &v)
 
const VariantVariant::operator= (const Char *v)
 
BASE_EXPORT void Variant::setToRawData ()
 
char * Variant::getRawData ()
 
const char * Variant::getRawData () const
 
template<class T >
void Variant::setToUserType (const T &t)
 
template<class T >
void Variant::moveToUserType (T &&t)
 
template<class T >
T & Variant::convertToUserType ()
 
template<class T >
Variant::toUserType () const
 
template<class T >
T & Variant::fastToUserType ()
 
template<class T >
const T & Variant::fastToUserType () const
 
template<class T >
bool Variant::isUserType () const
 
static BASE_EXPORT String Variant::getTypeName (Type type)
 Returns the name associated with a given type value, of "UnKnown" if the type is not valid.
 
static BASE_EXPORT int Variant::getRawDataSize ()
 
static BASE_EXPORT bool Variant::getUserTypeClaimed (int type)
 
template<class T >
static bool Variant::registerType (int type, const String &name)
 This method allows user-defined types to be encoded in a variant. More...
 
 Variant::VUserType< void * >::VUserType ()
 Default constructor.
 
 Variant::VUserType< void * >::VUserType (void *const t)
 
virtual Variant::VUserType< void * >::~VUserType ()
 Destructor.
 
virtual VUserType< void * > * Variant::VUserType< void * >::clone (char *data) const
 in-place clone
 
virtual void Variant::VUserType< void * >::copy (const UserTypeBase *base)
 copy from base pointer, uses reinterpret_cast to upcast (careful!).
 
static bool Variant::VUserType< void * >::isValue ()
 Checks if the user type holds the literal value of T, or a pointer to it.
 
template<class T >
const Vector2< T > & toVect2 (const Vector2< T > &v)
 Conversion between vectors of different dimension.
 
template<class T >
Vector2< T > toVect2 (const Vector3< T > &v)
 Conversion between vectors of different dimension. More...
 
template<class T >
Vector3< T > toVect3 (const Vector2< T > &v, const T &t=0)
 Conversion between vectors of different dimension. More...
 
template<class T >
const Vector3< T > & toVect3 (const Vector3< T > &v)
 Conversion between vectors of different dimension. More...
 
template<class T >
Vector2< T > operator & (const Vector2< T > &v, const AVector2< T > &av)
 
template<class T >
Vector3< T > operator & (const Vector3< T > &v, const AVector2< T > &av)
 
template<class T >
AVector2< T > operator & (const Vector2< T > &v1, const Vector2< T > &v2)
 
template<class T >
operator| (const Vector2< T > &, const AVector2< T > &)
 
template<class T >
DAVect2 toDAVect2 (const AVector2< T > &v)
 
template<class T >
FAVect2 toFAVect2 (const AVector2< T > &v)
 
template<class T >
IAVect2 toIAVect2 (const AVector2< T > &v)
 
template<class T >
UAVect2 toUAVect2 (const AVector2< T > &v)
 
template<class T >
DAVect3 toDAVect3 (const Vector3< T > &v)
 
template<class T >
FAVect3 toFAVect3 (const Vector3< T > &v)
 
template<class T >
IAVect3 toAIVect3 (const Vector3< T > &v)
 
template<class T >
UAVect3 toAUVect3 (const Vector3< T > &v)
 
template<class T >
Vector2< T > toVect2 (const AVector2< T > &)
 
template<class T >
Vector3< T > toVect3 (const AVector2< T > &v)
 
template<class T >
Vector2< T > toVect2 (const AVector3< T > &v)
 
template<class T >
const Vector3< T > & toVect3 (const AVector3< T > &v)
 
template<class T >
const AVector2< T > & toAVect2 (const AVector2< T > &v)
 
template<class T >
AVector2< T > toAVect2 (const AVector3< T > &v)
 
template<class T >
AVector3< T > toAVect3 (const AVector2< T > &v, const T &x=0, const T &y=0)
 
template<class T >
const AVector3< T > & toAVect3 (const AVector3< T > &v)
 
template<class T >
AVector3< T > vmax (const AVector3< T > &v1, const AVector3< T > &v2)
 
template<class T >
AVector3< T > vmin (const AVector3< T > &v1, const AVector3< T > &v2)
 
template<class T >
AVector3< T > vsign (const AVector3< T > &v1, const AVector3< T > &v2)
 
template<class T >
AVector3< T > vceil (const AVector3< T > &v)
 
template<class T >
AVector2< T > vmax (const AVector2< T > &v1, const AVector2< T > &v2)
 
template<class T >
AVector2< T > vmin (const AVector2< T > &v1, const AVector2< T > &v2)
 
template<class T >
AVector2< T > vsign (const AVector2< T > &v1, const AVector2< T > &v2)
 
template<class T >
AVector2< T > vceil (const AVector2< T > &v)
 
template<class T >
Matrix< T, 3, 3 > outerProduct (const Vector3< T > &v1, const Vector3< T > &v2)
 Creates a 3X3 Matrix from the outer product of two Vector3 types.
 
template<class T >
Matrix< T, 2, 2 > outerProduct (const Vector2< T > &v1, const Vector2< T > &v2)
 Creates a 2X2 Matrix from the outer product of two Vector2 types.
 
template<class T >
determinant (const Matrix< T, 3, 3 > &mat)
 Returns the determinant of a 3X3 Matrix. More...
 
template<class T >
determinant (const Matrix< T, 2, 2 > &mat)
 Returns the determinant of a 2X2 Matrix.
 
template<class T >
Matrix< T, 3, 3 > inverse (const Matrix< T, 3, 3 > &mat)
 Returns the inverse of a 3X3 Matrix. More...
 
template<class T >
VMatrix< T, 2 > toMatrix (const Vector2< T > &v)
 
template<class T >
VMatrix< T, 3 > toMatrix (const Vector3< T > &v)
 
template<class T >
Vector2< T > operator * (const Matrix< T, 2, 2 > &m, const Vector2< T > &v)
 
template<class T >
Vector2< T > operator * (const SymMatrix< T, 2 > &m, const Vector2< T > &v)
 
template<class T >
Vector3< T > operator * (const Matrix< T, 3, 3 > &m, const Vector3< T > &v)
 
template<class T >
Vector3< T > operator * (const SymMatrix< T, 3 > &m, const Vector3< T > &v)
 
BASE_EXPORT DMatrix< 3, 3 > toMatrix (const SymTensor &s)
 
BASE_EXPORT DSymMatrix< 3 > toSymMatrix (const SymTensor &s)
 
SymTensor toSymTensor (const DMatrix< 3, 3 > &m)
 
SymTensor toSymTensor (const DSymMatrix< 3 > &m)
 
const SymTensorSymTensor::operator= (const SymTensor &s)
 Assignment operator.
 
bool SymTensor::operator== (const SymTensor &s) const
 Equality operator.
 
const double & SymTensor::operator[] (unsigned int i) const
 Allows Index access to tensor components. More...
 
double & SymTensor::operator[] (unsigned int i)
 
double SymTensor::getTotalMeasure () const
 
DVect3 SymTensor::operator * (const DVect3 &input) const
 Performs the linear mapping represented by the tensor on the vector input. More...
 
SymTensor SymTensor::operator * (const double &mul) const
 
const SymTensorSymTensor::operator *= (const double &mul)
 
SymTensor SymTensor::operator/ (const double &mul) const
 
const SymTensorSymTensor::operator/= (const double &mul)
 
SymTensor SymTensor::operator+ (const SymTensor &s) const
 
SymTensor SymTensor::operator- (const SymTensor &s) const
 
void SymTensor::adjustTrace (const double &newTrace)
 
void SymTensor::rotate (const DVect3 &rot)
 
template<class T >
DVect2 toDVect2 (const Vector2< T > &v)
 
template<class T >
FVect2 toFVect2 (const Vector2< T > &v)
 
template<class T >
IVect2 toIVect2 (const Vector2< T > &v)
 
template<class T >
UVect2 toUVect2 (const Vector2< T > &v)
 
template<class T >
DVect3 toDVect3 (const Vector3< T > &v)
 
template<class T >
FVect3 toFVect3 (const Vector3< T > &v)
 
template<class T >
IVect3 toIVect3 (const Vector3< T > &v)
 
template<class T >
UVect3 toUVect3 (const Vector3< T > &v)
 
template<class T >
Vector2< T > vmax (const Vector2< T > &v1, const Vector2< T > &v2)
 
template<class T >
Vector2< T > vmin (const Vector2< T > &v1, const Vector2< T > &v2)
 
template<class T >
Vector2< T > vsign (const Vector2< T > &v1, const Vector2< T > &v2)
 
template<class T >
Vector3< T > vmax (const Vector3< T > &v1, const Vector3< T > &v2)
 
template<class T >
Vector3< T > vmin (const Vector3< T > &v1, const Vector3< T > &v2)
 
template<class T >
Vector3< T > vsign (const Vector3< T > &v1, const Vector3< T > &v2)
 
template<class T >
Vector2< T > vceil (const Vector2< T > &v)
 
template<class T >
Vector3< T > vceil (const Vector3< T > &v)
 
template<class T >
Vector2< T > vfloor (const Vector2< T > &v)
 
template<class T >
Vector3< T > vfloor (const Vector3< T > &v)
 
template<class T >
IVect2 vround (const Vector2< T > &v)
 
template<class T >
IVect3 vround (const Vector3< T > &v)
 

Variables

Byte   Variant::byte_
 
UByte   Variant::ubyte_
 
Short   Variant::short_
 
UShort   Variant::ushort_
 
Int   Variant::int_
 
UInt   Variant::uint_
 
Long   Variant::long_
 
ULong   Variant::ulong_
 
Float   Variant::float_
 
Double   Variant::double_
 
void *   Variant::void_
 
bool   Variant::bool_
 
char   Variant::data_ [dataSize_]
 
void * Variant::VUserType< void * >::t_
 The actual value being stored.
 
static int Variant::VUserType< void * >::typeNumber_
 The typeNumber_ used to uniquely identify the type.
 

Friends

template<class T >
class Variant::VUserType
 
BASE_EXPORT QDataStream & Variant::operator<< (QDataStream &, const Variant &)
 Allows writing a Variant to a QDataStream. More...
 

Detailed Description

Macro Definition Documentation

◆ BASE_EXPORT

#define BASE_EXPORT   IMPORT_TAG

Define BASE_LIB in project settings to export If not defined assumes using as import. This is a standard for headers in DLLs.

Typedef Documentation

◆ DAVect2

template<class T>
typedef AVector2<Double> DAVect2
related

◆ DAVect3

template<class T>
typedef AVector3<Double> DAVect3
related

◆ DExtent2

template<class T>
typedef Extent2<Double> DExtent2
related

◆ DExtent3

template<class T>
typedef Extent3<Double> DExtent3
related

◆ DVect2

template<class T>
typedef Vector2<Double> DVect2
related

◆ DVect3

template<class T>
typedef Vector3<Double> DVect3
related

◆ FAVect2

template<class T>
typedef AVector2<Float> FAVect2
related

◆ FAVect3

template<class T>
typedef AVector3<Float> FAVect3
related

◆ FExtent2

template<class T>
typedef Extent2<Float> FExtent2
related

◆ FExtent3

template<class T>
typedef Extent3<Float> FExtent3
related

◆ FVect2

template<class T>
typedef Vector2<Float> FVect2
related

◆ FVect3

template<class T>
typedef Vector3<Float> FVect3
related

◆ IAVect2

template<class T>
typedef AVector2<Int> IAVect2
related

◆ IAVect3

template<class T>
typedef AVector3<Int> IAVect3
related

◆ IExtent2

template<class T>
typedef Extent2<Int> IExtent2
related

◆ IExtent3

template<class T>
typedef Extent3<Int> IExtent3
related

◆ IVect2

template<class T>
typedef Vector2<Int> IVect2
related

◆ IVect3

template<class T>
typedef Vector3<Int> IVect3
related

◆ LVect2

template<class T>
typedef Vector2<Long> LVect2
related

◆ LVect3

template<class T>
typedef Vector3<Long> LVect3
related

◆ UAVect2

template<class T>
typedef AVector2<UInt> UAVect2
related

◆ UAVect3

template<class T>
typedef AVector3<UInt> UAVect3
related

◆ UExtent2

template<class T>
typedef Extent2<UInt> UExtent2
related

◆ UExtent3

template<class T>
typedef Extent3<UInt> UExtent3
related

◆ ULVect2

template<class T>
typedef Vector2<ULong> ULVect2
related

◆ ULVect3

template<class T>
typedef Vector3<ULong> ULVect3
related

◆ UVect2

template<class T>
typedef Vector2<UInt> UVect2
related

◆ UVect3

template<class T>
typedef Vector3<UInt> UVect3
related

Enumeration Type Documentation

◆ Type

Indicates the type of the variant. 18 types are predefined.

Enumerator
ByteType 

signed 8 bit integer.

UByteType 

unsigned 8 bit integer.

ShortType 

signed 16 bit integer.

UShortType 

unsigned 16 bit integer.

IntType 

signed 32 bit integer.

UIntType 

unsigned 32 bit integer.

LongType 

signed 64 bit integer.

ULongType 

unsigned 64 bit integer.

FloatType 

32 bit floating point value.

DoubleType 

64 bit floating point value.

VoidType 

A void pointer.

BoolType 

A value of type bool.

IVect2Type 

A 2D vector of 32 bit signed integers.

DVect2Type 

A 2D vector of 64 bit floating point values.

IVect3Type 

A 3D vector of 32 bit signed integers.

DVect3Type 

A 3D vector of 64 bit floating point values.

RawDataType 

Raw binary data – see the Variant::setToRawData() and Variant::getRawData() methods.

StringType 

A String() class.

UserType 

A user-defined type. See the Variant::registerType() method.

Function Documentation

◆ build()

BASE_EXPORT QString build ( const QString &  s,
const QVariant &  v1 = QVariant(),
const QVariant &  v2 = QVariant(),
const QVariant &  v3 = QVariant(),
const QVariant &  v4 = QVariant(),
const QVariant &  v5 = QVariant(),
const QVariant &  v6 = QVariant() 
)

Uses %1, %2, %3,... as replacement tokens.

All other uses of % must use an extra — i.e. "%%" parses to "%".
For example: build("This %1 a %2","is","test.") expands to "This is a test."
Basically, this is shorthand for: QString("").arg().arg().arg()...

◆ check_cast() [1/2]

template<class D , class T >
D* check_cast ( T *  t)

This template function serves as a fast alternative to dynamic_cast, when you know the base offset is the same.

In debug mode, it checks for a base offset change by comparing the result against an actual dynamic_cast.

◆ check_cast() [2/2]

template<class D , class T >
const D* check_cast ( const T *  t)

This template function serves as a fast alternative to dynamic_cast, when you know the base offset is the same.

In debug mode, it checks for a base offset change by comparing the result against an actual dynamic_cast.

◆ clip()

BASE_EXPORT QString clip ( const QString &  in,
int  length 
)

Handy method that truncates the string to size (length-3) and appends "..." to get a final size of length (does nothing if the initial string size is less than parameter length).
length must be at least equal to 3

◆ convertFilePath()

BASE_EXPORT QString convertFilePath ( const QString &  filePath,
const QDir &  previousDir,
const QDir &  newDir 
)

Converts a filePath string from being relative to a previous directory, to being relative to a new directory. If the filePath is absolute, and the new directory references the same base system (drive letter or network path) it might become a relative path. This should work even if the relative file path is impossible (like a filePath of "../../../../../fred.dat" with a previousDir of "C:/one/"). If the new directory is not in the same system as the old directory, then filePath might become absolute.

In that case, if the relative file path was impossible, the closest approximation is used (in the abolve example, "C:/fred.dat") and tree information might be lost.

◆ convertToUserType()

template<class T >
T& Variant::convertToUserType ( )

Converts the type of the variant to this user type (if necessary), and returns a reference to the type. This is for optimization purposes, to avoid temporary objects.

◆ determinant()

template<class T >
T determinant ( const Matrix< T, 3, 3 > &  mat)
related

Returns the determinant of a 3X3 Matrix.

MOO NOTE: Eventually want to add specialization for SymMatrix.

◆ fastToBool()

BASE_EXPORT const bool& Variant::fastToBool ( ) const
inline

Very fast converion of a Variant to a specific type. Used only where performance is critical, and where you are certain the Variant contains a value of exactly that type.

◆ fastToDouble()

BASE_EXPORT const Double& Variant::fastToDouble ( ) const
inline

Very fast converion of a Variant to a specific type. Used only where performance is critical, and where you are certain the Variant contains a value of exactly that type.

◆ fastToDVect2()

BASE_EXPORT const DVect2& Variant::fastToDVect2 ( ) const
inline

Very fast converion of a Variant to a specific type. Used only where performance is critical, and where you are certain the Variant contains a value of exactly that type.

◆ fastToDVect3()

BASE_EXPORT const DVect3& Variant::fastToDVect3 ( ) const
inline

Very fast converion of a Variant to a specific type. Used only where performance is critical, and where you are certain the Variant contains a value of exactly that type.

◆ fastToInt()

BASE_EXPORT const Int& Variant::fastToInt ( ) const
inline

Very fast converion of a Variant to a specific type. Used only where performance is critical, and where you are certain the Variant contains a value of exactly that type.

◆ fastToLong()

BASE_EXPORT const Long& Variant::fastToLong ( ) const
inline

Very fast converion of a Variant to a specific type. Used only where performance is critical, and where you are certain the Variant contains a value of exactly that type.

◆ fastToString()

const String & Variant::fastToString ( ) const

Very fast converion of a Variant to a specific type. Used only where performance is critical, and where you are certain the Variant contains a value of exactly that type.

◆ fastToUserType() [1/2]

template<class T >
T& Variant::fastToUserType ( )
inline

Very fast converion of a Variant to a specific user-defined type. Used only where performance is critical, and where you are certain the Variant contains a value of exactly that type.

If the Variant is not of that type the return value is undefined.

◆ fastToUserType() [2/2]

template<class T >
const T& Variant::fastToUserType ( ) const
inline

Very fast converion of a Variant to a specific user-defined type. Used only where performance is critical, and where you are certain the Variant contains a value of exactly that type.

If the Variant is not of that type the return value is undefined.

◆ getCurrentDirectory()

BASE_EXPORT QString getCurrentDirectory ( )

Reentrant versions of setCurrentDirectory and QDir::getCurrent. Those functions are not re-entrant (even though they are documented as such).

◆ getCurrentDirectoryObject()

BASE_EXPORT QDir getCurrentDirectoryObject ( )

Reentrant versions of setCurrentDirectory and QDir::getCurrent. Those functions are not re-entrant (even though they are documented as such).

◆ getInstallDirectory()

BASE_EXPORT QString getInstallDirectory ( const QString &  registryString)

Attempts to read the registry to find a variable set during installation indicating the install directory. This variable is named "installdir32" for a 32 bit exe, and "installdir64" for a 64 bit exe. The directory will be: HKEY_LOCAL_MACHINE\Software\Itasca\"registryString" in the entry "installdir". Note that a 32 bit process running under 64 bit windows is redirected to: HKEY_LOCAL_MACHINE\Software\Wow6432Node\Itasca\"registryString"

◆ getRawData() [1/2]

char* Variant::getRawData ( )
inline

Returns a pointer to the raw data used to store Variant contents.

Warning
If the variant is not currently setToRawData(), you could cause a fatal data corruption by overwring memory.
Any attempt to store more than getRawDataSize() bytes will result in overwriting of random memory!
See also
setToRawData() getRawDataSize()

◆ getRawData() [2/2]

const char* Variant::getRawData ( ) const
inline

Returns a pointer to the raw data used to store Variant contents.

Warning
If the variant is not currently setToRawData(), you could cause a fatal data corruption by overwring memory.
Any attempt to store more than getRawDataSize() bytes will result in overwriting of random memory!
See also
setToRawData() getRawDataSize()

◆ getRawDataSize()

static BASE_EXPORT int Variant::getRawDataSize ( )
inlinestatic

Returns the size of the raw data available for Variant storage, in bytes.

See also
setToRawData() getRawData()

◆ getTotalMeasure()

double SymTensor::getTotalMeasure ( ) const
inline

Total Measure now is defined as the distance of the stress/strain tensor point at the principal stress/strain space to the origin of the same space. Returns a scalar, (I1/sqrt(3), sqrt(2*J2))

◆ getUserTypeClaimed()

bool Variant::getUserTypeClaimed ( int  type)
static

Returns true if the type value has already been claimed. This function can be used to find an unused valid type when calling registerType().

◆ initializeQtToBase()

BASE_EXPORT void initializeQtToBase ( )

Initialization routine, called automatically by system. This initializes various Base types with the QVariant system. It also adds the executable directory to the list of paths searched for libraries.

◆ inverse()

template<class T >
Matrix< T, 3, 3 > inverse ( const Matrix< T, 3, 3 > &  mat)
related

Returns the inverse of a 3X3 Matrix.

MOO NOTE: Eventually want to add specialization for SymMatrix.

◆ isBool()

BASE_EXPORT bool isBool ( const QString &  in,
bool *  b = 0,
const QString &  out = "on,off,true,false,yes,no" 
)

This functions checks to see if the string can be converted into a boolean value.
The out string is used to match against pairs of values (true,false,...).
The default out string is "on,off,true,false,yes,no". The b argument is filled with the result. Returns true on a successful conversion, false otherwise.

◆ isDirectoryProtected()

BASE_EXPORT bool isDirectoryProtected ( const QDir &  dir,
const QString &  registryString 
)

Attempts to determine if the directory represented by dir is write protected for any reason. A directory is considered "protected" for one of three reasons: a) It is read-only, or an attempt to create and write to a file in that location fails. b) It contains "Program Files" at the start of the absolute directory path. c) It matches the installation path stored in the registry at HKEY_LOCAL_MACHINE\Software\Itasca\"registryString" in the entry "installdir". Note that a 32 bit process running under 64 bit windows is redirected to HKEY_LOCAL_MACHINE\Software\Wow6432Node\Itasca\"registryString"

◆ isDouble() [1/2]

BASE_EXPORT bool isDouble ( const string &  in,
double *  d = nullptr 
)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

◆ isDouble() [2/2]

BASE_EXPORT bool isDouble ( const QString &  in,
double *  d = 0 
)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

◆ isInt()

BASE_EXPORT bool isInt ( const QString &  in,
int *  i = 0 
)

These functions check if the contents of the string can be converted into another type.
They will return TRUE if so, and fill the pointer with the converted value if given.
These are basically alternative syntax forms of the QString::toXXX functions.

◆ isLong() [1/2]

BASE_EXPORT bool isLong ( const string &  in,
int64 *  l = nullptr 
)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

◆ isLong() [2/2]

BASE_EXPORT bool isLong ( const QString &  in,
qint64 *  l = 0 
)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

◆ isUInt() [1/2]

BASE_EXPORT bool isUInt ( const string &  in,
uint32 *  u = nullptr 
)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

◆ isUInt() [2/2]

BASE_EXPORT bool isUInt ( const QString &  in,
uint *  u = 0 
)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

◆ isULong() [1/2]

BASE_EXPORT bool isULong ( const string &  in,
uint64 *  ul = nullptr 
)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

◆ isULong() [2/2]

BASE_EXPORT bool isULong ( const QString &  in,
quint64 *  ul = 0 
)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

◆ isUserType()

template<class T >
bool Variant::isUserType ( ) const
inline

Returns TRUE if the Variant is of the user-defined type specified by T.

if (v.isUserType<MyType>()) { <do something> }

The type must have been registered using registerType().

See also
setToUserType() isUserType() registerType() moveToUserType()

◆ match()

BASE_EXPORT bool match ( const QString &  keyword,
const QString &  token 
)

Performs "itasca match" of this string (as keyword) to token.

Specifically, compares to length of token or keyword, whichever is shorter.
If token is longer than keyword no match.
If keyword contains the character '^', that character is disregarded for comparison purposes and token must have at least as many characters as precede the '^' character.
If a token has a starting hyphen '-', then it is ignored for matching. If a token has an internal hyphen 'one-two', then the hyphen must be present in keyword and BOTH sides are checked using matching rules and any possible '^' character.

◆ moveToUserType()

template<class T >
void Variant::moveToUserType ( T &&  t)

Moves the given value of a user-specified type T into the value. rvalue references wheee The type must have been previously registered with registerType().

See also
toUserType() setToUserType() isUserType() registerType()

◆ operator &() [1/3]

template<class T >
Vector2< T > operator & ( const Vector2< T > &  v,
const AVector2< T > &  av 
)
related

Cross product operator between a Vector2 and an AVector2, returns a Vector2.

◆ operator &() [2/3]

template<class T >
Vector3< T > operator & ( const Vector3< T > &  v,
const AVector2< T > &  av 
)
related

Cross product operator between a Vector3 and an AVector2, returns a Vector3 (z=0).

◆ operator &() [3/3]

template<class T >
AVector2< T > operator & ( const Vector2< T > &  v1,
const Vector2< T > &  v2 
)
related

Cross product operator between a Vector2 and an Vector2, returns an AVector2.

◆ operator *() [1/5]

DVect3 SymTensor::operator * ( const DVect3 &  input) const
inline

Performs the linear mapping represented by the tensor on the vector input.

In stress terms, finds the tractions in the given directions if input is a unit vector.

◆ operator *() [2/5]

template<class T >
Vector2< T > operator * ( const Matrix< T, 2, 2 > &  m,
const Vector2< T > &  v 
)
related

Multiplies a 2X2 Matrix by a Vector2, and returns the resulting Vector2.

◆ operator *() [3/5]

template<class T >
Vector2< T > operator * ( const SymMatrix< T, 2 > &  m,
const Vector2< T > &  v 
)
related

Multiplies a 2X2 SymMatrix by a Vector2, and returns the resulting Vector2.

◆ operator *() [4/5]

template<class T >
Vector3< T > operator * ( const Matrix< T, 3, 3 > &  m,
const Vector3< T > &  v 
)
related

Multiplies a 3X3 Matrix by a Vector3, and returns the resulting Vector3.

◆ operator *() [5/5]

template<class T >
Vector3< T > operator * ( const SymMatrix< T, 3 > &  m,
const Vector3< T > &  v 
)
related

Multiplies a 3X3 SymMatrix by a Vector3, and returns the resulting Vector3.

◆ operator<<() [1/19]

template<class T >
QDataStream& operator<< ( QDataStream &  ds,
const Vector3< T > &  v 
)
inline

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

◆ operator<<() [2/19]

template<class T >
QDataStream& operator<< ( QDataStream &  ds,
const AVector2< T > &  av 
)
inline

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

◆ operator<<() [3/19]

template<class T >
QDataStream& operator<< ( QDataStream &  ds,
const AVector3< T > &  av 
)
inline

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

◆ operator<<() [4/19]

template<class T >
QDataStream& operator<< ( QDataStream &  ds,
const Extent2< T > &  v 
)
inline

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

◆ operator<<() [5/19]

template<class T >
QDataStream& operator<< ( QDataStream &  ds,
const Extent3< T > &  v 
)
inline

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

◆ operator<<() [6/19]

BASE_EXPORT QDataStream& operator<< ( QDataStream &  ds,
const Orientation2 o 
)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

◆ operator<<() [7/19]

BASE_EXPORT QDataStream& operator<< ( QDataStream &  ds,
const Orientation3 o 
)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

◆ operator<<() [8/19]

BASE_EXPORT QDataStream& operator<< ( QDataStream &  ds,
const Axes2D v 
)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

◆ operator<<() [9/19]

BASE_EXPORT QDataStream& operator<< ( QDataStream &  ds,
const Axes3D v 
)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

◆ operator<<() [10/19]

BASE_EXPORT QDataStream& operator<< ( QDataStream &  ds,
const CAxes2D v 
)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

◆ operator<<() [11/19]

BASE_EXPORT QDataStream& operator<< ( QDataStream &  ds,
const CAxes3D v 
)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

◆ operator<<() [12/19]

BASE_EXPORT QDataStream& operator<< ( QDataStream &  ds,
const Variant v 
)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

◆ operator<<() [13/19]

BASE_EXPORT QDataStream& operator<< ( QDataStream &  ds,
const std::wstring &  v 
)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

◆ operator<<() [14/19]

BASE_EXPORT QDataStream& operator<< ( QDataStream &  ds,
const string &  v 
)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

◆ operator<<() [15/19]

BASE_EXPORT QDataStream& operator<< ( QDataStream &  ds,
const SymTensor s 
)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

◆ operator<<() [16/19]

BASE_EXPORT QDataStream& operator<< ( QDataStream &  ds,
const Quat2 o 
)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

◆ operator<<() [17/19]

BASE_EXPORT QDataStream& operator<< ( QDataStream &  ds,
const Quat3 o 
)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

◆ operator<<() [18/19]

template<class T >
QTextStream& operator<< ( QTextStream &  ds,
const Vector2< T > &  v 
)
inline

Writes a Vector2 to formatted text. The current qSetFieldWidth is used for the entire vector. Format is "(x,y)". This means each component gets a field width of (w-3)/2.

◆ operator<<() [19/19]

template<class T >
QTextStream& operator<< ( QTextStream &  ds,
const Vector3< T > &  v 
)
inline

Writes a Vector3 to formatted text. The current qSetFieldWidth is used for the entire vector. Format is "(x,y,z)". This means each component gets a field width of (w-4)/3.

◆ operator=() [1/19]

const Variant& Variant::operator= ( const Byte v)
inline

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

◆ operator=() [2/19]

const Variant& Variant::operator= ( const UByte v)
inline

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

◆ operator=() [3/19]

const Variant& Variant::operator= ( const Short v)
inline

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

◆ operator=() [4/19]

const Variant& Variant::operator= ( const UShort v)
inline

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

◆ operator=() [5/19]

const Variant& Variant::operator= ( const Int v)
inline

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

◆ operator=() [6/19]

const Variant& Variant::operator= ( const UInt v)
inline

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

◆ operator=() [7/19]

const Variant& Variant::operator= ( const Long v)
inline

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

◆ operator=() [8/19]

const Variant& Variant::operator= ( const ULong v)
inline

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

◆ operator=() [9/19]

const Variant& Variant::operator= ( const Float v)
inline

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

◆ operator=() [10/19]

const Variant& Variant::operator= ( const Double v)
inline

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

◆ operator=() [11/19]

const Variant& Variant::operator= ( void *  v)
inline

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

◆ operator=() [12/19]

const Variant& Variant::operator= ( const void *  v)
inline

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

◆ operator=() [13/19]

const Variant& Variant::operator= ( const IVect2 &  v)
inline

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

◆ operator=() [14/19]

const Variant& Variant::operator= ( const DVect2 &  v)
inline

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

◆ operator=() [15/19]

const Variant& Variant::operator= ( const DAVect2 &  v)
inline

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

◆ operator=() [16/19]

const Variant& Variant::operator= ( const IVect3 &  v)
inline

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

◆ operator=() [17/19]

const Variant& Variant::operator= ( const DVect3 &  v)
inline

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

◆ operator=() [18/19]

const Variant & Variant::operator= ( const String &  v)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

◆ operator=() [19/19]

const Variant& Variant::operator= ( const Char v)
inline

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

◆ operator>>() [1/18]

template<class T >
QDataStream& operator>> ( QDataStream &  ds,
Vector2< T > &  v 
)
inline

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

◆ operator>>() [2/18]

template<class T >
QDataStream& operator>> ( QDataStream &  ds,
Vector3< T > &  v 
)
inline

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

◆ operator>>() [3/18]

template<class T >
QDataStream& operator>> ( QDataStream &  ds,
AVector2< T > &  av 
)
inline

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

◆ operator>>() [4/18]

template<class T >
QDataStream& operator>> ( QDataStream &  ds,
AVector3< T > &  av 
)
inline

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

◆ operator>>() [5/18]

template<class T >
QDataStream& operator>> ( QDataStream &  ds,
Extent2< T > &  v 
)
inline

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

◆ operator>>() [6/18]

template<class T >
QDataStream& operator>> ( QDataStream &  ds,
Extent3< T > &  v 
)
inline

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

◆ operator>>() [7/18]

BASE_EXPORT QDataStream& operator>> ( QDataStream &  ds,
Orientation2 o 
)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

◆ operator>>() [8/18]

BASE_EXPORT QDataStream& operator>> ( QDataStream &  ds,
Orientation3 o 
)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

◆ operator>>() [9/18]

BASE_EXPORT QDataStream& operator>> ( QDataStream &  ds,
Axes2D v 
)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

◆ operator>>() [10/18]

BASE_EXPORT QDataStream& operator>> ( QDataStream &  ds,
Axes3D v 
)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

◆ operator>>() [11/18]

BASE_EXPORT QDataStream& operator>> ( QDataStream &  ds,
CAxes2D v 
)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

◆ operator>>() [12/18]

BASE_EXPORT QDataStream& operator>> ( QDataStream &  ds,
CAxes3D v 
)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

◆ operator>>() [13/18]

BASE_EXPORT QDataStream& operator>> ( QDataStream &  ds,
Variant v 
)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

◆ operator>>() [14/18]

BASE_EXPORT QDataStream& operator>> ( QDataStream &  ds,
std::wstring &  v 
)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

◆ operator>>() [15/18]

BASE_EXPORT QDataStream& operator>> ( QDataStream &  ds,
string &  v 
)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

◆ operator>>() [16/18]

BASE_EXPORT QDataStream& operator>> ( QDataStream &  ds,
SymTensor v 
)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

◆ operator>>() [17/18]

BASE_EXPORT QDataStream& operator>> ( QDataStream &  ds,
Quat2 o 
)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

◆ operator>>() [18/18]

BASE_EXPORT QDataStream& operator>> ( QDataStream &  ds,
Quat3 o 
)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

◆ operator[]()

const double & SymTensor::operator[] ( unsigned int  i) const
inline

Allows Index access to tensor components.

Order = xx, yy, zz, xy, xz, yz.... base 0

◆ operator|()

template<class T >
T operator| ( const Vector2< T > &  ,
const AVector2< T > &   
)
related

Dot product operator between a Vector2 and an AVector2, returns 0.

◆ registerType()

template<class T >
static bool Variant::registerType ( int  type,
const String &  name 
)
static

This method allows user-defined types to be encoded in a variant.

Two steps must be followed.

First, a static instance of a VUserType<T>::typeNumber_ must be created and initialized to zero. Second, this static method must be called with a type number and a string used to indicate the type.

Returns
false if the type number in invalid or is already in use.
Here is an example:
qint32 VUserType<MyType>::typeNumber_(0);
void myInitializationRoutine()
{
Variant::registerType<MyType>(Variant::UserType+20,"My Type");
}

◆ safeDiv()

template<class T >
const T safeDiv ( const T  num,
const T  denom 
)

This function provids "safe" division operation, checks explicitly for zero.

Don't use when performance is important! (Could add overflow underflow checking here, but would have to find a way to do that without undue calculation burden)

◆ setCurrentDirectory()

BASE_EXPORT bool setCurrentDirectory ( const QString &  dir)

Reentrant versions of setCurrentDirectory and QDir::getCurrent. Those functions are not re-entrant (even though they are documented as such).

◆ setToRawData()

void Variant::setToRawData ( )

Clears the current contents of the Variant, and indicates that this variant will now hold raw data installed in it's available memory. Use the getRawData() method to access a pointer to the start of this memory.

Warning
{ Any attempt to store more than getRawDataSize() bytes will result in overwriting of random memory! }
See also
getRawData() getRawDataSize()

◆ setToUserType()

template<class T >
void Variant::setToUserType ( const T &  t)

Converts the variant to contain a copy of a user-specified type T. The type must have been previously registered with registerType().

See also
toUserType() isUserType() registerType() moveToUserType()

◆ to()

template<class D , class T >
D to ( const T &  t)

This template function serves as an alternative to static_cast<T>().

It is not as verbose, and it checks for out-of-range casting in debug mode.

◆ toAIVect3()

template<class T >
IAVect3 toAIVect3 ( const Vector3< T > &  v)
related

Converts a Vector3 to an Int AVect3 (no loss of components)

◆ toAUVect3()

template<class T >
UAVect3 toAUVect3 ( const Vector3< T > &  v)
related

Converts a Vector3 to a UInt AVect3 (no loss of components)

◆ toAVect2() [1/2]

template<class T >
const AVector2< T > & toAVect2 ( const AVector2< T > &  v)
related

Converts a AVector2 to an AVector2 ( Identity )

◆ toAVect2() [2/2]

template<class T >
AVector2< T > toAVect2 ( const AVector3< T > &  v)
related

Converts a AVector3 to an AVector2 (x and y components are lost)

◆ toAVect3() [1/2]

template<class T >
AVector3< T > toAVect3 ( const AVector2< T > &  v,
const T &  x = 0,
const T &  y = 0 
)
related

Converts a AVector2 to an AVector3 (with optional additional x and y components)

◆ toAVect3() [2/2]

template<class T >
const AVector3< T > & toAVect3 ( const AVector3< T > &  v)
related

Converts a AVector3 to an AVector3 ( Identity )

◆ toBool() [1/3]

bool toBool ( const string &  in,
const string &  out = "on,off,true,false,yes,no" 
)
inline

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

◆ toBool() [2/3]

bool Variant::toBool ( bool *  success = 0) const

Attempts to convert the Variant type to the indicated type.
A failed conversion will return 0, or whatever the default constructed value is in general.

Parameters
successIf provided, is true if the conversion was successful and false otherwise.

◆ toBool() [3/3]

BASE_EXPORT bool toBool ( const QString &  in,
bool *  ok = 0,
const QString &  out = "on,off,true,false,yes,no" 
)

Converts from a QString to a bool, using the same rules as isBool().
Returns the result of the conversion, while ok is filled with true on success, false otherwise.

◆ toByte()

Byte Variant::toByte ( bool *  success = 0) const

Attempts to convert the Variant type to the indicated type.
A failed conversion will return 0, or whatever the default constructed value is in general.

Parameters
successIf provided, is true if the conversion was successful and false otherwise.

◆ toBytes()

BASE_EXPORT QString toBytes ( const quint64 &  ul)

Converts number ul into a memory size string.

Uses units of Bytes, KBytes, or MBytes depending on size.

◆ toDAVect2()

template<class T >
DAVect2 toDAVect2 ( const AVector2< T > &  v)
related

Converts an AVector2<T> to a Double version.

◆ toDAVect3()

template<class T >
DAVect3 toDAVect3 ( const Vector3< T > &  v)
related

Converts a Vector3 to a Double AVect3 (no loss of components)

◆ toDouble() [1/2]

double toDouble ( const string &  in)
inline

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

◆ toDouble() [2/2]

Double Variant::toDouble ( bool *  success = 0) const

Attempts to convert the Variant type to the indicated type.
A failed conversion will return 0, or whatever the default constructed value is in general.

Parameters
successIf provided, is true if the conversion was successful and false otherwise.

◆ toDVect2() [1/2]

DVect2 Variant::toDVect2 ( bool *  success = 0) const

Attempts to convert the Variant type to the indicated type.
A failed conversion will return 0, or whatever the default constructed value is in general.

Parameters
successIf provided, is true if the conversion was successful and false otherwise.

◆ toDVect2() [2/2]

template<class T >
DVect2 toDVect2 ( const Vector2< T > &  v)
related

Conversion routines between various predefined types of Vector2.

◆ toDVect3() [1/2]

DVect3 Variant::toDVect3 ( bool *  success = 0) const

Attempts to convert the Variant type to the indicated type.
A failed conversion will return 0, or whatever the default constructed value is in general.

Parameters
successIf provided, is true if the conversion was successful and false otherwise.

◆ toDVect3() [2/2]

template<class T >
DVect3 toDVect3 ( const Vector3< T > &  v)
related

Conversion routines between various predefined types of Vector3.

◆ toDVMatrix()

template<unsigned SX>
DVMatrix<SX> toDVMatrix ( const DVect3 v,
unsigned  start = 0 
)

Converts a DVect3 into a DVMatrix of arbitrary length, at an arbitrary starting index. Specialization of function toVMatrix, for convenience.

◆ toFAVect2()

template<class T >
FAVect2 toFAVect2 ( const AVector2< T > &  v)
related

Converts an AVector2<T> to a Float version.

◆ toFAVect3()

template<class T >
FAVect3 toFAVect3 ( const Vector3< T > &  v)
related

Converts a Vector3 to a Float AVect3 (no loss of components)

◆ toFloat()

Float Variant::toFloat ( bool *  success = 0) const

Attempts to convert the Variant type to the indicated type.
A failed conversion will return 0, or whatever the default constructed value is in general.

Parameters
successIf provided, is true if the conversion was successful and false otherwise.

◆ toFVect2()

template<class T >
FVect2 toFVect2 ( const Vector2< T > &  v)
related

Conversion routines between various predefined types of Vector2.

◆ toFVect3()

template<class T >
FVect3 toFVect3 ( const Vector3< T > &  v)
related

Conversion routines between various predefined types of Vector3.

◆ toIAVect2()

template<class T >
IAVect2 toIAVect2 ( const AVector2< T > &  v)
related

Converts an AVector2<T> to an Int version

◆ toInt()

Int Variant::toInt ( bool *  success = 0) const

Attempts to convert the Variant type to the indicated type.
A failed conversion will return 0, or whatever the default constructed value is in general.

Parameters
successIf provided, is true if the conversion was successful and false otherwise.

◆ toIVect2() [1/2]

IVect2 Variant::toIVect2 ( bool *  success = 0) const

Attempts to convert the Variant type to the indicated type.
A failed conversion will return 0, or whatever the default constructed value is in general.

Parameters
successIf provided, is true if the conversion was successful and false otherwise.

◆ toIVect2() [2/2]

template<class T >
IVect2 toIVect2 ( const Vector2< T > &  v)
related

Conversion routines between various predefined types of Vector2.

◆ toIVect3() [1/2]

IVect3 Variant::toIVect3 ( bool *  success = 0) const

Attempts to convert the Variant type to the indicated type.
A failed conversion will return 0, or whatever the default constructed value is in general.

Parameters
successIf provided, is true if the conversion was successful and false otherwise.

◆ toIVect3() [2/2]

template<class T >
IVect3 toIVect3 ( const Vector3< T > &  v)
related

Conversion routines between various predefined types of Vector3.

◆ toLong()

Long Variant::toLong ( bool *  success = 0) const

Attempts to convert the Variant type to the indicated type.
A failed conversion will return 0, or whatever the default constructed value is in general.

Parameters
successIf provided, is true if the conversion was successful and false otherwise.

◆ toMatrix() [1/3]

template<class T >
VMatrix< T, 2 > toMatrix ( const Vector2< T > &  v)
related

Converts a Vector2 into a VMatrix

◆ toMatrix() [2/3]

template<class T >
VMatrix< T, 3 > toMatrix ( const Vector3< T > &  v)
related

Converts a Vector3 into a VMatrix

◆ toMatrix() [3/3]

template<unsigned SX, unsigned SY = SX>
BASE_EXPORT DMatrix< 3, 3 > toMatrix ( const SymTensor s)
related

Converts a SymTensor into a Symmetrix 3x3 double matrix (DMatrix).

◆ toQString() [1/20]

BASE_EXPORT QString toQString ( const QString &  s,
int  width = 0,
char  fill = ' ' 
)

Converts from a base type to a QString, using the width and fill character specified.

A positive width indicates right-aligned text, a negative width indicates left-aligned text.
For floating point values, the format specifications are:

  • 'e' format as [-]9.9e[+|-]99
  • 'E' format as [-]9.9E[+|-]99
  • 'f' format as [-]9.9
  • 'g' use e or f format, whichever is most concise.
  • 'G' use E or f format, whichever is most concise.

◆ toQString() [2/20]

BASE_EXPORT QString toQString ( const char *  str,
int  width = 0,
char  fill = ' ' 
)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

◆ toQString() [3/20]

BASE_EXPORT QString toQString ( const qint8 &  v,
int  width = 0,
char  fill = ' ' 
)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

◆ toQString() [4/20]

BASE_EXPORT QString toQString ( const quint8 &  v,
int  width = 0,
char  fill = ' ' 
)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

◆ toQString() [5/20]

BASE_EXPORT QString toQString ( const qint16 &  v,
int  width = 0,
char  fill = ' ' 
)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

◆ toQString() [6/20]

BASE_EXPORT QString toQString ( const quint16 &  v,
int  width = 0,
char  fill = ' ' 
)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

◆ toQString() [7/20]

BASE_EXPORT QString toQString ( const qint32 &  v,
int  width = 0,
char  fill = ' ' 
)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

◆ toQString() [8/20]

BASE_EXPORT QString toQString ( const quint32 &  v,
int  width = 0,
char  fill = ' ' 
)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

◆ toQString() [9/20]

BASE_EXPORT QString toQString ( const qint64 &  v,
int  width = 0,
char  fill = ' ' 
)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

◆ toQString() [10/20]

BASE_EXPORT QString toQString ( const quint64 &  v,
int  width = 0,
char  fill = ' ' 
)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

◆ toQString() [11/20]

BASE_EXPORT QString toQString ( const String &  v,
int  width,
char  fill = ' ' 
)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

◆ toQString() [12/20]

BASE_EXPORT QString toQString ( const float &  v,
int  width = 0,
char  format = 'g',
int  precision = -1,
char  fill = ' ' 
)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

◆ toQString() [13/20]

BASE_EXPORT QString toQString ( const double &  v,
int  width = 0,
char  format = 'g',
int  precision = -1,
char  fill = ' ' 
)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

◆ toQString() [14/20]

BASE_EXPORT QString toQString ( const SymTensor v,
int  width = 0,
char  format = 'g',
int  precision = -1,
char  fill = ' ' 
)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

◆ toQString() [15/20]

BASE_EXPORT QString toQString ( const QVariant &  v,
int  width = 0,
char  fill = ' ',
char  format = 'g',
int  precision = -1 
)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

◆ toQString() [16/20]

BASE_EXPORT QString toQString ( bool  b,
const QString &  out = "on,off",
int  width = 0,
char  fill = ' ' 
)

Outputs a bool, using the out string (comma delimited) to determine the true of false output value. The default value of out is "on,off".

◆ toQString() [17/20]

template<class T >
QString toQString ( const Vector2< T > &  v,
int  width = 0,
char  fmt = 'g',
int  prec = -1,
char  fill = ' ' 
)
inline

Converts a Vector2<T> to a string, using the save width, fmt, prec, and fill arguments as toQString(const double &,...). width indicates the total width, which is output in the format (x,y).

This means each component gets (w-3)/2 characters width.

◆ toQString() [18/20]

template<class T >
QString toQString ( const Vector3< T > &  v,
int  width = 0,
char  fmt = 'g',
int  prec = -1,
char  fill = ' ' 
)
inline

Converts a Vector3<T> to a string, using the save width, fmt, prec, and fill arguments as toQString(const double &,...). width indicates the total width, which is output in the format (x,y,z).

This means each component gets (w-4)/3 characters width.

◆ toQString() [19/20]

template<class T >
QString toQString ( const AVector2< T > &  v,
int  width = 0,
char  fmt = 'g',
int  prec = -1,
char  fill = ' ' 
)
inline

Converts a AVector2<T> to a string, using the save width, fmt, prec, and fill arguments as toQString(const double &,...). width indicates the total width, which is output in the format (x,y).

This means each component gets (w-3)/2 characters width.

◆ toQString() [20/20]

template<class T >
QString toQString ( const AVector3< T > &  v,
int  width = 0,
char  fmt = 'g',
int  prec = -1,
char  fill = ' ' 
)
inline

Converts a AVector3<T> to a string, using the save width, fmt, prec, and fill arguments as toQString(const double &,...). width indicates the total width, which is output in the format (x,y,z).

This means each component gets (w-4)/3 characters width.

◆ toQVariant()

BASE_EXPORT QVariant toQVariant ( const Variant v)

Convert a Variant to a QVariant. This works for any type, technically. For user-defined types, raw data, etc. the entire Variant is stored in the QVariant.

◆ toShort()

Short Variant::toShort ( bool *  success = 0) const

Attempts to convert the Variant type to the indicated type.
A failed conversion will return 0, or whatever the default constructed value is in general.

Parameters
successIf provided, is true if the conversion was successful and false otherwise.

◆ toString()

String Variant::toString ( bool *  success = 0) const

Attempts to convert the Variant type to the indicated type.
A failed conversion will return 0, or whatever the default constructed value is in general.

Parameters
successIf provided, is true if the conversion was successful and false otherwise.

◆ toSymMatrix()

template<unsigned SX, unsigned SY = SX>
BASE_EXPORT DSymMatrix< 3 > toSymMatrix ( const SymTensor s)
related

Converts a SymTensor into a Symmetrix 3x3 double matrix (DSymMatrix).

◆ toSymTensor() [1/2]

template<unsigned SX, unsigned SY = SX>
SymTensor toSymTensor ( const DMatrix< 3, 3 > &  m)
related

Converts a 3x3 DMatrix into a SymTensor. The diagonal components of m are averaged to create a Symmetric result.

◆ toSymTensor() [2/2]

template<unsigned SX>
SymTensor toSymTensor ( const DSymMatrix< 3 > &  m)
related

Converts a 3x3 DSymMatrix into a SymTensor.

◆ toUAVect2()

template<class T >
UAVect2 toUAVect2 ( const AVector2< T > &  v)
related

Converts an AVector2<T> to a UInt version.

◆ toUByte()

UByte Variant::toUByte ( bool *  success = 0) const

Attempts to convert the Variant type to the indicated type.
A failed conversion will return 0, or whatever the default constructed value is in general.

Parameters
successIf provided, is true if the conversion was successful and false otherwise.

◆ toUInt() [1/2]

uint32 toUInt ( const string &  in)
inline

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

◆ toUInt() [2/2]

UInt Variant::toUInt ( bool *  success = 0) const

Attempts to convert the Variant type to the indicated type.
A failed conversion will return 0, or whatever the default constructed value is in general.

Parameters
successIf provided, is true if the conversion was successful and false otherwise.

◆ toULong() [1/2]

uint64 toULong ( const string &  in)
inline

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

◆ toULong() [2/2]

ULong Variant::toULong ( bool *  success = 0) const

Attempts to convert the Variant type to the indicated type.
A failed conversion will return 0, or whatever the default constructed value is in general.

Parameters
successIf provided, is true if the conversion was successful and false otherwise.

◆ toUserType()

template<class T >
T Variant::toUserType ( ) const

Attempts to convert the Variant to a specific user type. In general, conversion from different user-types is not possible, so this will only succeed if the Variant was set to exactly this type. Will return a default contructed value of type T if the conversion is not possible.

See also
setToUserType() isUserType() registerType() moveToUserType()

◆ toUShort()

UShort Variant::toUShort ( bool *  success = 0) const

Attempts to convert the Variant type to the indicated type.
A failed conversion will return 0, or whatever the default constructed value is in general.

Parameters
successIf provided, is true if the conversion was successful and false otherwise.

◆ toUVect2()

template<class T >
UVect2 toUVect2 ( const Vector2< T > &  v)
related

Conversion routines between various predefined types of Vector2.

◆ toUVect3()

template<class T >
UVect3 toUVect3 ( const Vector3< T > &  v)
related

Conversion routines between various predefined types of Vector3.

◆ toVariant()

BASE_EXPORT Variant toVariant ( const QVariant &  v)

Convert a QVariant to a Variant.

This does not work for user-defined types. If the QVariant type is not allowed by the Variant, an exception is thrown.

◆ toVect2() [1/3]

template<class T >
Vector2< T > toVect2 ( const AVector2< T > &  )
related

Converts a AVector2 to an Vector2(0,0)

◆ toVect2() [2/3]

template<class T >
Vector2< T > toVect2 ( const AVector3< T > &  v)
related

Converts a AVector3 to an Vector2(x,y) { the z component is lost }

◆ toVect2() [3/3]

template<class T >
Vector2<T> toVect2 ( const Vector3< T > &  v)
inline

Conversion between vectors of different dimension.

◆ toVect3() [1/4]

template<class T >
Vector3< T > toVect3 ( const AVector2< T > &  v)
related

Converts a AVector2 to an Vector3(0,0,z)

◆ toVect3() [2/4]

template<class T >
const Vector3< T > & toVect3 ( const AVector3< T > &  v)
related

Converts a AVector3 to an Vector3 (no loss)

◆ toVect3() [3/4]

template<class T >
Vector3<T> toVect3 ( const Vector2< T > &  v,
const T &  t = 0 
)
inline

Conversion between vectors of different dimension.

◆ toVect3() [4/4]

template<class T >
const Vector3<T>& toVect3 ( const Vector3< T > &  v)
inline

Conversion between vectors of different dimension.

◆ toVoid()

void * Variant::toVoid ( bool *  success = 0) const

Attempts to convert the Variant type to the indicated type.
A failed conversion will return 0, or whatever the default constructed value is in general.

Parameters
successIf provided, is true if the conversion was successful and false otherwise.

◆ Variant() [1/19]

BASE_EXPORT Variant::Variant ( const Int v = 0)
inline

Default constructor, also the Int conversion constructor. Note that a default Variant is an integer of value 0.

◆ Variant() [2/19]

BASE_EXPORT Variant::Variant ( const bool &  v)
inline

Conversion contructor – this function and the ones like it allow automatic conversion of Variants from the built-in types.

◆ Variant() [3/19]

BASE_EXPORT Variant::Variant ( const Byte v)
inline

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

◆ Variant() [4/19]

BASE_EXPORT Variant::Variant ( const UByte v)
inline

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

◆ Variant() [5/19]

BASE_EXPORT Variant::Variant ( const Short v)
inline

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

◆ Variant() [6/19]

BASE_EXPORT Variant::Variant ( const UShort v)
inline

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

◆ Variant() [7/19]

BASE_EXPORT Variant::Variant ( const UInt v)
inline

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

◆ Variant() [8/19]

BASE_EXPORT Variant::Variant ( const Long v)
inline

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

◆ Variant() [9/19]

BASE_EXPORT Variant::Variant ( const ULong v)
inline

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

◆ Variant() [10/19]

BASE_EXPORT Variant::Variant ( const Float v)
inline

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

◆ Variant() [11/19]

BASE_EXPORT Variant::Variant ( const Double v)
inline

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

◆ Variant() [12/19]

BASE_EXPORT Variant::Variant ( void *  v)
inline

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

◆ Variant() [13/19]

BASE_EXPORT Variant::Variant ( const void *  v)
inline

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

◆ Variant() [14/19]

BASE_EXPORT Variant::Variant ( const IVect2 &  v)
inline

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

◆ Variant() [15/19]

BASE_EXPORT Variant::Variant ( const DVect2 &  v)
inline

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

◆ Variant() [16/19]

BASE_EXPORT Variant::Variant ( const IVect3 &  v)
inline

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

◆ Variant() [17/19]

BASE_EXPORT Variant::Variant ( const DVect3 &  v)
inline

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

◆ Variant() [18/19]

Variant::Variant ( const String &  v)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

◆ Variant() [19/19]

Variant::Variant ( const Char v)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

◆ vceil() [1/4]

template<class T >
AVector3< T > vceil ( const AVector3< T > &  v)
related

Returns the "ceil" of each component of the vector, only valid for double or float types.

◆ vceil() [2/4]

template<class T >
AVector2< T > vceil ( const AVector2< T > &  v)
related

Returns the "ceil" of each component of the vector, only valid for double or float types.

◆ vceil() [3/4]

template<class T >
Vector2< T > vceil ( const Vector2< T > &  v)
related

Returns the "ceil" of each component of the vector, only valid for double or float types.

◆ vceil() [4/4]

template<class T >
Vector3< T > vceil ( const Vector3< T > &  v)
related

Returns the "ceil" of each component of the vector, only valid for double or float types.

◆ vfloor() [1/2]

template<class T >
Vector2< T > vfloor ( const Vector2< T > &  v)
related

Returns the "floor" of each component of the vector, only valid for double or float types.

◆ vfloor() [2/2]

template<class T >
Vector3< T > vfloor ( const Vector3< T > &  v)
related

Returns the "floor" of each component of the vector, only valid for double or float types.

◆ vmax() [1/4]

template<class T >
AVector3< T > vmax ( const AVector3< T > &  v1,
const AVector3< T > &  v2 
)
related

Finds the "component" maximums, the return vector is the max of the respective components in v1,v2.

◆ vmax() [2/4]

template<class T >
AVector2< T > vmax ( const AVector2< T > &  v1,
const AVector2< T > &  v2 
)
related

Finds the "component" maximums, the return vector is the max of the respective components in v1,v2.

◆ vmax() [3/4]

template<class T >
Vector2< T > vmax ( const Vector2< T > &  v1,
const Vector2< T > &  v2 
)
related

Finds the "component" maximums, the return vector is the max of the respective components in v1,v2.

◆ vmax() [4/4]

template<class T >
Vector3< T > vmax ( const Vector3< T > &  v1,
const Vector3< T > &  v2 
)
related

Finds the "component" maximums, the return vector is the max of the respective components in v1,v2.

◆ vmin() [1/4]

template<class T >
AVector3< T > vmin ( const AVector3< T > &  v1,
const AVector3< T > &  v2 
)
related

Finds the "component" minimums, the return vector is the min of the respective components in v1,v2.

◆ vmin() [2/4]

template<class T >
AVector2< T > vmin ( const AVector2< T > &  v1,
const AVector2< T > &  v2 
)
related

Finds the "component" minimums, the return vector is the min of the respective components in v1,v2.

◆ vmin() [3/4]

template<class T >
Vector2< T > vmin ( const Vector2< T > &  v1,
const Vector2< T > &  v2 
)
related

Finds the "component" minimums, the return vector is the min of the respective components in v1,v2.

◆ vmin() [4/4]

template<class T >
Vector3< T > vmin ( const Vector3< T > &  v1,
const Vector3< T > &  v2 
)
related

Finds the "component" minimums, the return vector is the min of the respective components in v1,v2.

◆ vround() [1/2]

template<class T >
IVect2 vround ( const Vector2< T > &  v)
related

Returns the "round" of each component of the vector, only valid for double or float types.

◆ vround() [2/2]

template<class T >
IVect3 vround ( const Vector3< T > &  v)
related

Returns the "round" of each component of the vector, only valid for double or float types.

◆ vsign() [1/4]

template<class T >
AVector3< T > vsign ( const AVector3< T > &  v1,
const AVector3< T > &  v2 
)
related

This function returns the components of v1 with the same sign as the respective components in v2.

◆ vsign() [2/4]

template<class T >
AVector2< T > vsign ( const AVector2< T > &  v1,
const AVector2< T > &  v2 
)
related

This function returns the components of v1 with the same sign as the respective components in v2.

◆ vsign() [3/4]

template<class T >
Vector2< T > vsign ( const Vector2< T > &  v1,
const Vector2< T > &  v2 
)
related

This function returns the components of v1 with the same sign as the respective components in v2.

◆ vsign() [4/4]

template<class T >
Vector3< T > vsign ( const Vector3< T > &  v1,
const Vector3< T > &  v2 
)
related

This function returns the components of v1 with the same sign as the respective components in v2.

Friends

◆ operator<<

BASE_EXPORT QDataStream& operator<< ( QDataStream &  ,
const Variant  
)
friend

Allows writing a Variant to a QDataStream.

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.