MorphoGraphX  2.0-1-227
Classes | Namespaces | Macros | Typedefs | Functions | Variables
Attributes.hpp File Reference
#include <Config.hpp>
#include <QFile>
#include <QTextStream>
#include <Hash.hpp>
#include <Types.hpp>
#include <Information.hpp>
#include <Progress.hpp>
#include <Triangle.hpp>
#include <Colors.hpp>
#include <tbb/concurrent_unordered_map.h>
#include <omp.h>
#include <Features.hpp>
#include <tr1/type_traits>
#include <Common.hpp>

Go to the source code of this file.

Classes

struct  enable_if< bool, _Tp >
 
struct  enable_if< true, _Tp >
 
class  mgx::AttrMap< KeyT, ValueT >
 Attribute map wraps std::map. More...
 
class  mgx::Attributes
 Holds a set of attributes. More...
 

Namespaces

 mgx
 Distributed matrix library.
 

Macros

#define is_trivially_copyable
 
#define STD_MAP
 
#define IS_POD(T)
 Determines if template arguments are plain old data (POD) types. More...
 

Typedefs

typedef Vector< 2, Colorb > mgx::Vec2Colorb
 
typedef Vector< 3, Colorb > mgx::Vec3Colorb
 
typedef AttrMap< int, int > mgx::IntIntAttr
 
typedef AttrMap< int, float > mgx::IntFloatAttr
 
typedef AttrMap< int, Point3f > mgx::IntPoint3fAttr
 
typedef AttrMap< int, Colorb > mgx::IntColorbAttr
 
typedef AttrMap< int, Vec2Colorb > mgx::IntVec2ColorbAttr
 
typedef AttrMap< int, Vec3Colorb > mgx::IntVec3ColorbAttr
 
typedef AttrMap< int, Matrix3f > mgx::IntMatrix3fAttr
 
typedef AttrMap< int, SymmetricTensor > mgx::IntSymTensorAttr
 
typedef AttrMap< int, QString > mgx::IntQStringAttr
 
typedef AttrMap< IntIntPair, float > mgx::IntIntFloatAttr
 
typedef AttrMap< IntIntPair, Point3f > mgx::IntIntPoint3fAttr
 
typedef AttrMap< vertex, int > mgx::VtxIntAttr
 
typedef AttrMap< vertex, bool > mgx::VtxBoolAttr
 
typedef AttrMap< vertex, float > mgx::VtxFloatAttr
 
typedef AttrMap< vertex, Point2f > mgx::VtxPoint2fAttr
 
typedef AttrMap< vertex, Point3f > mgx::VtxPoint3fAttr
 
typedef AttrMap< vertex, Colorb > mgx::VtxColorbAttr
 
typedef AttrMap< vertex, Vec2Colorb > mgx::VtxVec2ColorbAttr
 
typedef AttrMap< vertex, Vec3Colorb > mgx::VtxVec3ColorbAttr
 
typedef AttrMap< vertex, Matrix3f > mgx::VtxMatrix3fAttr
 
typedef AttrMap< vertex, SymmetricTensor > mgx::VtxSymTensorAttr
 
typedef AttrMap< vertex, QString > mgx::VtxQStringAttr
 
typedef AttrMap< edge, int > mgx::EdgeIntAttr
 
typedef AttrMap< edge, bool > mgx::EdgeBoolAttr
 
typedef AttrMap< edge, float > mgx::EdgeFloatAttr
 
typedef AttrMap< edge, Point2f > mgx::EdgePoint2fAttr
 
typedef AttrMap< edge, Point3f > mgx::EdgePoint3fAttr
 
typedef AttrMap< edge, Colorb > mgx::EdgeColorbAttr
 
typedef AttrMap< edge, Vec2Colorb > mgx::EdgeVec2ColorbAttr
 
typedef AttrMap< edge, Vec3Colorb > mgx::EdgeVec3ColorbAttr
 
typedef AttrMap< edge, Matrix3f > mgx::EdgeMatrix3fAttr
 
typedef AttrMap< edge, SymmetricTensor > mgx::EdgeSymTensorAttr
 
typedef AttrMap< edge, QString > mgx::EdgeQStringAttr
 
typedef AttrMap< cell, int > mgx::CellIntAttr
 
typedef AttrMap< cell, bool > mgx::CellBoolAttr
 
typedef AttrMap< cell, float > mgx::CellFloatAttr
 
