From 387a0fd3bc7d16a48bfd62686b1aa0a8b9ade3d8 Mon Sep 17 00:00:00 2001 From: jfa Date: Thu, 27 Oct 2005 08:57:18 +0000 Subject: [PATCH] PAL10403: pb with GetEdgeNearPoint() --- src/GEOMImpl/GEOMImpl_IBlocksOperations.cxx | 37 +++++---------------- 1 file changed, 9 insertions(+), 28 deletions(-) diff --git a/src/GEOMImpl/GEOMImpl_IBlocksOperations.cxx b/src/GEOMImpl/GEOMImpl_IBlocksOperations.cxx index 1f433c622..eacc7aa2b 100644 --- a/src/GEOMImpl/GEOMImpl_IBlocksOperations.cxx +++ b/src/GEOMImpl/GEOMImpl_IBlocksOperations.cxx @@ -508,7 +508,7 @@ Handle(GEOM_Object) GEOMImpl_IBlocksOperations::MakeBlockCompound //============================================================================= /*! - * GetEdge + * GetPoint */ //============================================================================= Handle(GEOM_Object) GEOMImpl_IBlocksOperations::GetPoint @@ -528,13 +528,7 @@ Handle(GEOM_Object) GEOMImpl_IBlocksOperations::GetPoint TopoDS_Shape aBlockOrComp = theShape->GetValue(); if (aBlockOrComp.IsNull()) { - SetErrorCode("Block or compound is null"); - return NULL; - } - if (aBlockOrComp.ShapeType() != TopAbs_SOLID && - aBlockOrComp.ShapeType() != TopAbs_COMPOUND && - aBlockOrComp.ShapeType() != TopAbs_COMPSOLID) { - SetErrorCode("Shape is neither a block, nor a compound of blocks"); + SetErrorCode("Given shape is null"); return NULL; } @@ -614,13 +608,7 @@ Handle(GEOM_Object) GEOMImpl_IBlocksOperations::GetEdge TopoDS_Shape aBlockOrComp = theShape->GetValue(); if (aBlockOrComp.IsNull()) { - SetErrorCode("Block or compound is null"); - return NULL; - } - if (aBlockOrComp.ShapeType() != TopAbs_SOLID && - aBlockOrComp.ShapeType() != TopAbs_COMPOUND && - aBlockOrComp.ShapeType() != TopAbs_COMPSOLID) { - SetErrorCode("Shape is neither a block, nor a compound of blocks"); + SetErrorCode("Given shape is null"); return NULL; } @@ -737,13 +725,7 @@ Handle(GEOM_Object) GEOMImpl_IBlocksOperations::GetEdgeNearPoint TopoDS_Shape aBlockOrComp = theShape->GetValue(); if (aBlockOrComp.IsNull()) { - SetErrorCode("Block or compound is null"); - return NULL; - } - if (aBlockOrComp.ShapeType() != TopAbs_SOLID && - aBlockOrComp.ShapeType() != TopAbs_COMPOUND && - aBlockOrComp.ShapeType() != TopAbs_COMPSOLID) { - SetErrorCode("Shape is neither a block, nor a compound of blocks"); + SetErrorCode("Given shape is null"); return NULL; } @@ -773,6 +755,11 @@ Handle(GEOM_Object) GEOMImpl_IBlocksOperations::GetEdgeNearPoint } } + if (nbEdges == 0) { + SetErrorCode("Given shape contains no edges"); + return NULL; + } + mapShape.Clear(); Standard_Integer ind = 1; TopTools_Array1OfShape anEdges (1, nbEdges); @@ -873,12 +860,6 @@ Handle(GEOM_Object) GEOMImpl_IBlocksOperations::GetFaceByPoints SetErrorCode("Block or compound is null"); return NULL; } - if (aBlockOrComp.ShapeType() != TopAbs_SOLID && - aBlockOrComp.ShapeType() != TopAbs_COMPOUND && - aBlockOrComp.ShapeType() != TopAbs_COMPSOLID) { - SetErrorCode("Shape is neither a block, nor a compound of blocks"); - return NULL; - } TopoDS_Shape anArg1 = thePoint1->GetValue(); TopoDS_Shape anArg2 = thePoint2->GetValue(); -- 2.39.2