// file: TopOpeBRepBuild_Grid.cxx // Created: Thu Mar 7 10:49:33 1996 // Author: Jean Yves LEBEY // #include #include #ifdef DEB Standard_IMPORT Standard_Integer GLOBAL_iexE; Standard_IMPORT Standard_Integer GLOBAL_iexF; Standard_Boolean STATIC_trace_iexE = Standard_False; Standard_Boolean STATIC_trace_iexF = Standard_False; Standard_EXPORT void debkeep(const Standard_Integer i) {cout<<"++ debkeep "< / shapes of list // return true if LS is not empty && (position == TB) // (return always true if LS is empty) //======================================================================= Standard_Boolean TopOpeBRepBuild_Builder::GKeepShape (const TopoDS_Shape& S, const TopTools_ListOfShape& LSclass, const TopAbs_State TB) { TopAbs_State pos; return GKeepShape1(S,LSclass,TB,pos); } Standard_Boolean TopOpeBRepBuild_Builder::GKeepShape1 (const TopoDS_Shape& S, const TopTools_ListOfShape& LSclass, const TopAbs_State TB, TopAbs_State& pos) { Standard_Boolean keep = Standard_True; pos = TopAbs_UNKNOWN; Standard_Boolean toclassify = Standard_True; if (S.ShapeType() == TopAbs_FACE && !myDataStructure->HasShape(S) && myClassifyDef) { toclassify = myClassifyVal; } toclassify = (toclassify && !LSclass.IsEmpty()); if (toclassify) { pos = ShapePosition(S,LSclass); if ( pos != TB ) keep = Standard_False; } #ifdef DEB Standard_Integer iS; Standard_Boolean tSPS = GtraceSPS(S,iS); Standard_Integer iface = 0, isoli = 0; Standard_Boolean tSPSface = Standard_False; Standard_Boolean tSPSsoli = Standard_False; if ( S.ShapeType() == TopAbs_EDGE ) { tSPSface = GtraceSPS(myFaceToFill,iface); tSPSface = tSPSface && STATIC_trace_iexE; } else if ( S.ShapeType() == TopAbs_FACE ) { tSPSsoli = GtraceSPS(mySolidToFill,isoli); tSPSsoli = tSPSsoli && STATIC_trace_iexF; } Standard_Boolean tr = tSPS || tSPSface || tSPSsoli; if(tr){ if (tSPS) GdumpSHA(S); else if (tSPSface) cout<<"EDGE exploration "<