GemaCoreLib
The GeMA Core library
Classes | Enumerations
gmInterpolator.h File Reference

Declaration of the GmInterpolator and GmInterpolatorObject classes. More...

#include "gmCoreConfig.h"
#include "gmVector.h"
#include "gmMatrix.h"
#include <QVariant>
Include dependency graph for gmInterpolator.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  GmInterpolatorObject
 Interface class for the implementation of each of the possible interpolation algorithms available in GmInterpolatorType. More...
 
class  GmInterpolator
 Interpolator class used for managing available interpolator algorithms and providing basic support functions with operations common to every derived class. More...
 

Enumerations

enum  GmInterpolatorKind {
  GM_NODE_TO_POINT_INTERPOLATOR, GM_GAUSS_TO_NODE_INTERPOLATOR, GM_GAUSS_TO_POINT_INTERPOLATOR, GM_POINTCLOUD_TO_POINT_INTERPOLATOR,
  GM_GAUSS_TO_NODE_INTERPOLATOR_H
}
 Enum identifying the types of available interpolation classes. More...
 
enum  GmInterpolatorType {
  GM_NN_INTERPOLATOR, GM_IDW_INTERPOLATOR, GM_MLS_INTERPOLATOR, GM_SHAPE_INTERPOLATOR,
  GM_LSHAPE_INTERPOLATOR, GM_NUM_INTERPOLATORS, GM_NO_INTERPOLATOR, GM_DEFAULT_INTERPOLATOR
}
 Available interpolation methods. Not every method is suitable for every kind of interpolator class. The set of available values used by the interpolator is also dependent on the kind of interpolator class. Interpolator types can also be parameterized by a QVariant value whose semantics depends on the specific type. More...
 

Detailed Description

Declaration of the GmInterpolator and GmInterpolatorObject classes.

Author
Carlos Augusto Teixeira Mendes
Date
march, 2018

Enumeration Type Documentation

◆ GmInterpolatorKind

Enum identifying the types of available interpolation classes.

Enumerator
GM_NODE_TO_POINT_INTERPOLATOR 

Classes for interpolating values in cell nodes to points inside the cell.

GM_GAUSS_TO_NODE_INTERPOLATOR 

Classes for interpolating values in Gauss points to element nodes.

GM_GAUSS_TO_POINT_INTERPOLATOR 

Classes for interpolating values in Gauss points to element points.

GM_POINTCLOUD_TO_POINT_INTERPOLATOR 

Classes for interpolating values in a point cloud to another point.

GM_GAUSS_TO_NODE_INTERPOLATOR_H 

Classes for interpolating values in Gauss points to hierarchical element nodes.

◆ GmInterpolatorType

Available interpolation methods. Not every method is suitable for every kind of interpolator class. The set of available values used by the interpolator is also dependent on the kind of interpolator class. Interpolator types can also be parameterized by a QVariant value whose semantics depends on the specific type.

Enumerator
GM_NN_INTERPOLATOR 

Interpolated value is equal to the value of the closest known value from the interpolation point. An integer K parameter can be specified. In this case, the K closest points will be averaged to return the interpolated value. If 'K' is absent the default will be 1.

This interpolator type can be used with the following interpolator kinds: GM_NODE_TO_POINT_INTERPOLATOR GM_GAUSS_TO_POINT_INTERPOLATOR GM_POINTCLOUD_TO_POINT_INTERPOLATOR

This interpolator is implemented by the class GmNnInterpolatorObject.

GM_IDW_INTERPOLATOR 

Interpolated value is the average of the known values weighted by inverse distance from the interpolation point raised to a power 'p' provided as a double parameter. If 'p' is absent, a power of 2 is used.

This interpolator type can be used with the following interpolator kinds: GM_NODE_TO_POINT_INTERPOLATOR GM_GAUSS_TO_POINT_INTERPOLATOR GM_POINTCLOUD_TO_POINT_INTERPOLATOR

This interpolator is implemented by the class GmIdwInterpolatorObject.

GM_MLS_INTERPOLATOR 

Interpolated value is based on the moving least squares method. A method parameter specifies the RBF (radial base function) used in the MLS formulation. If absent the XXXX function is used.

This interpolator type can be used with the following interpolator kinds: GM_NODE_TO_POINT_INTERPOLATOR GM_GAUSS_TO_POINT_INTERPOLATOR GM_POINTCLOUD_TO_POINT_INTERPOLATOR

This interpolator is implemented by the class GmMlsInterpolatorObject.

GM_SHAPE_INTERPOLATOR 

Interpolated value is found by using the elements shape function.

This interpolator type can be used with the following interpolator kinds: GM_NODE_TO_POINT_INTERPOLATOR (element based classes only) GM_GAUSS_TO_NODE_INTERPOLATOR

This interpolator is implemented by the class GmShapeInterpolatorObject.

GM_LSHAPE_INTERPOLATOR 

Interpolated value is found by using the elements equivalent linear shape function. Usefull when dealing with super-parametric elements.

This interpolator type can be used with the following interpolator kinds: GM_NODE_TO_POINT_INTERPOLATOR (element based classes only) GM_GAUSS_TO_NODE_INTERPOLATOR

This interpolator is implemented by the class GmShapeInterpolatorObject.

GM_NUM_INTERPOLATORS 

The number of available interpolators.

GM_NO_INTERPOLATOR 

No interpolation needed. Not valid to construct an interpolator object but usefull when defining user function parameters.

GM_DEFAULT_INTERPOLATOR 

Interpolation should be done using the default method for the interpolator object.