// file: TopOpeBRepBuild_makesolids.cxx // Created: Thu Mar 7 10:49:33 1996 // Author: Jean Yves LEBEY // #include #include #include #include #include #include #include #include #include #include #include #include #include #ifdef DEB Standard_IMPORT Standard_Boolean TopOpeBRepDS_GettraceSTRANGE(); Standard_EXPORT void debgsobu(const Standard_Integer /*iSO*/) {} #endif //======================================================================= //function : GSFSMakeSolids //purpose : //======================================================================= void TopOpeBRepBuild_Builder::GSFSMakeSolids (const TopoDS_Shape& SOF,TopOpeBRepBuild_ShellFaceSet& SFS,TopTools_ListOfShape& LOSO) { #ifdef DEB Standard_Integer iSO; Standard_Boolean tSPS = GtraceSPS(SOF,iSO); if(tSPS){GdumpSHA(SOF, (char *) "#--- GSFSMakeSolids ");cout<EMPTY SOLID\n"; #endif continue; } Standard_Boolean newSolidOK = Standard_True; if (nsh == 1 && nfa == 1) { TopExp_Explorer exp(newSolid,TopAbs_EDGE); Standard_Boolean hasnondegenerated = Standard_False; for(;exp.More(); exp.Next()) { const TopoDS_Edge& e = TopoDS::Edge(exp.Current()); if ( !BRep_Tool::Degenerated(e) ) { hasnondegenerated = Standard_True; break; } } newSolidOK = hasnondegenerated; if ( !newSolidOK ) continue; } TopTools_ListOfShape newSolidLOS; RegularizeSolid(SOF,newSolid,newSolidLOS); LOSO.Append(newSolidLOS); // LOSO.Append(newSolid); } } // GSOBUMakeSolids