25 #ifndef _GEMA_GAUSS_INT_TABLES_H_ 26 #define _GEMA_GAUSS_INT_TABLES_H_ 45 if(rule < 1 || rule > 5)
47 assert(!_lineTable[rule-1].isEmpty());
48 return &_lineTable[rule-1];
61 if(rule != 1 && rule != 3 && rule != 6)
63 assert(!_triTable[rule-1].isEmpty());
64 return &_triTable[rule-1];
71 static int triRuleDegree(
int rule) {
return (rule == 1) ? 1 : ((rule == 3) ? 2 : 4); }
78 if(rule != 1 && rule != 4)
80 assert(!_tetTable[rule-1].isEmpty());
81 return &_tetTable[rule-1];
95 if (rule != 1 && rule != 5 && rule != 13)
97 assert(!_pyraTable[rule - 1].isEmpty());
98 return &_pyraTable[rule - 1];
107 static bool initTables();
110 static void initLineTable();
111 static void initTriTable();
112 static void initTetTable();
113 static void initPyraTable();
static int triRuleDegree(int rule)
Returns the integration degree for the given triangle Gauss rule (The polynomial degree for which thi...
Definition: gmGaussIntegrationTables.h:71
static int lineRuleDegree(int rule)
Returns the integration degree for the given line Gauss rule (The polynomial degree.
Definition: gmGaussIntegrationTables.h:54
static const QVector< QPair< GmVector, double > > * triRuleTable(int rule)
Returns the table storing (position, weight) pairs for the given triangle Gauss rule....
Definition: gmGaussIntegrationTables.h:59
Declaration of usefull configuration definitions for the Core library.
static const QVector< QPair< GmVector, double > > * pyraRuleTable(int rule)
Returns the table storing (position, weight) pairs for the given pyramid Gauss rule....
Definition: gmGaussIntegrationTables.h:93
A class storing tables with (position, weight) pairs for line, triangle and tetrahedron Gauss integra...
Definition: gmGaussIntegrationTables.h:36
static int pyraRuleDegree(int rule)
Returns the integration degree for the given pyramid Gauss rule (The polynomial degree for which this...
Definition: gmGaussIntegrationTables.h:105
Declaration of the GmVector class.
#define GMC_API_EXPORT
Macro for controling if the class is being exported (GEMA_CORE_LIB defined) or imported (GEMA_CORE_LI...
Definition: gmCoreConfig.h:35
static const QVector< QPair< GmVector, double > > * tetRuleTable(int rule)
Returns the table storing (position, weight) pairs for the given tetrahedron Gauss rule....
Definition: gmGaussIntegrationTables.h:76
static const QVector< QPair< double, double > > * lineRuleTable(int rule)
Returns the table storing (position, weight) pairs for the given line Gauss rule. Rule SHOULD be in t...
Definition: gmGaussIntegrationTables.h:43
static int tetRuleDegree(int rule)
Returns the integration degree for the given tetrahedron Gauss rule (The polynomial degree for which ...
Definition: gmGaussIntegrationTables.h:88