- aSubIds->Contains(aFeatureID + kSTART_VERTEX_DELTA) ||
- aSubIds->Contains(aFeatureID + kSTART_VERTEX_DELTA * 2)) {
- // searching for deltas
- int aVertexNum = 0;
- if (aSubIds->Contains(aFeatureID + kSTART_VERTEX_DELTA)) aVertexNum = 1;
- else if (aSubIds->Contains(aFeatureID + kSTART_VERTEX_DELTA * 2)) aVertexNum = 2;
- // found the feature with appropriate edge
- FeaturePtr aFeature = aComposite->subFeature(a);
- std::list<std::shared_ptr<ModelAPI_Result> >::const_iterator aResIter =
- aFeature->results().cbegin();
- for(;aResIter != aFeature->results().cend(); aResIter++) {
- ResultConstructionPtr aRes =
- std::dynamic_pointer_cast<ModelAPI_ResultConstruction>(*aResIter);
- if (aRes && aRes->shape()) {
- if (aRes->shape()->isVertex() && aVertexNum == 0) { // found!
- selectConstruction(aContext, aRes->shape());
- owner()->data()->sendAttributeUpdated(this);
- return true;
- } else if (aRes->shape()->isEdge() && aVertexNum > 0) {
- const TopoDS_Shape& anEdge = aRes->shape()->impl<TopoDS_Shape>();
- int aVIndex = 1;
- for(TopExp_Explorer aVExp(anEdge, TopAbs_VERTEX); aVExp.More(); aVExp.Next()) {
- if (aVIndex == aVertexNum) { // found!
- std::shared_ptr<GeomAPI_Shape> aVertex(new GeomAPI_Shape);
- aVertex->setImpl(new TopoDS_Shape(aVExp.Current()));
- selectConstruction(aContext, aVertex);
- owner()->data()->sendAttributeUpdated(this);
- return true;
+ aSubIds->Contains(aFeatureID + kSTART_VERTEX_DELTA) ||
+ aSubIds->Contains(aFeatureID + kSTART_VERTEX_DELTA * 2)) {
+ // searching for deltas
+ int aVertexNum = 0;
+ if (aSubIds->Contains(aFeatureID + kSTART_VERTEX_DELTA)) aVertexNum = 1;
+ else if (aSubIds->Contains(aFeatureID + kSTART_VERTEX_DELTA * 2)) aVertexNum = 2;
+ // found the feature with appropriate edge
+ FeaturePtr aFeature = aComposite->subFeature(a);
+ std::list<std::shared_ptr<ModelAPI_Result> >::const_iterator aResIter =
+ aFeature->results().cbegin();
+ for(;aResIter != aFeature->results().cend(); aResIter++) {
+ ResultConstructionPtr aRes =
+ std::dynamic_pointer_cast<ModelAPI_ResultConstruction>(*aResIter);
+ if (aRes && aRes->shape()) {
+ if (aRes->shape()->isVertex() && aVertexNum == 0) { // found!
+ selectConstruction(aContext, aRes->shape());
+ owner()->data()->sendAttributeUpdated(this);
+ return true;
+ } else if (aRes->shape()->isEdge() && aVertexNum > 0) {
+ const TopoDS_Shape& anEdge = aRes->shape()->impl<TopoDS_Shape>();
+ int aVIndex = 1;
+ for(TopExp_Explorer aVExp(anEdge, TopAbs_VERTEX); aVExp.More(); aVExp.Next()) {
+ if (aVIndex == aVertexNum) { // found!
+ std::shared_ptr<GeomAPI_Shape> aVertex(new GeomAPI_Shape);
+ aVertex->setImpl(new TopoDS_Shape(aVExp.Current()));
+ selectConstruction(aContext, aVertex);
+ owner()->data()->sendAttributeUpdated(this);
+ return true;
+ }
+ aVIndex++;