// File: TestTopOpe_EditBOOP.cxx // Created: Mon Feb 5 17:29:41 1996 // Author: Jea Yves LEBEY // #include #include #include #include #include #include #include #include #include #include void TestTopOpe_BOOP::SetTol(const TopOpeBRepDS_Kind K,const Standard_Integer index,const Standard_Real tol) { TopOpeBRepDS_DataStructure& BDS = myHDS->ChangeDS(); switch(K) { case TopOpeBRepDS_SURFACE: { TopOpeBRepDS_Surface& Surf = BDS.ChangeSurface(index); Surf.Tolerance(tol); break; } case TopOpeBRepDS_CURVE: { TopOpeBRepDS_Curve& Curv = BDS.ChangeCurve(index); Curv.Tolerance(tol); break; } case TopOpeBRepDS_POINT: { TopOpeBRepDS_Point& Poin = BDS.ChangePoint(index); Poin.Tolerance(tol); break; } #ifndef DEB default: break; #endif } TopOpeBRepDS::Print(K, index, cout); cout<Shape(index))); TopAbs_ShapeEnum se = S.ShapeType(); BRep_Builder BRB; if(se == TopAbs_FACE) { TopoDS_Face& F = TopoDS::Face(S); BRB.UpdateFace(F, tol); } else if(se == TopAbs_EDGE) { TopoDS_Edge& E = TopoDS::Edge(S); BRB.UpdateEdge(E, tol); } else if(se == TopAbs_VERTEX) { TopoDS_Vertex& V = TopoDS::Vertex(S); BRB.UpdateVertex(V, tol); } else { cout<<"Impossible to change the tolerance of "; TopOpeBRepDS::Print(TopOpeBRepDS::ShapeToKind(se),cout); cout<ChangeDS().ChangePoint(i); gp_Pnt& Pnt = Poin.ChangePoint(); Pnt.SetCoord(x,y,z); }