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{
57public:
60 void PrintSelf(ostream& os, vtkIndent indent) override;
61 void PrintParameters(ostream& os, vtkIndent indent);
62
66 NUMBER_OF_MaterialAveragingMethod
67 };
68
70
76 vtkSetClampMacro(MaterialAveragingMethod,
77 int, 0, NUMBER_OF_MaterialAveragingMethod);
78 vtkGetMacro(MaterialAveragingMethod, int);
80
81
82protected:
83
86
87 virtual int RequestData(vtkInformation* request,
88 vtkInformationVector** inputVector,
89 vtkInformationVector* outputVector) override;
92 vtkInformationVector*) override;
95
97 const unsigned int* outputPointGrid,
98 unsigned int outputDims[3],
99 double outputSpacing[3],
100 double bounds[6],
101 vtkIdType nOutputPoints);
103 const unsigned int* outputPointGrid,
104 const unsigned int* outputCellGrid,
105 unsigned int outputDims[3],
106 vtkIdType nOutputCells);
107 virtual int GenerateMaterials(
110 const unsigned int* reverseCellMap);
114 const unsigned int* reverseCellMap);
117 const unsigned int* pointMap);
120 const unsigned int* pointMap);
123 const unsigned int* pointMap,
124 const vtkIdType* cellMap);
127
129
130private:
131 vtkboneCoarsenModel(const vtkboneCoarsenModel&); // Not implemented.
132 void operator=(const vtkboneCoarsenModel&); // Not implemented.
133};
134
135#endif
Generates a reduced-resolution FE model.
virtual int SimpleExecute(vtkboneFiniteElementModel *input, vtkboneFiniteElementModel *output)
virtual int GenerateCells(vtkboneFiniteElementModel *output, const unsigned int *outputPointGrid, const unsigned int *outputCellGrid, unsigned int outputDims[3], vtkIdType nOutputCells)
virtual int GenerateConstraints(vtkboneFiniteElementModel *output, vtkboneFiniteElementModel *input, const unsigned int *pointMap)
void PrintParameters(ostream &os, vtkIndent indent)
virtual int GenerateNodeAndElementSets(vtkboneFiniteElementModel *output, vtkboneFiniteElementModel *input, const unsigned int *pointMap, const vtkIdType *cellMap)
virtual int GeneratePointCoordinates(vtkboneFiniteElementModel *output, const unsigned int *outputPointGrid, unsigned int outputDims[3], double outputSpacing[3], double bounds[6], vtkIdType nOutputPoints)
virtual int GenerateMaterials(vtkboneFiniteElementModel *output, vtkboneFiniteElementModel *input, const unsigned int *reverseCellMap)
virtual int GenerateMaterialsSingleInputMaterial(vtkboneFiniteElementModel *output, vtkboneFiniteElementModel *input, const unsigned int *reverseCellMap)
virtual int GenerateConvergenceSet(vtkboneFiniteElementModel *output, vtkboneFiniteElementModel *input, const unsigned int *pointMap)
virtual int GenerateAdditionalInformation(vtkboneFiniteElementModel *output, vtkboneFiniteElementModel *input)
void PrintSelf(ostream &os, vtkIndent indent) override
virtual int RequestData(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector) override
virtual int RequestUpdateExtent(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
static vtkboneCoarsenModel * New()
Superclass for algorithms that produce only vtkboneFiniteElementModel as output.
data model for finite element meshes
int vtkIdType