opencascade绘制球面,并进行裁剪
double Pi = 3.1415926;//建立球头半圆部分
gp_Ax3 ax(gp_Pnt(0, 0, 2), gp_Vec(0, 0, 1), gp_Vec(1, 0, 0));
Geom_SphericalSurface sphere(ax, 3.0);
Handle(Geom_SphericalSurface) h_sphere = new Geom_SphericalSurface(sphere.Sphere());
Handle( Geom_Surface ) trimmed_sphere =
TopoDS_Face sphereFace = BRepBuilderAPI_MakeFace(h_sphere, 0.0, 2. * Pi, -Pi / 2, 0,1e-6);
Handle(AIS_Shape) ais_shape = new AIS_Shape(sphereFace);
m_context->Display(ais_shape, Standard_True);
m_view->FitAll();
结果: