inline void IsovolumeMinMax(double &min, double &max, Accessor access) { min = +FLT_MAX; max = -FLT_MAX; access.InitTraversal(); while(access.Iterating()) { double value = access.GetTuple1(); min = (min < value ? min : value); max = (max > value ? max : value); ++access; } }
template <class Accessor> inline void vtkRectilinearLinesNoDataFilter_AddLines(int nX, int nY, int nZ, vtkIdType *nl, vtkPointData *outPointData, vtkPointData *inPointData, Accessor x, Accessor y, Accessor z, Accessor p) { // // And now actually create the points/lines // int pointId = 0; int cellId = 0; p.InitTraversal(); // This case is mutually exclusive with the other ones below.... if ((nX==1 && nY==1) || (nX==1 && nZ==1) || (nY==1 && nZ==1)) { AddLineToPolyData(0,0,0, nX-1,nY-1,nZ-1); } if (nX>1 && nY>1) { // even if nz==1 { // Front, Top to Bottom for (int i = 0 ; i < nX ; i++) AddLineToPolyData(i ,0 ,0 , i ,nY-1,0 ); // Front, Left to Right for (int j = 0 ; j < nY ; j++) AddLineToPolyData(0 ,j ,0 , nX-1,j ,0 ); } if (nZ>1) { // Back, Top to Bottom for (int i = 0 ; i < nX ; i++) AddLineToPolyData(i ,0 ,nZ-1, i ,nY-1,nZ-1); // Back, Left to Right for (int j = 0 ; j < nY ; j++) AddLineToPolyData(0 ,j ,nZ-1, nX-1,j ,nZ-1); } } if (nX>1 && nZ>1) { // even if ny==1 { // Top, Front to Back for (int i = 0 ; i < nX ; i++) AddLineToPolyData(i ,0 ,0 , i ,0 ,nZ-1); // Top, Left to Right for (int k = 0 ; k < nZ ; k++) AddLineToPolyData(0 ,0 ,k , nX-1,0 ,k ); } if (nY>1) { // Bottom, Front to Back for (int i = 0 ; i < nX ; i++) AddLineToPolyData(i ,nY-1,0 , i ,nY-1,nZ-1); // Bottom, Left to Right for (int k = 0 ; k < nZ ; k++) AddLineToPolyData(0 ,nY-1,k , nX-1,nY-1,k ); } } if (nY>1 && nZ>1) { // even if nx==1 { // Left, Front to Back for (int j = 0 ; j < nY ; j++) AddLineToPolyData(0 ,j ,0 , 0 ,j ,nZ-1); // Left, Top to Bottom for (int k = 0 ; k < nZ ; k++) AddLineToPolyData(0 ,0 ,k , 0 ,nY-1,k ); } if (nX>1) { // Right, Front to Back for (int j = 0 ; j < nY ; j++) AddLineToPolyData(nX-1,j ,0 , nX-1,j ,nZ-1); // Right, Top to Bottom for (int k = 0 ; k < nZ ; k++) AddLineToPolyData(nX-1,0 ,k , nX-1,nY-1,k ); } } }