28 #ifndef __vtkvmtkBoundaryLayerGenerator_h 29 #define __vtkvmtkBoundaryLayerGenerator_h 31 #include "vtkUnstructuredGridAlgorithm.h" 32 #include "vtkvmtkWin32Header.h" 35 class vtkUnsignedCharArray;
42 void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
46 vtkGetStringMacro(WarpVectorsArrayName);
47 vtkSetStringMacro(WarpVectorsArrayName);
49 vtkGetStringMacro(LayerThicknessArrayName);
50 vtkSetStringMacro(LayerThicknessArrayName);
52 vtkGetMacro(UseWarpVectorMagnitudeAsThickness,
int);
53 vtkSetMacro(UseWarpVectorMagnitudeAsThickness,
int);
54 vtkBooleanMacro(UseWarpVectorMagnitudeAsThickness,
int);
56 vtkGetMacro(ConstantThickness,
int);
57 vtkSetMacro(ConstantThickness,
int);
58 vtkBooleanMacro(ConstantThickness,
int);
60 vtkGetMacro(IncludeSurfaceCells,
int);
61 vtkSetMacro(IncludeSurfaceCells,
int);
62 vtkBooleanMacro(IncludeSurfaceCells,
int);
64 vtkGetMacro(IncludeSidewallCells,
int);
65 vtkSetMacro(IncludeSidewallCells,
int);
66 vtkBooleanMacro(IncludeSidewallCells,
int);
68 vtkGetMacro(NegateWarpVectors,
int);
69 vtkSetMacro(NegateWarpVectors,
int);
70 vtkBooleanMacro(NegateWarpVectors,
int);
72 vtkGetMacro(LayerThickness,
double);
73 vtkSetMacro(LayerThickness,
double);
75 vtkGetMacro(LayerThicknessRatio,
double);
76 vtkSetMacro(LayerThicknessRatio,
double);
78 vtkGetMacro(MaximumLayerThickness,
double);
79 vtkSetMacro(MaximumLayerThickness,
double);
81 vtkGetMacro(NumberOfSubLayers,
int);
82 vtkSetMacro(NumberOfSubLayers,
int);
84 vtkGetMacro(SubLayerRatio,
double);
85 vtkSetMacro(SubLayerRatio,
double);
87 vtkGetMacro(NumberOfSubsteps,
int);
88 vtkSetMacro(NumberOfSubsteps,
int);
90 vtkGetMacro(Relaxation,
double);
91 vtkSetMacro(Relaxation,
double);
93 vtkGetMacro(LocalCorrectionFactor,
double);
94 vtkSetMacro(LocalCorrectionFactor,
double);
96 vtkSetStringMacro(CellEntityIdsArrayName);
97 vtkGetStringMacro(CellEntityIdsArrayName);
99 vtkGetMacro(InnerSurfaceCellEntityId,
int);
100 vtkSetMacro(InnerSurfaceCellEntityId,
int);
102 vtkGetMacro(OuterSurfaceCellEntityId,
int);
103 vtkSetMacro(OuterSurfaceCellEntityId,
int);
105 vtkGetMacro(SidewallCellEntityId,
int);
106 vtkSetMacro(SidewallCellEntityId,
int);
108 vtkGetMacro(VolumeCellEntityId,
int);
109 vtkSetMacro(VolumeCellEntityId,
int);
111 vtkGetObjectMacro(InnerSurface,vtkUnstructuredGrid);
117 virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
119 void BuildWarpVectors(vtkUnstructuredGrid* input);
120 void IncrementalWarpPoints(vtkUnstructuredGrid* input, vtkPoints* basePoints, vtkPoints* warpedPoints,
int substep,
int numberOfSubsteps,
double relaxation);
121 void IncrementalWarpVectors(vtkUnstructuredGrid* input,
int numberOfSubsteps,
double relaxation);
122 int CheckTangle(vtkUnstructuredGrid* input, vtkUnsignedCharArray* checkArray);
123 void LocalUntangle(vtkUnstructuredGrid* input, vtkUnsignedCharArray* checkArray,
double alpha);
124 void WarpPoints(vtkPoints* inputPoints, vtkPoints* warpedPoints,
int subLayerId,
bool quadratic);
125 void UnwrapSublayers(vtkUnstructuredGrid* input, vtkPoints* outputPoints);
char * LayerThicknessArrayName
int UseWarpVectorMagnitudeAsThickness
vtkUnstructuredGrid * InnerSurface
char * CellEntityIdsArrayName
int OuterSurfaceCellEntityId
int InnerSurfaceCellEntityId
vtkDataArray * WarpVectorsArray
char * WarpVectorsArrayName
vtkDataArray * LayerThicknessArray
double LocalCorrectionFactor
double LayerThicknessRatio
Generates boundary layers of prismatic elements by warping a surface mesh.
double MaximumLayerThickness