mirror of
https://git.salome-platform.org/gitpub/modules/geom.git
synced 2024-12-27 09:50:34 +05:00
Fix pb in non-regression scripts, caused by previous integration
This commit is contained in:
parent
afbfdd0ed2
commit
cad7d404aa
@ -579,7 +579,7 @@ TopoDS_Shape GEOMImpl_BooleanDriver::performOperation
|
|||||||
TColStd_IndexedDataMapOfTransientTransient aMapTShapes;
|
TColStd_IndexedDataMapOfTransientTransient aMapTShapes;
|
||||||
TNaming_CopyShape::CopyTool(aShape, aMapTShapes, aShapeCopy);
|
TNaming_CopyShape::CopyTool(aShape, aMapTShapes, aShapeCopy);
|
||||||
|
|
||||||
if ( GEOMUtils::FixShapeTolerance(aShapeCopy) ) {
|
if ( GEOMUtils::FixShapeTolerance(aShapeCopy, true) ) {
|
||||||
int iType, nbTypesCopy [TopAbs_SHAPE];
|
int iType, nbTypesCopy [TopAbs_SHAPE];
|
||||||
|
|
||||||
for (iType = 0; iType < TopAbs_SHAPE; ++iType)
|
for (iType = 0; iType < TopAbs_SHAPE; ++iType)
|
||||||
|
@ -1094,20 +1094,28 @@ bool GEOMUtils::CheckShape( TopoDS_Shape& shape,
|
|||||||
|
|
||||||
bool GEOMUtils::FixShapeTolerance( TopoDS_Shape& shape,
|
bool GEOMUtils::FixShapeTolerance( TopoDS_Shape& shape,
|
||||||
TopAbs_ShapeEnum type,
|
TopAbs_ShapeEnum type,
|
||||||
Standard_Real tolerance )
|
Standard_Real tolerance,
|
||||||
|
bool checkGeometry )
|
||||||
{
|
{
|
||||||
ShapeFix_ShapeTolerance aSft;
|
ShapeFix_ShapeTolerance aSft;
|
||||||
aSft.LimitTolerance( shape, tolerance, tolerance, type );
|
aSft.LimitTolerance( shape, tolerance, tolerance, type );
|
||||||
Handle(ShapeFix_Shape) aSfs = new ShapeFix_Shape( shape );
|
Handle(ShapeFix_Shape) aSfs = new ShapeFix_Shape( shape );
|
||||||
aSfs->Perform();
|
aSfs->Perform();
|
||||||
shape = aSfs->Shape();
|
shape = aSfs->Shape();
|
||||||
return CheckShape( shape );
|
return CheckShape( shape, checkGeometry );
|
||||||
}
|
}
|
||||||
|
|
||||||
bool GEOMUtils::FixShapeTolerance( TopoDS_Shape& shape,
|
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 )
|
bool GEOMUtils::FixShapeCurves( TopoDS_Shape& shape )
|
||||||
|
@ -228,22 +228,33 @@ namespace GEOMUtils
|
|||||||
* \param type topology type which tolerance is to be limited; TopAbs_SHAPE means
|
* \param type topology type which tolerance is to be limited; TopAbs_SHAPE means
|
||||||
* all types of topology
|
* all types of topology
|
||||||
* \param tolerance expected tolerance value (1e-7 by default)
|
* \param tolerance expected tolerance value (1e-7 by default)
|
||||||
|
* \param checkGeometry check geometry validity of result
|
||||||
* \return \c true if resulting shape is valid
|
* \return \c true if resulting shape is valid
|
||||||
*
|
*
|
||||||
* \note Resulting tolerance of the shape is not mandatory equal to requested value
|
* \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
|
* 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,
|
Standard_EXPORT bool FixShapeTolerance( TopoDS_Shape& shape,
|
||||||
TopAbs_ShapeEnum type,
|
TopAbs_ShapeEnum type,
|
||||||
Standard_Real tolerance = Precision::Confusion() );
|
Standard_Real tolerance = Precision::Confusion(),
|
||||||
|
bool checkGeometry = false );
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
* \brief Limit shape tolerance to the given value
|
* \brief Limit shape tolerance to the given value
|
||||||
* This is overloaded function, it behaves exactly as previous one
|
* This is overloaded function, it behaves exactly as previous one
|
||||||
*/
|
*/
|
||||||
Standard_EXPORT bool FixShapeTolerance( TopoDS_Shape& shape,
|
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
|
* \brief Fix curves of the given shape
|
||||||
|
Loading…
Reference in New Issue
Block a user