0029115: [Regression] GeomAdaptor mistakenly reports non-periodic curves to be periodic
1. Adaptors and trimmed curves periodicity is always got from the basis geometry (independently of trim boundaries). Section "Periodicity concept" has been added in Doxigen-documentation.
2. Methods IsPeriodic(), IsU(V)Periodic() of classes Geom(2d)_TrimmedCurve(RectangularTrimmedSurface) have changed their behavior. Periodicity of basis curve is taken into account only (trim boundaries are ignored).
3. Currently, methods Period(), U(V)Period() are overridden in classes inherited from Geom(2d)_Curve(Surface) and Adaptor(2d)_Curve(Surface), which IsPeriodic (IsU(V)Periodic()) can return TRUE in. In basis classes, such methods throw exceptions.
4. Method GeomLib::IsClosed(...) has been added in order to check closure of 3D/2D curve with some tolerance. At the same time, IntTools_Tools::IsClosed(...) method has been removed.
5. Methods GeomLib::IsTrimAllowed(...), GeomLib::IsUTrimAllowed(...) and GeomLib::IsVTrimAllowed(...) have been created.
6. Method ShapeAnalysis_Curve::IsPeriodic(...) has been removed.
7. Method
void BOPTools_AlgoTools2D::AdjustPCurveOnFace (const TopoDS_Face& theF,
const Handle(Geom_Curve)& theC3D,
const Handle(Geom2d_Curve)& theC2D,
Handle(Geom2d_Curve)& theC2DA,
const Handle(IntTools_Context)& theContext = Handle(IntTools_Context)());
has been removed.
9. Interface of Geom_ConicalSurface::Apex(...) method has been corrected insignificantly.
10. The DRAW-commands "curveperiod" and "surfaceperiod" have been created. Please see help-system to obtain the information these commands.
11. Several DRAW-commands have been created to provide work with adapters. They are defined in the file GeomliteTest_AdaptorCommands.cxx. Currently they allow reading the following adapter's properties: periodicity, closure and resolution.
12. New test cases have been created.