mirror of
https://github.com/Open-Cascade-SAS/OCCT.git
synced 2026-09-05 04:07:58 +08: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:
@@ -181,7 +181,7 @@ static Standard_Boolean GetFreeEdges(const TopoDS_Shape& aShape,TopTools_MapOfSh
|
||||
else MapEdges.Remove(edge);
|
||||
}
|
||||
}
|
||||
return (MapEdges.Extent());
|
||||
return !MapEdges.IsEmpty();
|
||||
}
|
||||
//=======================================================================
|
||||
// function : GetShells
|
||||
@@ -576,9 +576,7 @@ static void GlueClosedCandidate(TopTools_SequenceOfShape& OpenShells,
|
||||
|
||||
//Filling map MapOtherShells which contains candidate to creation of closed shell
|
||||
// with aShell.
|
||||
|
||||
TopTools_DataMapOfShapeInteger MapOtherShells;
|
||||
|
||||
NCollection_DataMap<TopoDS_Shape, Standard_Boolean, TopTools_ShapeMapHasher> MapOtherShells;
|
||||
for(Standard_Integer j = i+1 ; j <= OpenShells.Length();j++ ) {
|
||||
Standard_Boolean isAddShell = Standard_True;
|
||||
Standard_Boolean isReversed = Standard_False;
|
||||
@@ -603,17 +601,19 @@ static void GlueClosedCandidate(TopTools_SequenceOfShape& OpenShells,
|
||||
if(!isAddShell) continue;
|
||||
MapOtherShells.Bind(OpenShells.Value(j),isReversed);
|
||||
}
|
||||
if(!MapOtherShells.Extent()) continue;
|
||||
if(MapOtherShells.IsEmpty()) continue;
|
||||
|
||||
|
||||
if(MapOtherShells.Extent() >1) {
|
||||
|
||||
if (!MapOtherShells.IsEmpty())
|
||||
{
|
||||
// Case of compsolid when more than two shells have the same free boundary.
|
||||
TopTools_SequenceOfShape aSeqCandidate;
|
||||
aSeqCandidate.Append(OpenShells.Value(i));
|
||||
|
||||
for(TopTools_DataMapIteratorOfDataMapOfShapeInteger aIt(MapOtherShells); aIt.More(); aIt.Next())
|
||||
aSeqCandidate.Append(aIt.Key());
|
||||
for (NCollection_DataMap<TopoDS_Shape, Standard_Boolean, TopTools_ShapeMapHasher>::Iterator aIt(MapOtherShells); aIt.More(); aIt.Next())
|
||||
{
|
||||
aSeqCandidate.Append(aIt.Key());
|
||||
}
|
||||
|
||||
//Creation all possibly shells from choosen candidate.And
|
||||
// addition of them to temporary sequence.
|
||||
@@ -627,9 +627,9 @@ static void GlueClosedCandidate(TopTools_SequenceOfShape& OpenShells,
|
||||
aB.MakeShell(aNewSh);
|
||||
for(TopoDS_Iterator aIt1(aSeqCandidate.Value(k),Standard_False); aIt1.More(); aIt1.Next())
|
||||
aB.Add(aNewSh,aIt1.Value());
|
||||
Standard_Integer isRev = MapOtherShells.Find(aSeqCandidate.Value(l));
|
||||
Standard_Boolean isRev = MapOtherShells.Find(aSeqCandidate.Value(l));
|
||||
if(k !=1) {
|
||||
isRev = ((isRev == MapOtherShells.Find(aSeqCandidate.Value(k))) ? 1 : 0);
|
||||
isRev = (isRev == MapOtherShells.Find(aSeqCandidate.Value(k)));
|
||||
}
|
||||
for(TopExp_Explorer aExp(aSeqCandidate.Value(l),TopAbs_FACE); aExp.More(); aExp.Next()) {
|
||||
TopoDS_Shape aFace = (isRev ? aExp.Current().Reversed(): aExp.Current());
|
||||
@@ -656,9 +656,8 @@ static void GlueClosedCandidate(TopTools_SequenceOfShape& OpenShells,
|
||||
TopoDS_Shape addShell;
|
||||
Standard_Boolean isReversed = Standard_False;
|
||||
for(Standard_Integer j1 = i+1 ; j1 <= OpenShells.Length();j1++ ) {
|
||||
if(!MapOtherShells.IsBound(OpenShells.Value(j1))) continue;
|
||||
if(!MapOtherShells.Find (OpenShells.Value(j1), isReversed)) continue;
|
||||
addShell = OpenShells.Value(j1);
|
||||
isReversed = MapOtherShells.Find(addShell);
|
||||
OpenShells.Remove(j1);
|
||||
break;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user