Hi all,
I just stumbled on a way of creating an infinite solid, by means of the BRepPrimAPI_MakePrism which has a constructor to create an infinite prism from a face. I ended up implementing a more elaborate method, but for reference here is code to produce a polygonal bounded halfspace from a wire and a plane:
____________________________________
TopoDS_Wire the_boundary;
gp_Pln the_plane;
// ...
TopoDS_Shape prism = BRepPrimAPI_MakePrism(BRepBuilderAPI_MakeFace(the_boundary),gp_Vec(0,0,1),1,0,1);
gp_Pnt pnt = pln.Location().Translated(pln.Axis().Direction())
TopoDS_Shape halfspace = BRepPrimAPI_MakeHalfSpace(BRepBuilderAPI_MakeFace(pln),pnt).Solid();
TopoDS_Shape bounded_halfspace = BRepAlgoAPI_Common(prism,halfspace);
____________________________________
Kind regards,
Author