------------------------------------------------------------------------------
| 1973 | |
| 1974 | //------------------------------------------------------------------------------ |
| 1975 | void vtkStructuredAMRGridConnectivity::RefineExtent( |
| 1976 | int orient[3], int ndim, int fromLevel, int toLevel, int ext[6]) |
| 1977 | { |
| 1978 | assert("pre: ndim must be either 1, 2 or 3" && (ndim > 0 && ndim <= 3)); |
| 1979 | |
| 1980 | if (this->HasConstantRefinementRatio()) |
| 1981 | { |
| 1982 | assert("pre: invalid constant refinement ratio" && (this->RefinementRatio >= 2)); |
| 1983 | int levelDifference = std::abs(fromLevel - toLevel); |
| 1984 | int ratio = levelDifference * this->RefinementRatio; |
| 1985 | for (int i = 0; i < ndim; ++i) |
| 1986 | { |
| 1987 | int dimIdx = orient[i]; |
| 1988 | ext[dimIdx * 2] *= ratio; |
| 1989 | ext[dimIdx * 2 + 1] *= ratio; |
| 1990 | } |
| 1991 | } // END if constant refinement ratio |
| 1992 | else |
| 1993 | { |
| 1994 | assert("pre: refinement ratios has not been allocated" && |
| 1995 | this->RefinementRatios.size() == this->NumberOfGrids); |
| 1996 | |
| 1997 | for (int l = fromLevel; l < toLevel; ++l) |
| 1998 | { |
| 1999 | int ratio = this->GetRefinementRatioAtLevel(l); |
| 2000 | for (int i = 0; i < ndim; ++i) |
| 2001 | { |
| 2002 | int dimIdx = orient[i]; |
| 2003 | ext[dimIdx * 2] *= ratio; |
| 2004 | ext[dimIdx * 2 + 1] *= ratio; |
| 2005 | } // END for all dimensions |
| 2006 | } // END for each level |
| 2007 | } // END else varying refinement ratio |
| 2008 | } |
| 2009 | |
| 2010 | //------------------------------------------------------------------------------ |
| 2011 | void vtkStructuredAMRGridConnectivity::GetCellRefinedExtent( |
no test coverage detected