typedef AttrMap< cell, Point2f > mgx::CellPoint2fAttr
 
typedef AttrMap< cell, Point3f > mgx::CellPoint3fAttr
 
typedef AttrMap< cell, Colorb > mgx::CellColorbAttr
 
typedef AttrMap< cell, Vec2Colorb > mgx::CellVec2ColorbAttr
 
typedef AttrMap< cell, Vec3Colorb > mgx::CellVec3ColorbAttr
 
typedef AttrMap< cell, Matrix3f > mgx::CellMatrix3fAttr
 
typedef AttrMap< cell, SymmetricTensor > mgx::CellSymTensorAttr
 
typedef AttrMap< cell, QString > mgx::CellQStringAttr
 
typedef AttrMap< wall, int > mgx::WallIntAttr
 
typedef AttrMap< wall, bool > mgx::WallBoolAttr
 
typedef AttrMap< wall, float > mgx::WallFloatAttr
 
typedef AttrMap< wall, Point2f > mgx::WallPoint2fAttr
 
typedef AttrMap< wall, Point3f > mgx::WallPoint3fAttr
 
typedef AttrMap< wall, Colorb > mgx::WallColorbAttr
 
typedef AttrMap< wall, Vec2Colorb > mgx::WallVec2ColorbAttr
 
typedef AttrMap< wall, Vec3Colorb > mgx::WallVec3ColorbAttr
 
typedef AttrMap< wall, Matrix3f > mgx::WallMatrix3fAttr
 
typedef AttrMap< wall, SymmetricTensor > mgx::WallSymTensorAttr
 
typedef AttrMap< wall, QString > mgx::WallQStringAttr
 
typedef AttrMap< Triangle, int > mgx::TriIntAttr
 
typedef AttrMap< Triangle, bool > mgx::TriBoolAttr
 
typedef AttrMap< Triangle, float > mgx::TriFloatAttr
 
typedef AttrMap< Triangle, Point2f > mgx::TriPoint2fAttr
 
typedef AttrMap< Triangle, Point3f > mgx::TriPoint3fAttr
 
typedef AttrMap< Triangle, Colorb > mgx::TriColorbAttr
 
typedef AttrMap< Triangle, Vec2Colorb > mgx::TriVec2ColorbAttr
 
typedef AttrMap< Triangle, Vec3Colorb > mgx::TriVec3ColorbAttr
 
typedef AttrMap< Triangle, Matrix3f > mgx::TriMatrix3fAttr
 
typedef AttrMap< Triangle, SymmetricTensor > mgx::TriSymTensorAttr
 
typedef AttrMap< Triangle, QString > mgx::TriQStringAttr
 
typedef AttrMap< QString, int > mgx::QStringIntAttr
 
typedef AttrMap< QString, float > mgx::QStringFloatAttr
 
typedef AttrMap< QString, Point3f > mgx::QStringPoint3fAttr
 
typedef AttrMap< QString, Colorb > mgx::QStringColorbAttr
 
typedef AttrMap< QString, Vec2Colorb > mgx::QStringVec2ColorbAttr
 
typedef AttrMap< QString, Vec3Colorb > mgx::QStringVec3ColorbAttr
 
typedef AttrMap< QString, Matrix3f > mgx::QStringMatrix3fAttr
 
typedef AttrMap< QString, SymmetricTensor > mgx::QStringSymTensorAttr
 
typedef AttrMap< QString, QString > mgx::QStringQStringAttr
 

Functions

template<typename T >
bool mgx::readAttr (T &data, const QByteArray &ba, size_t &pos)
 Read the attribute value from a QByteArray. More...
 
template<size_t n, size_t m, typename T >
bool mgx::readAttr (Matrix< n, m, T > &data, const QByteArray &ba, size_t &pos)
 
template<size_t n, typename T >
bool mgx::readAttr (Vector< n, T > &data, const QByteArray &ba, size_t &pos)
 
template<size_t n>
bool mgx::readAttr (Vector< n, Colorb > &data, const QByteArray &ba, size_t &pos)
 
template<typename T , typename U >
bool mgx::readAttr (std::pair< T, U > &data, const QByteArray &ba, size_t &pos)
 
template<>
bool mgx::readAttr (SymmetricTensor &data, const QByteArray &ba, size_t &pos)
 
template<>
bool mgx::readAttr (vertex &v, const QByteArray &ba, size_t &pos)
 
