Я хочу иметь вершину, краю, лицо или выбор всего тела на AIS_SHAPE в соответствии с режимом выбора. На самом деле, если вершина, из которой я хочу пойти, выбрана, мне нужно получить координаты вершины. Если выбран края, мне нужно рассчитать длину. Площадь поверхности даже при выборе лица ... < /p>
Я могу выделить с помощью моей команды. < /P>
myViewerWidget->getContext()->Activate(TopAbs_FACE, Standard_True);
< /code>
Но когда форма нажимается, она возвращает мне все свои вершины или поверхности. /p>
if (theEvent->button() == Qt::LeftButton) {
qDebug() DetectedOwner().IsNull()){
Handle(AIS_InteractiveObject) picked;
myContext->InitSelected();
picked = myContext->DetectedInteractive();
Handle(AIS_Shape) aShape=Handle(AIS_Shape)::DownCast(picked);
TopoDS_Shape topShape = aShape->Shape();
// Vertex
for(TopExp_Explorer vertEx(topShape, TopAbs_VERTEX); vertEx.More(); vertEx.Next()) {
TopoDS_Vertex aVertex = TopoDS::Vertex(vertEx.Current());
gp_Pnt aPnt = BRep_Tool::Pnt(aVertex);
qDebug()
Подробнее здесь: https://stackoverflow.com/questions/714 ... pencascade
Выберите вершину, край и лицо с мышью (Opencascade) ⇐ C++
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение