Skip to content

Commit c178a11

Browse files
committed
check for found region being null
1 parent 15c96c2 commit c178a11

File tree

1 file changed

+7
-0
lines changed

1 file changed

+7
-0
lines changed

common/segmented_planes_terrain_model/src/SegmentedPlanesTerrainModel.cpp

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,12 +25,19 @@ SegmentedPlanesTerrainModel::SegmentedPlanesTerrainModel(convex_plane_decomposit
2525
TerrainPlane SegmentedPlanesTerrainModel::getLocalTerrainAtPositionInWorldAlongGravity(
2626
const vector3_t& positionInWorld, std::function<scalar_t(const vector3_t&)> penaltyFunction) const {
2727
const auto projection = getBestPlanarRegionAtPositionInWorld(positionInWorld, planarTerrain_.planarRegions, std::move(penaltyFunction));
28+
if (projection.regionPtr == nullptr) {
29+
throw std::runtime_error("[SegmentedPlanesTerrainModel] no region found");
30+
}
31+
2832
return TerrainPlane{projection.positionInWorld, projection.regionPtr->transformPlaneToWorld.linear().transpose()};
2933
}
3034

3135
ConvexTerrain SegmentedPlanesTerrainModel::getConvexTerrainAtPositionInWorld(
3236
const vector3_t& positionInWorld, std::function<scalar_t(const vector3_t&)> penaltyFunction) const {
3337
const auto projection = getBestPlanarRegionAtPositionInWorld(positionInWorld, planarTerrain_.planarRegions, std::move(penaltyFunction));
38+
if (projection.regionPtr == nullptr) {
39+
throw std::runtime_error("[SegmentedPlanesTerrainModel] no region found");
40+
}
3441

3542
// Convert boundary and projection to terrain frame
3643
const int numberOfVertices = 16; // Multiple of 4 is nice for symmetry.

0 commit comments

Comments
 (0)