gp_Circ
entity contains its placement and radius, but not parametric ranges. You are supposed to construct the Geom_Circle
out of it, and trim this curve, e.g., with Geom_TrimmedCurve
or by constructing an edge. Do you know the extremity points of your arc? If so, you might be asking how to get the angle from the known 3D points, but otherwise, it is always 360 degrees for the gp_Circ
entity.double firstParam = 0;gp_Pnt P1, P2;
double lastParam = arcAngleInRadians;
double Step = (10* 2 * PI) / 360; // tessellate the arc with 10 degree step
double param = 0;
P1 = ElCLib::Value(firstParam, myArc);
for (param = firstParam+Step; param < lastParam; param += Step)
{
_ArcTessalatePoints->AddVertex(P1.X(), P1.Y(), P1.Z());
P2 = ElCLib::Value(param, myArc);
_ArcTessalatePoints->AddVertex(P2.X(), P2.Y(), P2.Z());
P1 = P2;
}