bool& theFullValue, std::list<EntityWrapperPtr>& theEntities)
{
DataPtr aData = myBaseConstraint->data();
- AttributePtr aStartPointAttr = aData->attribute(SketchPlugin_MultiTranslation::START_POINT_ID());
- AttributePtr aEndPointAttr = aData->attribute(SketchPlugin_MultiTranslation::END_POINT_ID());
+ AttributeRefAttrPtr aStartPointAttr = aData->refattr(SketchPlugin_MultiTranslation::START_POINT_ID());
+ AttributeRefAttrPtr aEndPointAttr = aData->refattr(SketchPlugin_MultiTranslation::END_POINT_ID());
if (!aStartPointAttr || !aStartPointAttr->isInitialized() ||
!aEndPointAttr || !aEndPointAttr->isInitialized()) {
myErrorMsg = SketchSolver_Error::NOT_INITIALIZED();
theFullValue = aMethodTypeAttr->value() != "SingleValue";
getEntities(theEntities);
+
+ // add owner of start and end points of Multi-Translation to the list of monitored features
+ FeaturePtr anOwner = ModelAPI_Feature::feature(aStartPointAttr->attr()->owner());
+ if (anOwner)
+ myFeatures.insert(anOwner);
+ anOwner = ModelAPI_Feature::feature(aEndPointAttr->attr()->owner());
+ if (anOwner)
+ myFeatures.insert(anOwner);
}
void SketchSolver_ConstraintMultiTranslation::process()