}
-
TopoDS_Shape HYDROData_Region::GetShape( HYDROData_ShapesGroup::SeqOfGroupsDefs* theSeqOfGroups, const TopTools_SequenceOfShape* IntSh ) const
{
HYDROData_ShapesGroup::SeqOfGroupsDefs aSeqOfGroups;
HYDROData_ShapesTool::DumpShapeSubShapes( std::cout, "Fused face edges:", aFuseShape, TopAbs_EDGE );
#endif
+ aFuseShape = HYDROData_Tool::RebuildCmp(aFuseShape);
+
BRep_Builder BB;
TopoDS_Face DF;
if (!IE.IsEmpty())
//USD algo will skip such edges and will not perform unifying through them
//(more than 2 faces are connected to one edge + non same domain surfaces)
TopoDS_Wire DW;
- Handle_Geom_Plane DPl = new Geom_Plane(gp_Pln (gp_Pnt(0,0,0), gp_Dir(0,1,0))); //non same domain with the main surf
+ Handle(Geom_Plane) DPl = new Geom_Plane(gp_Pln (gp_Pnt(0,0,0), gp_Dir(0,1,0))); //non same domain with the main surf
BB.MakeFace(DF, DPl, Precision::Confusion());
BB.MakeWire(DW);
for (int i = 1; i <= IE.Extent(); i++)
BB.Add(aFuseShape, DF);
}
- ShapeUpgrade_UnifySameDomain unif( aFuseShape );
+ ShapeUpgrade_UnifySameDomain unif( aFuseShape, Standard_False, Standard_True, Standard_False );
unif.Build();
TopoDS_Shape anUnitedShape;
const TopoDS_Shape& out = unif.Shape();