template<>
bool mgx::readAttr (VtxVtxPair &pr, const QByteArray &ba, size_t &pos)
 
template<>
bool mgx::readAttr (Triangle &t, const QByteArray &ba, size_t &pos)
 
template<>
bool mgx::readAttr (CellCellPair &pr, const QByteArray &ba, size_t &pos)
 
template<>
bool mgx::readAttr (QString &data, const QByteArray &ba, size_t &pos)
 
template<>
bool mgx::readAttr (QStringList &data, const QByteArray &ba, size_t &pos)
 
template<>
bool mgx::readAttr (QByteArray &qba, const QByteArray &ba, size_t &pos)
 
template<>
bool mgx::readAttr (Colorb &color, const QByteArray &ba, size_t &pos)
 
template<typename T >
bool mgx::readAttr (std::vector< T > &data, const QByteArray &ba, size_t &pos)
 
template<typename KeyT , typename ValueT >
bool mgx::readAttr (std::map< KeyT, ValueT > &data, const QByteArray &ba, size_t &pos)
 
template<typename T >
bool mgx::writeAttr (const T &data, QByteArray &ba)
 Write the attribute value from a QByteArray. More...
 
template<size_t n, size_t m, typename T >
bool mgx::writeAttr (const Matrix< n, m, T > &data, QByteArray &ba)
 
template<size_t n, typename T >
bool mgx::writeAttr (const Vector< n, T > &data, QByteArray &ba)
 
template<size_t n>
bool mgx::writeAttr (const Vector< n, Colorb > &data, QByteArray &ba)
 
template<typename T , typename U >
bool mgx::writeAttr (const std::pair< T, U > &data, QByteArray &ba)
 
template<>
bool mgx::writeAttr (const SymmetricTensor &data, QByteArray &ba)
 
template<>
bool mgx::writeAttr (const vertex &v, QByteArray &ba)
 
template<>
bool mgx::writeAttr (const VtxVtxPair &e, QByteArray &ba)
 
template<>
bool mgx::writeAttr (const Triangle &t, QByteArray &ba)
 
template<>
bool mgx::writeAttr (const CellCellPair &w, QByteArray &ba)
 
template<>
bool mgx::writeAttr (const QString &s, QByteArray &ba)
 
template<>
bool mgx::writeAttr (const QStringList &s, QByteArray &ba)
 
template<>
bool mgx::writeAttr (const QByteArray &qba, QByteArray &ba)
 
template<>
bool mgx::writeAttr (const Colorb &color, QByteArray &ba)
 
template<typename T >
bool mgx::writeAttr (const std::vector< T > &data, QByteArray &ba)
 
template<typename KeyT , typename ValueT >
bool mgx::writeAttr (const std::map< KeyT, ValueT > &data, QByteArray &ba)
 
template<typename KeyT , typename ValueT >
ValueT & mgx::operator->* (const KeyT &key, AttrMap< KeyT, ValueT > &map)
 
template<typename KeyT , typename ValueT >
ValueT & mgx::operator->* (const KeyT &key, AttrMap< KeyT, ValueT > *map)
 
template<typename ValueT >
ValueT & mgx::operator->* (const wall &e, AttrMap< CellCellPair, ValueT > *map)
 
template<typename ValueT >
ValueT & mgx::operator->* (const wall &e, AttrMap< CellCellPair, ValueT > &map)
 
template<typename ValueT >
ValueT & mgx::operator->* (const edge &e, AttrMap< VtxVtxPair, ValueT > &map)
 
template<typename ValueT >
ValueT & mgx::operator->* (const edge &e, AttrMap< VtxVtxPair, ValueT > *map)
 

Variables

mgx_EXPORT IntVtxMap * mgx::vMap
 Maps for saveId for vertices and cells, created when file is read Globals required for overloads of readAttr and writeAttr for custom types. More...
 
mgx_EXPORT IntCellMap * mgx::cMap
 

Detailed Description

This file contains the attribute system

Definition in file Attributes.hpp.

Macro Definition Documentation

◆ IS_POD

#define IS_POD (   T)

Determines if template arguments are plain old data (POD) types.

TODO: what exactly does it mean? That they are always save/loadable to/from memory dump?

Definition at line 59 of file Attributes.hpp.

◆ is_trivially_copyable

#define is_trivially_copyable

Definition at line 42 of file Attributes.hpp.

◆ STD_MAP

#define STD_MAP

Definition at line 48 of file Attributes.hpp.