From b149adde0f1e6f58f8e05b1a3c65e3563e9539ff Mon Sep 17 00:00:00 2001 From: pshriwise Date: Mon, 17 Sep 2018 15:31:54 -0500 Subject: [PATCH] Adding error checks to dagmc calls. --- src/cell.cpp | 12 ++++++------ src/surface.cpp | 12 +++++++++--- 2 files changed, 15 insertions(+), 9 deletions(-) diff --git a/src/cell.cpp b/src/cell.cpp index f0ae468988..82ae2cc3d4 100644 --- a/src/cell.cpp +++ b/src/cell.cpp @@ -598,12 +598,12 @@ CSGCell::contains_complex(Position r, Direction u, int32_t on_surface) const CADCell::CADCell() : Cell{} {}; std::pair CADCell::distance(Position p, Direction u, int32_t on_surface) const { - + moab::ErrorCode rval; moab::EntityHandle vol = dagmc_ptr->entity_by_id(3, id_); moab::EntityHandle hit_surf; double dist; - dagmc_ptr->ray_fire(vol, p.xyz, u.xyz, hit_surf, dist); - + rval = dagmc_ptr->ray_fire(vol, p.xyz, u.xyz, hit_surf, dist); + MB_CHK_ERR_CONT(rval); int surf_idx; if(hit_surf != 0) { surf_idx = dagmc_ptr->index_by_handle(hit_surf); @@ -619,12 +619,12 @@ std::pair CADCell::distance(Position p, Direction u, int32_t on } bool CADCell::contains(Position p, Direction u, int32_t on_surface) const { - + moab::ErrorCode rval; moab::EntityHandle vol = dagmc_ptr->entity_by_id(3, id_); int result = 0; - dagmc_ptr->point_in_volume(vol, p.xyz, result, u.xyz); - + rval = dagmc_ptr->point_in_volume(vol, p.xyz, result, u.xyz); + MB_CHK_ERR_CONT(rval); return bool(result); } diff --git a/src/surface.cpp b/src/surface.cpp index e0dc352272..ad30a37fc7 100644 --- a/src/surface.cpp +++ b/src/surface.cpp @@ -256,25 +256,31 @@ double CADSurface::evaluate(Position r) const } double CADSurface::distance(Position p, Direction u, bool coincident) const { + moab::ErrorCode rval; moab::EntityHandle surf = dagmc_ptr->entity_by_id(2, id_); moab::EntityHandle hit_surf; double dist; - dagmc_ptr->ray_fire(surf, p.xyz, u.xyz, hit_surf, dist, NULL, 0, 0); + rval = dagmc_ptr->ray_fire(surf, p.xyz, u.xyz, hit_surf, dist, NULL, 0, 0); + MB_CHK_ERR_CONT(rval); if (dist < 0.0) dist = INFTY; return dist; } Direction CADSurface::normal(Position p) const { + moab::ErrorCode rval; Direction u; moab::EntityHandle surf = dagmc_ptr->entity_by_id(2, id_); - dagmc_ptr->get_angle(surf, p.xyz, u.xyz); + rval = dagmc_ptr->get_angle(surf, p.xyz, u.xyz); + MB_CHK_ERR_CONT(rval); return u; } BoundingBox CADSurface::bounding_box() const { + moab::ErrorCode rval; moab::EntityHandle surf = dagmc_ptr->entity_by_id(2, id_); double min[3], max[3]; - dagmc_ptr->getobb(surf, min, max); + rval = dagmc_ptr->getobb(surf, min, max); + MB_CHK_ERR_CONT(rval); return BoundingBox(min[0], max[0], min[1], max[1], min[2], max[2]); }