MCPcopy Create free account
hub / github.com/Kitware/VTK / RefineExtent

Method RefineExtent

Filters/Geometry/vtkStructuredAMRGridConnectivity.cxx:1975–2008  ·  view source on GitHub ↗

------------------------------------------------------------------------------

Source from the content-addressed store, hash-verified

1973
1974//------------------------------------------------------------------------------
1975void 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//------------------------------------------------------------------------------
2011void vtkStructuredAMRGridConnectivity::GetCellRefinedExtent(

Callers 3

GetRefinedExtentMethod · 0.95
GetWholeExtentAtLevelMethod · 0.95

Calls 5

assertFunction · 0.50
absFunction · 0.50
sizeMethod · 0.45

Tested by

no test coverage detected