vtkbone
vtkboneCoarsenModel.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Copyright 2010-2016, Numerics88 Solutions Ltd.
4  http://www.numerics88.com/
5 
6  Copyright (c) Eric Nodwell and Steven K. Boyd
7  See Copyright.txt for details.
8 
9  This software is distributed WITHOUT ANY WARRANTY; without even
10  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
11  PURPOSE. See the above copyright notice for more information.
12 =========================================================================*/
13 
49 #ifndef __vtkboneCoarsenModel_h
50 #define __vtkboneCoarsenModel_h
51 
53 #include "vtkboneWin32Header.h"
54 
56 {
57 public:
58  static vtkboneCoarsenModel *New();
60  void PrintSelf(ostream& os, vtkIndent indent);
61 
62  void PrintParameters(ostream& os, vtkIndent indent);
63 
67  NUMBER_OF_MaterialAveragingMethod
68  };
69 
71 
77  vtkSetClampMacro(MaterialAveragingMethod,
78  int, 0, NUMBER_OF_MaterialAveragingMethod);
79  vtkGetMacro(MaterialAveragingMethod, int);
81 
82 
83 protected:
84 
87 
88  virtual int RequestData(vtkInformation* request,
89  vtkInformationVector** inputVector,
90  vtkInformationVector* outputVector);
94  virtual int SimpleExecute(vtkboneFiniteElementModel* input,
96 
97  virtual int GeneratePointCoordinates(vtkboneFiniteElementModel* output,
98  const unsigned int* outputPointGrid,
99  unsigned int outputDims[3],
100  double outputSpacing[3],
101  double bounds[6],
102  vtkIdType nOutputPoints);
103  virtual int GenerateCells(vtkboneFiniteElementModel* output,
104  const unsigned int* outputPointGrid,
105  const unsigned int* outputCellGrid,
106  unsigned int outputDims[3],
107  vtkIdType nOutputCells);
108  virtual int GenerateMaterials(
111  const unsigned int* reverseCellMap);
112  virtual int GenerateMaterialsSingleInputMaterial(
115  const unsigned int* reverseCellMap);
116  virtual int GenerateConstraints(vtkboneFiniteElementModel* output,
118  const unsigned int* pointMap);
119  virtual int GenerateConvergenceSet(vtkboneFiniteElementModel* output,
121  const unsigned int* pointMap);
122  virtual int GenerateNodeAndElementSets(vtkboneFiniteElementModel* output,
124  const unsigned int* pointMap,
125  const vtkIdType* cellMap);
126  virtual int GenerateAdditionalInformation(vtkboneFiniteElementModel* output,
128 
130 
131 private:
132  vtkboneCoarsenModel(const vtkboneCoarsenModel&); // Not implemented.
133  void operator=(const vtkboneCoarsenModel&); // Not implemented.
134 };
135 
136 #endif
data model for finite element meshes
#define VTKBONE_EXPORT
int vtkIdType
Generates a reduced-resolution FE model.
void PrintSelf(ostream &os, vtkIndent indent)
Superclass for algorithms that produce only vtkboneFiniteElementModel as output.
virtual int RequestData(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
virtual int RequestUpdateExtent(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
static vtkboneFiniteElementModelAlgorithm * New()