- std::list<ParameterWrapperPtr> aParameters = (*aSIt)->parameters();
- aXCoord = aParameters.front()->value();
- aYCoord = aParameters.back()->value();
+ AttributePoint2DPtr aPoint =
+ std::dynamic_pointer_cast<GeomDataAPI_Point2D>((*aSIt)->baseAttribute());
+ if (aPoint) {
+ aXCoord = aPoint->x();
+ aYCoord = aPoint->y();
+ } else {
+ std::list<ParameterWrapperPtr> aParameters = (*aSIt)->parameters();
+ aXCoord = aParameters.front()->value();
+ aYCoord = aParameters.back()->value();
+ }