Advertisement

OCCToolkit中OCC组件用于选择并处理模型中的多个面

阅读量:

在选择多个面之前,OCC确实耗费了相当长的时间进行思考,上篇所提供的方法仅支持单个面的选择。如今,推荐两种能够实现多选功能的方式。

第一种方法为shift点选模式:
通过鼠标右键配合shift键,可触发多选事件:

复制代码
    vector<TopoDS_Shape> selectedFaces;//存储OCC平面选择结果
    
    void COCCMFCView::OnRButtonUp(UINT nFlags , CPoint point)
    {
    	myAISContext->InitSelected();
    
    	if (nFlags & MK_SHIFT)
    	{
    		myAISContext->ShiftSelect(true);//shift点选
    	}
    
    	for (myAISContext->InitSelected(); myAISContext->MoreSelected(); myAISContext->NextSelected())
    	{
    		selectedFaces.push_back(myAISContext->SelectedShape());
    	}
    	CView::OnRButtonUp(nFlags, point);

全部评论 (0)

还没有任何评论哟~