28 #ifndef vtkGridConnectivity_h 29 #define vtkGridConnectivity_h 31 #include "vtkMultiBlockDataSetAlgorithm.h" 32 #include "vtkPVVTKExtensionsDefaultModule.h" 33 #include "vtkSmartPointer.h" 41 class vtkInformationVector;
42 class vtkMultiProcessController;
43 class vtkGridConnectivityFaceHash;
45 class vtkUnstructuredGrid;
52 void PrintSelf(ostream& os, vtkIndent indent);
56 void IntegrateCellVolume(
57 vtkCell* cell,
int fragmentId, vtkUnstructuredGrid* input, vtkIdType cellIndex);
65 virtual int RequestData(vtkInformation* request, vtkInformationVector** inputVector,
66 vtkInformationVector* outputVector);
72 void GenerateOutput(vtkPolyData* output, vtkUnstructuredGrid* inputs[]);
75 virtual vtkExecutive* CreateDefaultExecutive();
77 virtual int FillInputPortInformation(
int, vtkInformation*);
80 int CheckInput(vtkUnstructuredGrid* grid);
83 void InitializeFaceHash(vtkUnstructuredGrid** inputs,
int numberOfInputs);
86 void InitializeIntegrationArrays(vtkUnstructuredGrid** inputs,
int numberOfInputs);
97 double IntegrateTetrahedron(vtkCell* tetra, vtkUnstructuredGrid* input,
int fragmentId);
98 double IntegrateHex(vtkCell* hex, vtkUnstructuredGrid* input,
int fragmentId);
99 double IntegrateVoxel(vtkCell* voxel, vtkUnstructuredGrid* input,
int fragmentId);
100 double IntegrateGeneral3DCell(vtkCell* cell, vtkUnstructuredGrid* input,
int fragmentId);
101 double ComputeTetrahedronVolume(
double* pts0,
double* pts1,
double* pts2,
double* pts3);
102 void ComputePointIntegration(vtkUnstructuredGrid* input, vtkIdType pt0Id, vtkIdType pt1Id,
103 vtkIdType pt2Id, vtkIdType pt3Id,
double volume,
int fragmentId);
105 void ResolveIntegrationArrays();
106 void ResolveFaceFragmentIds();
111 void ResolveEquivalentFragments();
112 void ResolveProcessesFaces();
113 void CollectFacesAndArraysToRootProcess(
int* fragmentIdMap,
int* fragmentNumFaces);
vtkEquivalenceSet * EquivalenceSet
std::vector< vtkSmartPointer< vtkDoubleArray > > CellAttributesIntegration
Integrates lines, surfaces and volume.
vtkDoubleArray * FragmentVolumes
std::vector< vtkSmartPointer< vtkDoubleArray > > PointAttributesIntegration
vtkGridConnectivityFaceHash * FaceHash
records groups of integers that are equivalent.
vtkMultiProcessController * Controller