else {
std::shared_ptr<GCS::Circle> aCircle = std::dynamic_pointer_cast<GCS::Circle>(myEntity);
if (aCircle) myType = ENTITY_CIRCLE;
+ else {
+ std::shared_ptr<GCS::Ellipse> anEllipse =
+ std::dynamic_pointer_cast<GCS::Ellipse>(myEntity);
+ if (anEllipse) myType = ENTITY_ELLIPSE;
+ }
}
}
}
return aSqRadius < aSqTol || aSqRadius > aMaxRadius * aMaxRadius || // <- arc radius
anAngleDiff < anAngleTol || fabs(anAngleDiff - 2*PI) < anAngleTol; // <- arc angle
}
+ else if (myType == ENTITY_ELLIPSE) {
+ std::shared_ptr<GCS::Ellipse> anEllipse = std::dynamic_pointer_cast<GCS::Ellipse>(myEntity);
+ return *anEllipse->radmin < tolerance;
+ }
return false;
}