From 98de978f52c733c78e14c494b9e4992db507e07c Mon Sep 17 00:00:00 2001 From: jfa Date: Thu, 27 Oct 2005 09:06:28 +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 9f0bcc926..1f9d9cf41 100644 --- a/src/GEOMImpl/GEOMImpl_IBlocksOperations.cxx +++ b/src/GEOMImpl/GEOMImpl_IBlocksOperations.cxx @@ -458,7 +458,7 @@ Handle(GEOM_Object) GEOMImpl_IBlocksOperations::MakeBlockCompound //============================================================================= /*! - * GetEdge + * GetPoint */ //============================================================================= Handle(GEOM_Object) GEOMImpl_IBlocksOperations::GetPoint @@ -478,13 +478,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; } @@ -555,13 +549,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; } @@ -666,13 +654,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; } @@ -702,6 +684,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); @@ -792,12 +779,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.30.2