vtkMimxSplitUnstructuredHexahedronGridCell.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031 #ifndef __vtkMimxSplitUnstructuredHexahedronGridCell_h
00032 #define __vtkMimxSplitUnstructuredHexahedronGridCell_h
00033
00034 #include "vtkUnstructuredGridAlgorithm.h"
00035 #include "mimxMatrixTemplate.h"
00036 #include "mimxLinkedList.h"
00037 #include "vtkMimxFilterWin32Header.h"
00038
00039 class vtkIdList;
00040
00041
00042 class VTK_MIMXFILTER_EXPORT vtkMimxSplitUnstructuredHexahedronGridCell : public vtkUnstructuredGridAlgorithm
00043 {
00044 public:
00045
00046 static vtkMimxSplitUnstructuredHexahedronGridCell *New();
00047 vtkTypeRevisionMacro(vtkMimxSplitUnstructuredHexahedronGridCell,vtkUnstructuredGridAlgorithm);
00048 void PrintSelf(ostream& os, vtkIndent indent);
00049 vtkSetMacro(IdList, vtkIdList*);
00050 protected:
00051 vtkMimxSplitUnstructuredHexahedronGridCell();
00052 ~vtkMimxSplitUnstructuredHexahedronGridCell();
00053 vtkIdList *IdList;
00054 virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
00055 void BuildMeshSeedLinks(int CellNum, int EdgeNum);
00056 void GetCellNeighbors(vtkIdType, vtkIdList*);
00057
00058 int CheckIfCellsShareEdgeX(int , int , int);
00059 int CheckIfCellsShareEdgeY(int , int , int);
00060 int CheckIfCellsShareEdgeZ(int , int , int);
00061 void EstimateMeshSeedsBasedOnAverageElementLength(double);
00062
00063 int WhichEdgeOfCellBeingCompared(vtkIdType, vtkIdType);
00064
00065
00066
00067 CMatrix<int> MeshSeedLinks;
00068
00069 CMatrix<int> MeshSeedCheck;
00070 void CopyConstraintValues(
00071 vtkUnstructuredGrid *input, vtkUnstructuredGrid *output);
00072 private:
00073 vtkMimxSplitUnstructuredHexahedronGridCell(const vtkMimxSplitUnstructuredHexahedronGridCell&);
00074 void operator=(const vtkMimxSplitUnstructuredHexahedronGridCell&);
00075 };
00076
00077 #endif