+void GeomAPI_Edge::setRange(const double& theFirst, const double& theLast)
+{
+ TopoDS_Edge anEdge = impl<TopoDS_Edge>();
+ double aFirst, aLast;
+ Handle(Geom_Curve) aCurve = BRep_Tool::Curve(anEdge, aFirst, aLast);
+ double aTolerance = BRep_Tool::Tolerance(anEdge);
+ if (aCurve->DynamicType() == STANDARD_TYPE(Geom_TrimmedCurve)) {
+ aCurve = Handle(Geom_TrimmedCurve)::DownCast(aCurve)->BasisCurve();
+ BRep_Builder().UpdateEdge(anEdge, aCurve, aTolerance);
+ }
+ BRep_Builder().Range(anEdge, theFirst, theLast);
+}
+