VTK
vtkQuadratureSchemeDefinition.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkQuadratureSchemeDefinition.h
5 
6  Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7  All rights reserved.
8  See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9 
10  This software is distributed WITHOUT ANY WARRANTY; without even
11  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12  PURPOSE. See the above copyright notice for more information.
13 
14 =========================================================================*/
34 #ifndef vtkQuadratureSchemeDefinition_h
35 #define vtkQuadratureSchemeDefinition_h
36 
37 #include "vtkCommonDataModelModule.h" // For export macro
38 #include "vtkObject.h"
39 
42 class vtkXMLDataElement;
43 
45 {
46 public:
47  // vtk stuff
49  void PrintSelf(ostream& os, vtkIndent indent);
52 
56 
59 
65 
68  void Clear();
69 
71 
72  void Initialize(int cellType,
73  int numberOfNodes,
74  int numberOfQuadraturePoints,
75  double *shapeFunctionWeights);
77 
78 
79  void Initialize(int cellType,
80  int numberOfNodes,
81  int numberOfQuadraturePoints,
82  double *shapeFunctionWeights,
83  double *quadratureWeights);
85 
87  int GetCellType() const { return this->CellType; }
89  int GetQuadratureKey() const { return this->QuadratureKey; }
91  int GetNumberOfNodes() const { return this->NumberOfNodes; }
93  int GetNumberOfQuadraturePoints() const { return this->NumberOfQuadraturePoints; }
97  const double *GetShapeFunctionWeights() const { return this->ShapeFunctionWeights; }
99 
101  const double *GetShapeFunctionWeights(int quadraturePointId) const
102  {
103  int idx=quadraturePointId*this->NumberOfNodes;
104  return this->ShapeFunctionWeights+idx;
105  }
107 
108  const double *GetQuadratureWeights() const { return this->QuadratureWeights; }
109 
110 protected:
113 private:
116  void ReleaseResources();
118  int SecureResources();
121  void SetShapeFunctionWeights(const double *W);
124  void SetQuadratureWeights(const double *W);
125 
126  //
128  void operator=(const vtkQuadratureSchemeDefinition &); // Not implemented.
129  friend ostream &operator<<(ostream &s, const vtkQuadratureSchemeDefinition &d);
130  friend istream &operator>>(istream &s, vtkQuadratureSchemeDefinition &d);
131  //
132  int CellType;
133  int QuadratureKey;
134  int NumberOfNodes;
135  int NumberOfQuadraturePoints;
136  double *ShapeFunctionWeights;
137  double *QuadratureWeights;
138 };
139 
140 #endif
141 
vtkInformationStringKey
Key for string values in vtkInformation.
Definition: vtkInformationStringKey.h:34
vtkQuadratureSchemeDefinition::DICTIONARY
static vtkInformationQuadratureSchemeDefinitionVectorKey * DICTIONARY()
vtkCommonDataModelModule.h
vtkQuadratureSchemeDefinition::operator>>
friend istream & operator>>(istream &s, vtkQuadratureSchemeDefinition &d)
vtkgl::s
GLdouble s
Definition: vtkgl.h:11594
vtkQuadratureSchemeDefinition::GetQuadratureWeights
const double * GetQuadratureWeights() const
Definition: vtkQuadratureSchemeDefinition.h:108
vtkTypeMacro
#define vtkTypeMacro(thisClass, superclass)
Definition: vtkSetGet.h:642
vtkObject
abstract base class for most VTK objects
Definition: vtkObject.h:62
vtkQuadratureSchemeDefinition::DeepCopy
int DeepCopy(const vtkQuadratureSchemeDefinition *other)
vtkQuadratureSchemeDefinition::operator<<
friend ostream & operator<<(ostream &s, const vtkQuadratureSchemeDefinition &d)
vtkQuadratureSchemeDefinition
Definition: vtkQuadratureSchemeDefinition.h:45
vtkQuadratureSchemeDefinition::New
static vtkQuadratureSchemeDefinition * New()
vtkQuadratureSchemeDefinition::GetNumberOfNodes
int GetNumberOfNodes() const
Definition: vtkQuadratureSchemeDefinition.h:91
vtkQuadratureSchemeDefinition::QUADRATURE_OFFSET_ARRAY_NAME
static vtkInformationStringKey * QUADRATURE_OFFSET_ARRAY_NAME()
vtkQuadratureSchemeDefinition::GetCellType
int GetCellType() const
Definition: vtkQuadratureSchemeDefinition.h:87
vtkQuadratureSchemeDefinition::GetNumberOfQuadraturePoints
int GetNumberOfQuadraturePoints() const
Definition: vtkQuadratureSchemeDefinition.h:93
vtkQuadratureSchemeDefinition::GetQuadratureKey
int GetQuadratureKey() const
Definition: vtkQuadratureSchemeDefinition.h:89
vtkQuadratureSchemeDefinition::GetShapeFunctionWeights
const double * GetShapeFunctionWeights() const
Definition: vtkQuadratureSchemeDefinition.h:97
vtkIndent
a simple class to control print indentation
Definition: vtkIndent.h:39
vtkXMLDataElement
Represents an XML element and those nested inside.
Definition: vtkXMLDataElement.h:36
vtkDax::detail::cellType
CellTypeInDataSet cellType(vtkDataSet *input)
Definition: vtkDaxDetailCommon.h:36
vtkQuadratureSchemeDefinition::vtkQuadratureSchemeDefinition
vtkQuadratureSchemeDefinition()
vtkQuadratureSchemeDefinition::Initialize
void Initialize(int cellType, int numberOfNodes, int numberOfQuadraturePoints, double *shapeFunctionWeights)
vtkObject.h
vtkQuadratureSchemeDefinition::~vtkQuadratureSchemeDefinition
~vtkQuadratureSchemeDefinition()
vtkQuadratureSchemeDefinition::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent)
vtkQuadratureSchemeDefinition::Clear
void Clear()
vtkQuadratureSchemeDefinition::SaveState
int SaveState(vtkXMLDataElement *e)
vtkQuadratureSchemeDefinition::GetShapeFunctionWeights
const double * GetShapeFunctionWeights(int quadraturePointId) const
Definition: vtkQuadratureSchemeDefinition.h:101
VTKCOMMONDATAMODEL_EXPORT
#define VTKCOMMONDATAMODEL_EXPORT
Definition: vtkCommonDataModelModule.h:15
vtkInformationQuadratureSchemeDefinitionVectorKey
Key for vtkQuadratureSchemeDefinition vector values.
Definition: vtkInformationQuadratureSchemeDefinitionVectorKey.h:36
vtkQuadratureSchemeDefinition::RestoreState
int RestoreState(vtkXMLDataElement *e)
vtkQuadratureSchemeDefinition::Initialize
void Initialize(int cellType, int numberOfNodes, int numberOfQuadraturePoints, double *shapeFunctionWeights, double *quadratureWeights)