Do not preset Patch::reference_cell. #12877
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
While working on
DataOutFaces
, one of the underlying issues is thatDataOutBase
simply assumes that a patch for which nothing specific has been done is a hypercube. That's becausePatch::reference_cell
is initialized to be a hypercube, and derived classes do not specifically do anything about it then get routed down that patch whether or not that is the right thing to do. Derived classes don't generally do anything because thePatch::reference_cell
member was only introduced in the last release.This patch changes things by initializing the reference cell to an invalid value. Derived classes then have to set things explicitly, and if they don't, that'll lead to an error. I then fix this up in all places where it breaks a test (hopefully).
Because this also breaks the new (prematurely introduced) test for
DataOutFaces
and simplices, I'm cherry-picking the same patch as in #12859 that disables the test./rebuild