23#ifndef vtkQuadratureSchemeDefinition_h
24#define vtkQuadratureSchemeDefinition_h
27#include "vtkCommonDataModelModule.h"
30VTK_ABI_NAMESPACE_BEGIN
70 int cellType,
int numberOfNodes,
int numberOfQuadraturePoints,
double* shapeFunctionWeights);
75 void Initialize(
int cellType,
int numberOfNodes,
int numberOfQuadraturePoints,
76 double* shapeFunctionWeights,
double* quadratureWeights);
81 void Initialize(
int cellType,
int numberOfNodes,
int numberOfQuadraturePoints,
82 const double* shapeFunctionWeights,
const double* quadratureWeights,
int dim,
83 const double* shapeFunctionDerivativeWeights);
108 vtkGetMacro(Dimension,
int);
124 int idx = quadraturePointId * this->NumberOfNodes;
125 return this->ShapeFunctionWeights + idx;
134 int idx = quadraturePointId * this->NumberOfNodes * this->Dimension;
135 return this->ShapeFunctionDerivativeWeights + idx;
153 void ReleaseResources();
159 int SecureResources();
165 void SetShapeFunctionWeights(
const double* weights);
171 void SetQuadratureWeights(
const double* weights);
177 void SetShapeFunctionDerivativeWeights(
const double* weights);
186 int QuadratureKey = -1;
187 int NumberOfNodes = 0;
188 int NumberOfQuadraturePoints = 0;
190 double* ShapeFunctionWeights =
nullptr;
191 double* QuadratureWeights =
nullptr;
192 double* ShapeFunctionDerivativeWeights =
nullptr;
a simple class to control print indentation
abstract base class for most VTK objects
An Elemental data type that holds a definition of a numerical quadrature scheme.
friend ostream & operator<<(ostream &s, const vtkQuadratureSchemeDefinition &d)
void Initialize(int cellType, int numberOfNodes, int numberOfQuadraturePoints, double *shapeFunctionWeights)
Initialize the object allocating resources as needed.
~vtkQuadratureSchemeDefinition() override
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
int GetQuadratureKey() const
Access to an alternative key.
void Initialize(int cellType, int numberOfNodes, int numberOfQuadraturePoints, const double *shapeFunctionWeights, const double *quadratureWeights, int dim, const double *shapeFunctionDerivativeWeights)
Initialize the object allocating resources as needed.
int GetNumberOfQuadraturePoints() const
Get the number of quadrature points associated with the scheme.
static vtkInformationStringKey * QUADRATURE_OFFSET_ARRAY_NAME()
static vtkInformationQuadratureSchemeDefinitionVectorKey * DICTIONARY()
void Initialize(int cellType, int numberOfNodes, int numberOfQuadraturePoints, double *shapeFunctionWeights, double *quadratureWeights)
Initialize the object allocating resources as needed.
int RestoreState(vtkXMLDataElement *root)
Restore the object from an XML representation.
static vtkQuadratureSchemeDefinition * New()
New object in an unusable state.
const double * GetQuadratureWeights() const
Access to the quadrature weights.
const double * GetShapeFunctionWeights(int quadraturePointId) const
Get the array of shape function weights associated with a single quadrature point.
int SaveState(vtkXMLDataElement *root)
Put the object into an XML representation.
int DeepCopy(const vtkQuadratureSchemeDefinition *other)
Deep copy.
const double * GetShapeFunctionDerivativeWeights(int quadraturePointId) const
Get the array of shape function derivative weights associated with a single quadrature point.
friend istream & operator>>(istream &s, vtkQuadratureSchemeDefinition &d)
vtkQuadratureSchemeDefinition()
const double * GetShapeFunctionWeights() const
Get the array of shape function weights.
int GetCellType() const
Access the VTK cell type id.
int GetNumberOfNodes() const
Get the number of nodes associated with the interpolation.
Represents an XML element and those nested inside.