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

Method CoarsenExtent

Filters/Geometry/vtkStructuredAMRGridConnectivity.cxx:1913–1946  ·  view source on GitHub ↗

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

Source from the content-addressed store, hash-verified

1911
1912//------------------------------------------------------------------------------
1913void vtkStructuredAMRGridConnectivity::CoarsenExtent(
1914 int orient[3], int ndim, int fromLevel, int toLevel, int ext[6])
1915{
1916 assert("pre: ndim must be either 1, 2 or 3" && (ndim > 0 && ndim <= 3));
1917
1918 if (this->HasConstantRefinementRatio())
1919 {
1920 assert("pre: invalid constant refinement ratio" && (this->RefinementRatio >= 2));
1921 int levelDifference = std::abs(fromLevel - toLevel);
1922 int ratio = levelDifference * this->RefinementRatio;
1923 for (int i = 0; i < ndim; ++i)
1924 {
1925 int dimIdx = orient[i];
1926 ext[dimIdx * 2] /= ratio;
1927 ext[dimIdx * 2 + 1] /= ratio;
1928 } // END for all dimensions
1929 } // END if
1930 else
1931 {
1932 assert("pre: refinement ratios has not been allocated" &&
1933 this->RefinementRatios.size() == this->NumberOfGrids);
1934
1935 for (int l = fromLevel - 1; l >= toLevel; --l)
1936 {
1937 int ratio = this->GetRefinementRatioAtLevel(l);
1938 for (int i = 0; i < ndim; ++i)
1939 {
1940 int dimIdx = orient[i];
1941 ext[dimIdx * 2] /= ratio;
1942 ext[dimIdx * 2 + 1] /= ratio;
1943 } // END for all dimensions
1944 } // END for each level
1945 } // END else
1946}
1947
1948//------------------------------------------------------------------------------
1949void vtkStructuredAMRGridConnectivity::GetRefinedExtent(

Callers 2

GetCoarsenedExtentMethod · 0.95

Calls 5

assertFunction · 0.50
absFunction · 0.50
sizeMethod · 0.45

Tested by

no test coverage detected