Skip to content
Snippets Groups Projects
Commit f8570134 authored by Ansgar Burchardt's avatar Ansgar Burchardt
Browse files

Handle unused boundary nodes correctly

For "unused" boundary nodes the special value `-1` is used.  Mapping
this through `isBoundaryNode[-1]` would result in an out-of-bounds
memory access and invalid values in the `vertices_c_style` array.

Closes: #55
parent 4007b3ed
Branches
Tags
1 merge request!152Handle unused boundary nodes correctly
Pipeline #
......@@ -322,8 +322,12 @@ createGrid()
// Copy the vertices into a C-style array
// We copy four vertices here even if the segment is a triangle -- it doesn't matter
int vertices_c_style[dimworld*2-2];
for (int j=0; j<dimworld*2-2; j++)
vertices_c_style[j] = isBoundaryNode[boundarySegmentVertices_[i][j]];
for (int j=0; j<dimworld*2-2; j++) {
// For parameterized boundary segments, -1 is used as a sentinel value
// for unused vertices and must be preserved.
const auto idx = boundarySegmentVertices_[i][j];
vertices_c_style[j] = idx == -1 ? -1 : isBoundaryNode[idx];
}
if (grid_->boundarySegments_[i]) {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment