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();
A class storing tables with (position, weight) pairs for line, triangle and tetrahedron Gauss integra...
Definition gmGaussIntegrationTables.h:37
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
static int lineRuleDegree(int rule)
Returns the integration degree for the given line Gauss rule (The polynomial degree for which this ...
Definition gmGaussIntegrationTables.h:54
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 pyraRuleDegree(int rule)
Returns the integration degree for the given pyramid Gauss rule (The polynomial degree for which this...
Definition gmGaussIntegrationTables.h:105
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 tetRuleDegree(int rule)
Returns the integration degree for the given tetrahedron Gauss rule (The polynomial degree for which ...
Definition gmGaussIntegrationTables.h:88
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< GmVector, double > > * triRuleTable(int rule)
Returns the table storing (position, weight) pairs for the given triangle Gauss rule....
Definition gmGaussIntegrationTables.h:59
Declaration of useful configuration definitions for the Core library.
#define GMC_API_EXPORT
Macro for controlling if the class is being exported (GEMA_CORE_LIB defined) or imported (GEMA_CORE_L...
Definition gmCoreConfig.h:35
Declaration of the GmVector class.