std::shared_ptr<GeomAPI_Pnt2d> aPnt = getCoincidencePoint(myConstraint);
std::shared_ptr<GeomAPI_Pnt2d> aP;
FeaturePtr aSub;
- for (int i = 0; i < mySketch->numberOfSubs(); i++) {
+ int aNumberOfSubs = mySketch->numberOfSubs();
+ for (int i = 0; i < aNumberOfSubs; i++) {
aSub = mySketch->subFeature(i);
if (aSub->getKind() == SketchPlugin_ConstraintCoincidence::ID() &&
aSub.get() != myConstraint) {
aP = getCoincidencePoint(aSub.get());
- if (aP->isEqual(aPnt)) {
+ if (aP && aP->isEqual(aPnt)) {
aIsEdge = hasEdge(aSub.get());
if (aIsEdge)
break;
// Make a black mid ring
aPtA = new Graphic3d_AspectMarker3d();
- aPtA->SetType(Aspect_TOM_RING1);
+ aPtA->SetType(aIsEdge ? Aspect_TOM_STAR : Aspect_TOM_RING1);
aPtA->SetScale(1.);
aPtA->SetColor(!aCustomColor ? aInternalColor : myCustomColor);
aGroup->SetPrimitivesAspect(aPtA);