Fix pb in non-regression scripts, caused by previous integration

This commit is contained in:
vsr 2015-01-16 15:33:47 +03:00
parent afbfdd0ed2
commit cad7d404aa
3 changed files with 27 additions and 8 deletions

View File

@ -579,7 +579,7 @@ TopoDS_Shape GEOMImpl_BooleanDriver::performOperation
TColStd_IndexedDataMapOfTransientTransient aMapTShapes;
TNaming_CopyShape::CopyTool(aShape, aMapTShapes, aShapeCopy);
if ( GEOMUtils::FixShapeTolerance(aShapeCopy) ) {
if ( GEOMUtils::FixShapeTolerance(aShapeCopy, true) ) {
int iType, nbTypesCopy [TopAbs_SHAPE];
for (iType = 0; iType < TopAbs_SHAPE; ++iType)

View File

@ -1094,20 +1094,28 @@ bool GEOMUtils::CheckShape( TopoDS_Shape& shape,
bool GEOMUtils::FixShapeTolerance( TopoDS_Shape& shape,
TopAbs_ShapeEnum type,
Standard_Real tolerance )
Standard_Real tolerance,
bool checkGeometry )
{
ShapeFix_ShapeTolerance aSft;
aSft.LimitTolerance( shape, tolerance, tolerance, type );
Handle(ShapeFix_Shape) aSfs = new ShapeFix_Shape( shape );
aSfs->Perform();
shape = aSfs->Shape();
return CheckShape( shape );
return CheckShape( shape, checkGeometry );
}
bool GEOMUtils::FixShapeTolerance( TopoDS_Shape& shape,
Standard_Real tolerance )
Standard_Real tolerance,
bool checkGeometry )
{
return FixShapeTolerance( shape, TopAbs_SHAPE, tolerance );
return FixShapeTolerance( shape, TopAbs_SHAPE, tolerance, checkGeometry );
}
bool GEOMUtils::FixShapeTolerance( TopoDS_Shape& shape,
bool checkGeometry )
{
return FixShapeTolerance( shape, Precision::Confusion(), checkGeometry );
}
bool GEOMUtils::FixShapeCurves( TopoDS_Shape& shape )

View File

@ -228,22 +228,33 @@ namespace GEOMUtils
* \param type topology type which tolerance is to be limited; TopAbs_SHAPE means
* all types of topology
* \param tolerance expected tolerance value (1e-7 by default)
* \param checkGeometry check geometry validity of result
* \return \c true if resulting shape is valid
*
* \note Resulting tolerance of the shape is not mandatory equal to requested value
* as it might be changed by fixshape operation in order to get valid shape where possible
* \note By default, result only checked for topology validity; check of geometry can be done by
* passing \c true to \a checkGeometry parameter
*/
Standard_EXPORT bool FixShapeTolerance( TopoDS_Shape& shape,
TopAbs_ShapeEnum type,
Standard_Real tolerance = Precision::Confusion() );
Standard_Real tolerance = Precision::Confusion(),
bool checkGeometry = false );
/*!
* \brief Limit shape tolerance to the given value
* This is overloaded function, it behaves exactly as previous one
*/
Standard_EXPORT bool FixShapeTolerance( TopoDS_Shape& shape,
Standard_Real tolerance = Precision::Confusion() );
Standard_Real tolerance = Precision::Confusion(),
bool checkGeometry = false );
/*!
* \brief Limit shape tolerance to the given value
* This is overloaded function, it behaves exactly as previous one
*/
Standard_EXPORT bool FixShapeTolerance( TopoDS_Shape& shape,
bool checkGeometry );
/*!
* \brief Fix curves of the given shape