Part: Enable trimmed curves to set their parameter range, from c++ and Python

=============================================================================

>>> geometries = ActiveSketch.Geometry
>>> geo2 = geometries[2]
>>> geo2
ArcOfCircle (Radius : 27.5267, Position : (-70.4702, -31.8933, 0), Direction : (0, 0, 1), Parameter : (1.34187, 2.35619))
>>> geo2.setParameterRange(1,3)
>>> geometries[2]=geo2
>>> ActiveSketch.Geometry=geometries
This commit is contained in:
Abdullah Tahiri
2019-01-27 10:12:52 +01:00
committed by wmayer
parent 52cfac509a
commit f4e4f3441f
4 changed files with 76 additions and 19 deletions

View File

@@ -1549,6 +1549,25 @@ bool GeomTrimmedCurve::intersectBasisCurves( const GeomTrimmedCurve * c,
}
void GeomTrimmedCurve::getRange(double& u, double& v) const
{
Handle(Geom_TrimmedCurve) curve = Handle(Geom_TrimmedCurve)::DownCast(handle());
u = curve->FirstParameter();
v = curve->LastParameter();
}
void GeomTrimmedCurve::setRange(double u, double v)
{
try {
Handle(Geom_TrimmedCurve) curve = Handle(Geom_TrimmedCurve)::DownCast(handle());
curve->SetTrim(u, v);
}
catch (Standard_Failure& e) {
THROWM(Base::CADKernelError,e.GetMessageString())
}
}
// -------------------------------------------------
TYPESYSTEM_SOURCE_ABSTRACT(Part::GeomArcOfConic,Part::GeomTrimmedCurve)