1 #ifndef vtkLagrangeInterpolation_h 2 #define vtkLagrangeInterpolation_h 6 #include "vtkCommonDataModelModule.h" 11 #define VTK_21_POINT_WEDGE true 28 static void EvaluateShapeFunctions(
int order,
double pcoord,
double* shape);
29 static void EvaluateShapeAndGradient(
int order,
double pcoord,
double* shape,
double* grad);
31 static int Tensor1ShapeFunctions(
const int order[1],
const double* pcoords,
double* shape);
32 static int Tensor1ShapeDerivatives(
const int order[1],
const double* pcoords,
double* derivs);
34 static int Tensor2ShapeFunctions(
const int order[2],
const double* pcoords,
double* shape);
35 static int Tensor2ShapeDerivatives(
const int order[2],
const double* pcoords,
double* derivs);
37 static int Tensor3ShapeFunctions(
const int order[3],
const double* pcoords,
double* shape);
38 static int Tensor3ShapeDerivatives(
const int order[3],
const double* pcoords,
double* derivs);
40 void Tensor3EvaluateDerivative(
42 const double* pcoords,
47 static void WedgeShapeFunctions(
const int order[4],
const double* pcoords,
double* shape);
48 static void WedgeShapeDerivatives(
const int order[4],
const double* pcoords,
double* derivs);
52 const double* pcoords,
55 double* fieldAtPCoords);
57 void WedgeEvaluateDerivative(
59 const double* pcoords,
64 static vtkVector3d GetParametricHexCoordinates(
int vertexId);
65 static vtkVector2i GetPointIndicesBoundingHexEdge(
int edgeId);
66 static int GetVaryingParameterOfHexEdge(
int edgeId);
67 static vtkVector2i GetFixedParametersOfHexEdge(
int edgeId);
69 static const int* GetPointIndicesBoundingHexFace(
int faceId)
VTK_SIZEHINT(4);
70 static const int* GetEdgeIndicesBoundingHexFace(
int faceId)
VTK_SIZEHINT(4);
71 static vtkVector2i GetVaryingParametersOfHexFace(
int faceId);
72 static int GetFixedParameterOfHexFace(
int faceId);
74 static vtkVector3d GetParametricWedgeCoordinates(
int vertexId);
75 static vtkVector2i GetPointIndicesBoundingWedgeEdge(
int edgeId);
76 static int GetVaryingParameterOfWedgeEdge(
int edgeId);
77 static vtkVector2i GetFixedParametersOfWedgeEdge(
int edgeId);
79 static const int* GetPointIndicesBoundingWedgeFace(
int faceId)
VTK_SIZEHINT(4);
80 static const int* GetEdgeIndicesBoundingWedgeFace(
int faceId)
VTK_SIZEHINT(4);
81 static vtkVector2i GetVaryingParametersOfWedgeFace(
int faceId);
82 static int GetFixedParameterOfWedgeFace(
int faceId);
90 static int NumberOfIntervals(
const int order[N]);
95 void PrepareForOrder(
const int o[4]);
109 for (
int n = 0; n < N; ++n)
116 #endif // vtkLagrangeInterpolation_h
abstract base class for most VTK objects
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
static int NumberOfIntervals(const int order[N])
a simple class to control print indentation
Some derived classes for the different vectors commonly used.
std::vector< double > DerivSpace
#define VTK_SIZEHINT(...)
std::vector< double > ShapeSpace
static vtkObject * New()
Create an object with Debug turned off, modified time initialized to zero, and reference counting on.
represent and manipulate 3D points