Check if Geom_Curve is Geom_Circle and find its Radius

Hi OpenCascade Community! I'm working on a fillet recognition project and for the current idea, I extract the middle Isolines (UIso, VIso) from various surfaces. Those Isolines are of type Geom_Curve. Now I need to find out whether the Geom_Curve is a Geom_Circle and if it is, find its Radius and its Archlength. I've seen that I can check the curve type by using curve.IsKind() but this function needs a STANDARD_TYPE() as an input and I can't understand how to use it. Also I would then need to convert all circular Geom_Curve into Geom_Circle in order to find the Radius. How can I do that?

Mikhail Sazonov's picture
  Handle(Geom_Circle) aCircle = Handle(Geom_Circle)::DownCast (theCurve);
  if (!aCircle.IsNull())
  {
    double aRadius = aCircle->Radius();
    ...
  }
St K's picture

Thank you!