18 #ifndef vtkBezierInterpolation_h 19 #define vtkBezierInterpolation_h 21 #include "vtkCommonDataModelModule.h" 29 #define VTK_21_POINT_WEDGE true 46 static int flattenSimplex(
const int dim,
const int deg,
const vtkVector3i coord);
53 static void deCasteljauSimplex(
54 const int dim,
const int deg,
const double* pcoords,
double* weights);
55 static void deCasteljauSimplexDeriv(
56 const int dim,
const int deg,
const double* pcoords,
double* weights);
58 static void EvaluateShapeFunctions(
int order,
double pcoord,
double* shape);
59 static void EvaluateShapeAndGradient(
int order,
double pcoord,
double* shape,
double* grad);
71 vtkPoints*
points,
const double* fieldVals,
int fieldDim,
double* fieldDerivs)
override;
74 const int order[3],
const vtkIdType numberOfPoints,
const double* pcoords,
double* shape);
76 const int order[3],
const vtkIdType numberOfPoints,
const double* pcoords,
double* derivs);
79 const double* pcoords,
double* fieldVals,
int fieldDim,
double* fieldAtPCoords)
override;
82 const double* fieldVals,
int fieldDim,
double* fieldDerivs)
override;
93 #endif // vtkBezierInterpolation_h
static int Tensor3ShapeDerivatives(const int order[3], const double *pcoords, double *derivs, void(*function_evaluate_shape_and_gradient)(int, double, double *, double *))
static int Tensor3ShapeFunctions(const int order[3], const double *pcoords, double *shape, void(*function_evaluate_shape_functions)(int, double, double *))
a simple class to control print indentation
virtual void WedgeEvaluate(const int order[3], const vtkIdType numberOfPoints, const double *pcoords, double *fieldVals, int fieldDim, double *fieldAtPCoords)=0
virtual void WedgeEvaluateDerivative(const int order[3], const double *pcoords, vtkPoints *points, const double *fieldVals, int fieldDim, double *fieldDerivs)=0
Some derived classes for the different vectors commonly used.
static int Tensor2ShapeFunctions(const int order[2], const double *pcoords, double *shape, void(*function_evaluate_shape_functions)(int, double, double *))
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
static void WedgeShapeFunctions(const int order[3], const vtkIdType numberOfPoints, const double *pcoords, double *shape, vtkHigherOrderTriangle &tri, void(*function_evaluate_shape_functions)(int, double, double *))
static int Tensor2ShapeDerivatives(const int order[2], const double *pcoords, double *derivs, void(*function_evaluate_shape_and_gradient)(int, double, double *, double *))
virtual void Tensor3EvaluateDerivative(const int order[3], const double *pcoords, vtkPoints *points, const double *fieldVals, int fieldDim, double *fieldDerivs)=0
static int Tensor1ShapeDerivatives(const int order[1], const double *pcoords, double *derivs, void(*function_evaluate_shape_and_gradient)(int, double, double *, double *))
static vtkObject * New()
Create an object with Debug turned off, modified time initialized to zero, and reference counting on...
static void WedgeShapeDerivatives(const int order[3], const vtkIdType numberOfPoints, const double *pcoords, double *derivs, vtkHigherOrderTriangle &tri, void(*function_evaluate_shape_and_gradient)(int, double, double *, double *))
static int Tensor1ShapeFunctions(const int order[1], const double *pcoords, double *shape, void(*function_evaluate_shape_functions)(int, double, double *))
represent and manipulate 3D points