- GaussInfo( NormalizedCellType theGeometry,
- const DataVector& theGaussCoord,
- int theNbGauss,
- const DataVector& theReferenceCoord,
- int theNbRef
- );
- ~GaussInfo();
-
- NormalizedCellType getCellType() const;
-
- int getGaussCoordDim() const;
- int getReferenceCoordDim() const;
-
- int getNbGauss() const;
- int getNbRef() const;
-
- const double* getFunctionValues( const int theGaussId ) const;
-
- void initLocalInfo() throw (INTERP_KERNEL::Exception);
-
+ INTERPKERNEL_EXPORT GaussInfo( NormalizedCellType theGeometry,
+ const DataVector& theGaussCoord,
+ int theNbGauss,
+ const DataVector& theReferenceCoord,
+ int theNbRef
+ );
+ INTERPKERNEL_EXPORT ~GaussInfo();
+
+ INTERPKERNEL_EXPORT NormalizedCellType getCellType() const;
+
+ INTERPKERNEL_EXPORT int getGaussCoordDim() const;
+ INTERPKERNEL_EXPORT int getReferenceCoordDim() const;
+ INTERPKERNEL_EXPORT DataVector getGaussCoords() const { return _my_gauss_coord; }
+ INTERPKERNEL_EXPORT DataVector getRefCoords() const { return _my_reference_coord; }
+ INTERPKERNEL_EXPORT NormalizedCellType getGeoType() const { return _my_geometry; }
+
+ INTERPKERNEL_EXPORT int getNbGauss() const;
+ INTERPKERNEL_EXPORT int getNbRef() const;
+
+ INTERPKERNEL_EXPORT GaussInfo convertToLinear() const;
+
+ INTERPKERNEL_EXPORT const double *getFunctionValues( const int theGaussId ) const;
+ INTERPKERNEL_EXPORT const double *getDerivativeOfShapeFunctionAt( const int theGaussId ) const;
+
+ INTERPKERNEL_EXPORT void initLocalInfo();
+
+ INTERPKERNEL_EXPORT static std::vector<double> NormalizeCoordinatesIfNecessary(NormalizedCellType ct, int inputDim, const std::vector<double>& inputArray);
+ INTERPKERNEL_EXPORT static std::vector<double> GetDefaultReferenceCoordinatesOf(NormalizedCellType ct);
+ INTERPKERNEL_EXPORT static bool IsInOrOutForReference(NormalizedCellType ct, const double *ptInRefCoo, double eps);
+ public:
+ static const double SEG2A_REF[2];
+ static const double SEG2B_REF[2];
+ static const double SEG3_REF[3];
+ static const double TRIA3A_REF[6];
+ static const double TRIA3B_REF[6];
+ static const double TRIA6A_REF[12];
+ static const double TRIA6B_REF[12];
+ static const double TRIA7A_REF[14];
+ static const double QUAD4A_REF[8];
+ static const double QUAD4B_REF[8];
+ static const double QUAD8A_REF[16];
+ static const double QUAD8B_REF[16];
+ static const double QUAD9A_REF[18];
+ static const double TETRA4A_REF[12];
+ static const double TETRA4B_REF[12];
+ static const double TETRA10A_REF[30];
+ static const double TETRA10B_REF[30];
+ static const double PYRA5A_REF[15];
+ static const double PYRA5B_REF[15];
+ static const double PYRA13A_REF[39];
+ static const double PYRA13B_REF[39];
+ static const double PENTA6A_REF[18];
+ static const double PENTA6B_REF[18];
+ static const double PENTA15A_REF[45];
+ static const double PENTA15B_REF[45];
+ static const double PENTA18A_REF[54];
+ static const double PENTA18B_REF[54];
+ static const double HEXA8A_REF[24];
+ static const double HEXA8B_REF[24];
+ static const double HEXA20A_REF[60];
+ static const double HEXA20B_REF[60];
+ static const double HEXA27A_REF[81];