1
0
mirror of https://git.dev.opencascade.org/repos/occt.git synced 2025-08-09 13:22:24 +03:00

0027772: Foundation Classes - define Standard_Boolean using C++ type "bool" instead of "unsigned int"

Code has been updated to remove no-op casts and implicit casts to Standard_Boolean.

Places of inproper use of Standard_Boolean instead of Standard_Integer
have been corrected:
- Bnd_Box, Bnd_Box2d
  Bit flags are now defined as private enum
- HLRAlgo_BiPoint, HLRAlgo_EdgesBlock, HLRBRep_EdgeData, HLRBRep_FaceData
  Bit flags are now defined as enum
- HLRAlgo_EdgeStatus, HLRBRep_BiPnt2D, HLRBRep_BiPoint
  Bit flags are now defined as bool fields
- HLRAlgo_PolyData
  Bit flags are now defined as Standard_Integer
- OSD_DirectoryIterator, OSD_FileIterator
  Boolean flag is now defined as Standard_Boolean
- ShapeAnalysis_Surface::SurfaceNewton()
  now returns Standard_Integer (values 0, 1 or 3)
- ChFi2d_FilletAlgo
  now uses TColStd_SequenceOfBoolean instead of TColStd_SequenceOfInteger
  for storing boolean flags

Method IFSelect_Dispatch::PacketsCount() has been dropped from interface.

ShapeFix_Solid::Status() has been fixed to decode requested status
instead of returning integer value.

TopOpeBRepBuild_Builder1 now defines map storing Standard_Boolean values
instead of Standard_Integer.

Persistence for Standard_Boolean type has been corrected
to keep backward compatibility:
- BinMDataStd, BinTools, FSD_BinaryFile

Broken Draw Harness commands vdisplaymode and verasemode have been removed.

BRepMesh_FastDiscretFace::initDataStructure() - workaround old gcc limitations

BRepMesh_IncrementalMesh::clear() - avoid ambiguity
This commit is contained in:
kgv
2016-08-25 14:58:51 +03:00
committed by abv
parent 3fe9ce0edd
commit dde6883382
211 changed files with 1324 additions and 2667 deletions

View File

@@ -783,7 +783,7 @@ Standard_Boolean ShapeAnalysis_Surface::IsVClosed(const Standard_Real preci)
//function : SurfaceNewton
//purpose : Newton algo (S4030)
//=======================================================================
Standard_Boolean ShapeAnalysis_Surface::SurfaceNewton(const gp_Pnt2d &p2dPrev,
Standard_Integer ShapeAnalysis_Surface::SurfaceNewton(const gp_Pnt2d &p2dPrev,
const gp_Pnt& P3D,
const Standard_Real preci,
gp_Pnt2d &sol)
@@ -852,7 +852,7 @@ Standard_Boolean ShapeAnalysis_Surface::SurfaceNewton(const gp_Pnt2d &p2dPrev,
// cout << "Newton: solution found in " << i+1 << " iterations" << endl;
sol.SetCoord( U, V );
return ( nrm2 < 0.01 * ru2 * rv2 ? 2 : Standard_True ); //:q6
return ( nrm2 < 0.01 * ru2 * rv2 ? 2 : 1 ); //:q6
}
// cout << "Newton: failed after " << i+1 << " iterations (fail " << fail << " )" << endl;
return Standard_False;
@@ -911,8 +911,8 @@ gp_Pnt2d ShapeAnalysis_Surface::NextValueOfUV(const gp_Pnt2d &p2dPrev,
}
gp_Pnt2d sol;
Standard_Boolean res = SurfaceNewton(p2dPrev,P3D,preci,sol);
if ( res )
Standard_Integer res = SurfaceNewton(p2dPrev,P3D,preci,sol);
if (res != 0)
{
Standard_Real gap = P3D.Distance ( Value(sol) );
if ( res == 2 || //:q6 abv 19 Mar 99: protect against strange attractors
@@ -1002,7 +1002,8 @@ gp_Pnt2d ShapeAnalysis_Surface::ValueOfUV(const gp_Pnt& P3D,const Standard_Real
//conic case
gp_Pnt2d prev(S,T);
gp_Pnt2d solution;
if (SurfaceNewton(prev,P3D,preci,solution)) {
if (SurfaceNewton(prev,P3D,preci,solution) != 0)
{
#ifdef OCCT_DEBUG
cout <<"Newton found point on conic extrusion"<<endl;
#endif
@@ -1073,7 +1074,8 @@ gp_Pnt2d ShapeAnalysis_Surface::ValueOfUV(const gp_Pnt& P3D,const Standard_Real
Standard_Boolean possLockal = Standard_False; //:study S4030 (optimizing)
if (disSurf > preci) {
gp_Pnt2d pp(UU,VV);
if ( SurfaceNewton(pp,P3D,preci,pp)) { //:q2 abv 16 Mar 99: PRO7226 #412920
if (SurfaceNewton (pp, P3D, preci, pp) != 0)
{ //:q2 abv 16 Mar 99: PRO7226 #412920
Standard_Real dist = P3D.Distance ( Value(pp) );
if ( dist < disSurf ) {
disSurf = dist;

View File

@@ -347,9 +347,10 @@ private:
Standard_EXPORT void ComputeSingularities();
Standard_EXPORT void ComputeBoxes();
Standard_EXPORT Standard_Boolean SurfaceNewton (const gp_Pnt2d& p2dPrev, const gp_Pnt& P3D, const Standard_Real preci, gp_Pnt2d& sol);
//! @return 0, 1 or 2.
Standard_EXPORT Standard_Integer SurfaceNewton (const gp_Pnt2d& p2dPrev, const gp_Pnt& P3D, const Standard_Real preci, gp_Pnt2d& sol);
Standard_EXPORT void SortSingularities();