diff --git a/src/mesh/blockforest/BlockExclusion.h b/src/mesh/blockforest/BlockExclusion.h index 277670ab91dd70a7b085ed26ff6c14945243952b..03c4cadac3596755484dff3603ffe47dfc9ff724 100644 --- a/src/mesh/blockforest/BlockExclusion.h +++ b/src/mesh/blockforest/BlockExclusion.h @@ -103,7 +103,8 @@ void walberla::mesh::ExcludeMeshExterior<DistanceObject>::operator()( std::vecto for( int i = chunkBegin; i < chunkEnd; ++i ) { size_t is = numeric_cast<size_t>( i ); - if( !isIntersecting( *distanceObject_, aabb( shuffle[is] ), maxError_ ) ) + auto intersectionDefined = isIntersecting( *distanceObject_, aabb( shuffle[is] ), maxError_ ); + if( intersectionDefined && !intersectionDefined.value() ) excludeBlock[ shuffle[is] ] = uint8_t( 1 ); } @@ -143,7 +144,8 @@ void walberla::mesh::ExcludeMeshInterior<DistanceObject>::operator()( std::vecto for( int i = chunkBegin; i < chunkEnd; ++i ) { size_t is = numeric_cast<size_t>( i ); - if( fullyCoversAABB( *distanceObject_, aabb( shuffle[is] ), maxError_ ) ) + auto fullCoveringAABBDefined = fullyCoversAABB( *distanceObject_, aabb( shuffle[is] ), maxError_ ); + if( fullCoveringAABBDefined && fullCoveringAABBDefined.value() ) excludeBlock[ shuffle[is] ] = uint8_t( 1 ); }