6 #include <TopoDS_Face.hxx>
7 #include <TopoDS_Shape.hxx>
9 #include <BRepBuilderAPI_MakeFace.hxx>
10 #include <BRepPrimAPI_MakeHalfSpace.hxx>
12 #include <TGeoHalfSpace.h>
21 gp_Pnt pnt = plane.Location();
22 gp_Dir dir = plane.Axis().Direction();
28 dir.SetX(-dir.X()); dir.SetY(-dir.Y()); dir.SetZ(-dir.Z());
32 dir.SetX(-dir.X()); dir.SetY(-dir.Y()); dir.SetZ(-dir.Z());
36 dir.SetX(-dir.X()); dir.SetY(-dir.Y()); dir.SetZ(-dir.Z());
41 TopoDS_Face aFace = BRepBuilderAPI_MakeFace(gp_Pln(pnt, dir));
46 gp_Pnt x0(plane.Location()), pt(x0.X() - t*dir.X(), x0.Y() - t*dir.Y(), x0.Z() - t*dir.Z());
48 mSolid =
new TopoDS_Shape(BRepPrimAPI_MakeHalfSpace(aFace, pt).Solid());
49 mPlane =
new gp_Pln(x0, dir);
59 if (!other)
return false;
73 gp_Dir anti(-plr->Axis().Direction().X(),
74 -plr->Axis().Direction().Y(),
75 -plr->Axis().Direction().Z());
98 double x0[3] = {
mPlane->Location().X(),
mPlane->Location().Y(),
mPlane->Location().Z()};
99 double n0[3] = {
mPlane->Axis().Direction().X(),
mPlane->Axis().Direction().Y(),
mPlane->Axis().Direction().Z()};
104 new TGeoHalfSpace(vname, x0, n0);