- std::dynamic_pointer_cast<PlaneGCSSolver_PointWrapper>(myStorage->entity(
- myBaseConstraint->attribute(SketchPlugin_MultiRotation::CENTER_ID())));
- GCSPointPtr aCenterPoint = aRotCenter->point();
- myCenterCoord[0] = *(aCenterPoint->x);
- myCenterCoord[1] = *(aCenterPoint->y);
+ std::dynamic_pointer_cast<PlaneGCSSolver_PointWrapper>(myStorage->entity(aCenterAttr));
+ if (aRotCenter)
+ {
+ GCSPointPtr aCenterPoint = aRotCenter->point();
+ myCenterCoord[0] = *(aCenterPoint->x);
+ myCenterCoord[1] = *(aCenterPoint->y);
+ }
+ else
+ {
+ AttributePoint2DPtr aCenterPnt =
+ std::dynamic_pointer_cast<GeomDataAPI_Point2D>(aCenterAttr->attr());
+ myCenterCoord[0] = aCenterPnt->x();
+ myCenterCoord[1] = aCenterPnt->y();
+ }