vtkbone
vtkboneApplyTestBase.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
80#ifndef __vtkboneApplyTestBase_h
81#define __vtkboneApplyTestBase_h
82
84#include "vtkboneWin32Header.h"
85
86#include "vtkboneFiniteElementModel.h" // Needed for enum definitions.
87#include "vtkboneConstraint.h" // Needed for enum definitions.
88
89
91{
92public:
95 void PrintSelf(ostream& os, vtkIndent indent) override;
96 void PrintParameters(ostream& os, vtkIndent indent);
97
99 TEST_AXIS_X = 0,
100 TEST_AXIS_Y = 1,
101 TEST_AXIS_Z = 2
102 };
103
105
107 vtkSetMacro(TopConstraintSpecificMaterial, int);
108 vtkGetMacro(TopConstraintSpecificMaterial, int);
110
112
114 vtkSetMacro(BottomConstraintSpecificMaterial, int);
115 vtkGetMacro(BottomConstraintSpecificMaterial, int);
117
119
124 vtkSetMacro(UnevenTopSurface, int);
125 vtkGetMacro(UnevenTopSurface, int);
126 vtkBooleanMacro(UnevenTopSurface, int);
128
130
133 vtkSetMacro(UseTopSurfaceMaximumDepth, int);
134 vtkGetMacro(UseTopSurfaceMaximumDepth, int);
135 vtkBooleanMacro(UseTopSurfaceMaximumDepth, int);
137
139
141 vtkSetMacro(TopSurfaceMaximumDepth, double);
142 vtkGetMacro(TopSurfaceMaximumDepth, double);
143 vtkBooleanMacro(TopSurfaceMaximumDepth, double);
145
147
152 vtkSetMacro(UnevenBottomSurface, int);
153 vtkGetMacro(UnevenBottomSurface, int);
154 vtkBooleanMacro(UnevenBottomSurface, int);
156
158
161 vtkSetMacro(UseBottomSurfaceMaximumDepth, int);
162 vtkGetMacro(UseBottomSurfaceMaximumDepth, int);
163 vtkBooleanMacro(UseBottomSurfaceMaximumDepth, int);
165
167
169 vtkSetMacro(BottomSurfaceMaximumDepth, double);
170 vtkGetMacro(BottomSurfaceMaximumDepth, double);
171 vtkBooleanMacro(BottomSurfaceMaximumDepth, double);
173
175
176 vtkSetMacro(TestAxis, int);
177 vtkGetMacro(TestAxis, int);
179
182 int DataFrameSense(int testFrameSense);
183
186 int TestFrameSense(int dataFrameSense);
187
191 int DataFramePolarity(int testFrameSense, int polarity);
192
196 double TestFrameBound(double bounds[6], int testFrameSense, int polarity);
197
200 int GetVoxelLocalId(int testFrameLocalId);
201
202protected:
205
206 virtual int RequestData(vtkInformation* request,
207 vtkInformationVector** inputVector,
208 vtkInformationVector* outputVector) override;
209
219
226
228
235
236private:
237 vtkboneApplyTestBase(const vtkboneApplyTestBase&); // Not implemented
238 void operator=(const vtkboneApplyTestBase&); // Not implemented
239};
240
241#endif
242
Base class for applying a test to create a vtkboneFiniteElementModel.
int DataFramePolarity(int testFrameSense, int polarity)
virtual int AddSets(vtkboneFiniteElementModel *model)
double TestFrameBound(double bounds[6], int testFrameSense, int polarity)
int TestFrameSense(int dataFrameSense)
virtual int RequestData(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector) override
virtual int AddDataFrameYFacesSets(vtkboneFiniteElementModel *model)
int GetVoxelLocalId(int testFrameLocalId)
virtual int AddDataFrameXFacesSets(vtkboneFiniteElementModel *model)
void PrintParameters(ostream &os, vtkIndent indent)
int DataFrameSense(int testFrameSense)
void PrintSelf(ostream &os, vtkIndent indent) override
static vtkboneApplyTestBase * New()
virtual int AddDataFrameZFacesSets(vtkboneFiniteElementModel *model)
Class for generating a finite element mesh.
data model for finite element meshes