/usr/include/vtk-6.3/vtkQuadratureSchemeDefinition.h is in libvtk6-dev 6.3.0+dfsg1-5.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 | /*=========================================================================
Program: Visualization Toolkit
Module: vtkQuadratureSchemeDefinition.h
Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
All rights reserved.
See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
This software is distributed WITHOUT ANY WARRANTY; without even
the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
PURPOSE. See the above copyright notice for more information.
=========================================================================*/
// .NAME vtkQuadratureSchemeDefinition
// .SECTION Description
// An Elemental data type that holds a definition of a
// numerical quadrature scheme. The definition contains
// the requisite information to interpolate to the so called
// quadrature points of the specific scheme. namely:
//
// <pre>
// 1)
// A matrix of shape function weights(shape functions evaluated
// at parametric coordinates of the quadrature points).
//
// 2)
// The number of quadrature points and cell nodes. These parameters
// size the matrix, and allow for convinent evaluation by users
// of the definition.
// </pre>
#ifndef vtkQuadratureSchemeDefinition_h
#define vtkQuadratureSchemeDefinition_h
#include "vtkCommonDataModelModule.h" // For export macro
#include "vtkObject.h"
class vtkInformationQuadratureSchemeDefinitionVectorKey;
class vtkInformationStringKey;
class vtkXMLDataElement;
class VTKCOMMONDATAMODEL_EXPORT vtkQuadratureSchemeDefinition : public vtkObject
{
public:
// vtk stuff
vtkTypeMacro(vtkQuadratureSchemeDefinition,vtkObject);
void PrintSelf(ostream& os, vtkIndent indent);
static vtkInformationQuadratureSchemeDefinitionVectorKey* DICTIONARY();
static vtkInformationStringKey* QUADRATURE_OFFSET_ARRAY_NAME();
// Description:
// New object in an unsuable state. You'll have to call
// "Initilaize" to get the definition in to a usable state.
static vtkQuadratureSchemeDefinition *New();
// Description:
// Deep copy.
int DeepCopy(const vtkQuadratureSchemeDefinition *other);
// Description:
// Put the object into an XML representation. The element
// passed in is assumed to be empty.
int SaveState(vtkXMLDataElement *e);
// Description:
// Restore the object from an XML representation.
int RestoreState(vtkXMLDataElement *e);
// Description:
// Release all allocated resources and set the
// object to an unitialized state.
void Clear();
// Description:
// Initialize the object allocating resources as needed.
void Initialize(int cellType,
int numberOfNodes,
int numberOfQuadraturePoints,
double *shapeFunctionWeights);
// Description:
// Initialize the object allocating resources as needed.
void Initialize(int cellType,
int numberOfNodes,
int numberOfQuadraturePoints,
double *shapeFunctionWeights,
double *quadratureWeights);
// Description:
// Access the VTK cell type id.
int GetCellType() const { return this->CellType; }
// Description:
// Access to an alternative key.
int GetQuadratureKey() const { return this->QuadratureKey; }
// Description:
// Get the number of nodes associated with the interpolation.
int GetNumberOfNodes() const { return this->NumberOfNodes; }
// Description:
// Get the number of quadrature points associated with the scheme.
int GetNumberOfQuadraturePoints() const { return this->NumberOfQuadraturePoints; }
// Description:
// Get the array of shape function weights. Shape function weights are
// the shape functions evaluated at the quadrature points. There are
// "NumberOfNodes" weights for each quadrature point.
const double *GetShapeFunctionWeights() const { return this->ShapeFunctionWeights; }
// Description:
// Get the array of shape function weights associated with a
// single quadrature point.
const double *GetShapeFunctionWeights(int quadraturePointId) const
{
int idx=quadraturePointId*this->NumberOfNodes;
return this->ShapeFunctionWeights+idx;
}
// Description:
// Access to the quadrature weights.
const double *GetQuadratureWeights() const { return this->QuadratureWeights; }
protected:
vtkQuadratureSchemeDefinition();
~vtkQuadratureSchemeDefinition();
private:
// Description:
// Allocate/De-allocate resources that will be used by the definition.
// This must be called after Set*. Caller's responsibility.
void ReleaseResources();
// Description:
// Allocate resources according to the objects
// current internal state.
int SecureResources();
// Description:
// Initialize the shape function weights definition.
// Must call SecureResources prior.
void SetShapeFunctionWeights(const double *W);
// Description:
// Initialize the shape function weights definition.
// Must call SecureResources prior.
void SetQuadratureWeights(const double *W);
//
vtkQuadratureSchemeDefinition(const vtkQuadratureSchemeDefinition &); // Not implemented.
void operator=(const vtkQuadratureSchemeDefinition &); // Not implemented.
friend ostream &operator<<(ostream &s, const vtkQuadratureSchemeDefinition &d);
friend istream &operator>>(istream &s, vtkQuadratureSchemeDefinition &d);
//
int CellType;
int QuadratureKey;
int NumberOfNodes;
int NumberOfQuadraturePoints;
double *ShapeFunctionWeights;
double *QuadratureWeights;
};
#endif
|