#### View Issue Details

ID Project Category View Status Date Submitted Last Update 0029115 Community OCCT:Modeling Data public 2017-09-15 12:07 2023-01-21 21:04 Roman Lygin bugmaster high minor closed won't fix 7.2.0 7.7.0 0029115: Modeling Algorithms - [Regression] GeomAdaptor mistakenly reports non-periodic curves to be periodic 7.2.0 introduced the following regression - a synthetic reproducer is below: gp_Circ aCirc (gp_Ax2(), 1); Handle (Geom_Circle) aCircle = new Geom_Circle (aCirc); Handle (Geom_Curve) aCurve = new Geom_TrimmedCurve (aCircle, 0 , M_PI); GeomAdaptor_Curve anAdaptor (aCurve); assert (!anAdaptor.IsPeriodic()); See description No tags attached.

#### Activities

 2017-09-15 14:43 developer   ~0070584 We cannot consider this issue as a bug. Moreover it cannot be considered as a regression. The changes made in the scope of the bug #28724 are conscious. And these changes are described in the Upgrade guide. So, I propose to close this issue. 2017-09-15 15:03 developer   ~0070588 It is up to you, so please decide as you deem appropriate but I find the logic broken. Geometrically-wise, periodicity is a more strict property than closedness, so closedness is a mandatory condition of periodicity. The curve can be closed but not periodic. But if the curve is periodic then it is closed. The fix breaks this geometrical principle and results in periodic but open curve, which is weird. #28724 is not publicly accessible so no clues what's in there. Release Notes just barely mentions the fix, no background/justification either. 2017-09-15 16:04 developer   ~0070595 You can read commit message corresponding to the fix of 28724. Also, you can read upgrade guide, as I told. Periodicity has no common with closeness. Geometry is considered periodic if by adding the period to the parameter we obtain the same 3D point. And it is the case for a part of circle. 2017-09-18 17:43 developer   ~0070654 I find the statement on periodicity having nothing in common with closedness to be just plain wrong. In CAD world it is a de-facto convention that periodicity is a particular case of closedness, i.e. is a more strict requirement than closedness. That is a curve/surface cannot be periodic until it is closed. Here are a few resources: - http://docs.mcneel.com/rhino/5/help/en-us/popup_moreinformation/periodic.htm - https://knowledge.autodesk.com/support/maya-lt/learn-explore/caas/CloudHelp/cloudhelp/2015/ENU/MayaLT/files/NURBS-overview-Periodic-closed-and-open-geometry-htm.html - http://support.ptc.com/help/creo/creo_pma/usascii/index.html#page/surfacing/style/About_Closed_Curves.html Generic resources: - https://math.stackexchange.com/questions/1477058/closed-periodic-curve Similar concepts are reflected in ACIS and Parasolid which are kernels underlying the greatest number of CAD systems. Challenging that assumption can be way too confusing for the users and leading to a lot of misunderstanding. The Geom[2d]Adaptor_Curve (as the name suggests) is aimed to implement an adaptor design pattern (https://en.wikipedia.org/wiki/Adapter_pattern) adapting the Geom[2d]_Curve to a generic curve-like class which many surface modeling algorithm would accept. This adaptor represents a blackbox curve that has a range [a,b], can be evaluated at parameter t in that range  Here is the pseudo-code that did work until 7.1.0 (including): function Handle(Geom_Surface) MakePipe (const Adaptor3d_Curve& thePath, ) {     //use GeomFill_Pipe which returns non-periodic surfaces even for periodic paths     Handle(Geom_Surface) aRes = aGeomFillAlgo.Result();     if (thePath.IsPeriodic() && !aResult.IsVPeriodic()) {         //convert to periodic         ShapeCustom_Surface aCS (aRes);         aRes = aCS.ConvertToPeriodic (Standard_False, aTol);         assert (!aRes.IsNull());     }     return aRes; } Up to 7.2.0 thePath.IsPeriodic() returned true for really periodic curves, i.e. a periodic basis curve with range = period (e.g. [0,2*PI], [PI/2, 2.5*PI]). Now with 7.2.0 thePath.IsPeriodic() returns true even for semi-circle ([0,PI]) leading to false positives. A user's code which was quite legitimate in previous version of OCC stops working due to introducing a side-effect logic in Geom[2d]_Adaptor. Now you basically force to revisit entire code base where GeomAdaptor could be used and revisit if periodicity assumptions are not longer valid. This is just an example of why migration to each new OCC version could be pain in the neck and frightening. I am offering you a real case feedback with hope to convince that design decisions in modeling algorithms have to be taken with a lot of care and analysis of possible consequences. Established assumptions and conventions should not be neglected and overcome just to address a particular (even if important) use case. You might prefer to introduce a special processing without affecting mainstream scenarios already incorporated in your users codes. Thanks, nbv 2017-09-19 10:41 developer   ~0070666 Last edited: 2017-09-19 10:42 Dear Roman, Thank you for your links to the User guides of other CAD-systems. However, I would like to draw your attention to the following: 1. As it has already been said by Mikhail (MSV) “Geometry is considered periodic if by adding the period to the parameter we obtain the same 3D point.” (please see the message 0029115:0070595). 2. All questions in the domain. I.e. if any circle is defined in the interval [PI/2, 3*PI/2] then we have the following situation. Let us consider some parameter (e.g. PI) associated with some 3D-point. If we add or subtract the period (2*PI) we will obtain the point which is out of the domain [PI/2, 3*PI/2]. By the same reason, this arc of circle cannot be considered as periodic, in fact, in spite of new 3D-point being the same as for previous parameter (PI). 3. Remark in item 2 is excepted by the fact that the current version of OCCT allows extending surfaces/curves out of their true domain. Yes, it leads to some problems. Therefore, the issue #23675 (P-curves of a face are out of the domain of the face) has been created in order to forbid to work out of domain (this bug is private and has not been integrated yet). However, the current version of OCCT allows it. Therefore, the point with parameter (-PI) on the circle (see item 2) can exist. Therefore, even above described circle can be considered as periodic. So, despite this question being contentious, new behavior (entered in frame of the issue #28724) DOES NOT contradict the main OCCT-conception. ------ Now, let me give a few words about the fix #28724. All reasons are given in the commit message: “The main reason of the regression is that the Extrema algorithm finds the truth extrema point but cannot adjust it to the range of given circle. It is connected with the fact that Geom(2d)Adaptor_Curve::IsPeriodic() method returns false for given circle because adaptor contains a piece of the circle which is not closed.” I.e. the extrema point was found but cannot be adjusted to the true circle domain. After the fix, it is adjusted correctly. ----- We agree that the fix leads to global changes in customer code. Therefore, we have written corresponding notes in Upgrade guide. And I regret but corresponding codes in customer applications shall be rewritten. New example of the code can be taken from changes in “GeomFill_NSections.cxx” made in frame of the issue #28724. I.e. Use ```const Standard_Real aParF = AC1.FirstParameter(); const Standard_Real aParL = AC1.LastParameter(); const Standard_Real aPeriod = AC1.IsPeriodic() ? AC1.Period() : 0.0; if ((aPeriod != 0.0) && (Abs(aParL - aParF - aPeriod) < Precision::PConfusion())) ``` Instead of ```if(AC1.IsPeriodic()) ``` nbv 2017-09-20 13:42 developer   ~0070711 Last edited: 2017-09-20 13:46 After discussions, we decide 1. To return previous behavior of adaptors. 2. To add in Adaptor*-classes new methods (e.g. IsBasisPeriodic() or AdjustPeriodic()). 3. To use new methods in algorithms where analogical problem exists. Additionally, new synthetic cases should be created to cover base low-level algorithms (such as, all extremas, intersector, classifier). 2017-09-20 18:18 developer   ~0070716 That is about what I had in mind. Thank you guys. 2017-09-21 02:08 developer   ~0070722 I agree, please proceed. However, if you add IsBasisPeriodic method you will be forced to add also the method BasisPeriod(), and may be others. I would prefer adding AdjustPeriodic method, which will do nothing in general case. azv 2017-09-21 08:03 administrator   ~0070724 Dear Mikhail, Nikolay, I'm very confused by the proposed solution. What is a purpose to implement such strange behavior? In my opinion, methods like AdjustPeriodic() are applicable only if the adaptor returns true by IsPeriodic() methods. Unfortunately, in case of half circle (for example, in the range [2*pi, 3*pi]) IsPeriodic() should return false, thus there is no case to adjust. Method IsBasisPeriodic() is more natural, but it brokes a role of adaptor to hide original curve from the user. Moreover, two methods IsPeriodic() and IsBasisPeriodic() will disorient a user which one should be used. I also think that the algorithms (Extrema, for example) should take care of the parametric range of the curve. I mean, that the Extrema algorithms for the case above (half circle in the range [2*pi, 3*pi]) have to return parametric value in the given range, but not in a real domain of underlying circle [0, 2*pi]. 2017-09-21 09:40 developer   ~0070727 Dear Artem, I understand your confusion. However, Extrema has only instance of adapter to make decision about actions needed to complete its job, and we should provide it with convenient interface to do this job, and at the same time to minimize code duplication. For that, it is natural to insert the method of adjusting periodicity in the adapter. To avoid confusion with IsPeriodic returning false, we can name the new method something like TryPutPointInside. If you have another idea, please share it. nbv 2017-09-21 09:46 developer   ~0070728 Dear Artem, Discussion about "IsPeriodic" is impasse (it can be continued infinitely). I think, all questions will be solved by the detailed documentation about new methods. So, these new methods will be able to be added and used in necessary algorithms. > I also think that the algorithms (Extrema, for example) should take care of the parametric range of the curve. I mean, that the Extrema algorithms for the case above (half circle in the range [2*pi, 3*pi]) have to return parametric value in the given range, but not in a real domain of underlying circle [0, 2*pi]. Unfortunately, low-level extrema (which finds all solutions itself) works neither curve nor adaptor. It works with gp_circle. So, it cannot return the point in range different from [0,2*pi]. All adjustments are made in higher level. Moreover, what about other algorithms? If we try to intersect periodic B-spline defined in "shifted" range with another B-spline. In the current version of OCCT, all points of found Walking-line will be adjusted. However, will it be done if both arguments are considered as not periodic? So, we must insert correspond piece of code in all algorithms and support it by the synthetic cases. azv 2017-09-21 10:14 administrator   ~0070729 nbv >> Unfortunately, low-level extrema (which finds all solutions itself) works neither curve nor adaptor. It works with gp_circle. So, it cannot return the point in range different from [0,2*pi]. All adjustments are made in higher level. That's what I tried to say above. Adaptor should not take care about the parameter of the point, the Extrema algorithm should do it. nbv >> Moreover, what about other algorithms? If we try to intersect periodic B-spline defined in "shifted" range with another B-spline. In the current version of OCCT, all points of found Walking-line will be adjusted. However, will it be done if both arguments are considered as not periodic? So, we must insert correspond piece of code in all algorithms and support it by the synthetic cases. Sorry, but your proposal leads to changing this code too. What are the benefits of your approach? nbv 2017-09-21 10:24 developer   ~0070730 > That's what I tried to say above. Adaptor should not take care about the parameter of the point, the Extrema algorithm should do it. This solution leads to copy-paste the same code fragment in different places of OCCT. So, it is better to create some global function (e.g. as method of Adaptor* class) and to call it from these places. The main idea is that the new function must be global and available for main OCCT-algorithms. Therefore, Adaptor is a good place for it. > Sorry, but your proposal leads to changing this code too. What are the benefits of your approach? New solution has not any benefits. However, in the current MASTER, all points will be adjusted correctly. 2017-10-09 14:22 manager   ~0071309 Note discussion of apparently the same subject here: https://dev.opencascade.org/index.php?q=node/1155 2018-03-19 18:37 administrator   ~0074668 Branch CR29115 has been created by nbv. SHA-1: 023408bad3fef54bff393bea083214544bac987d Detailed log of new commits: Author: nbv Date: Wed Feb 21 17:31:37 2018 +0300     0029115: [Regression] GeomAdaptor mistakenly reports non-periodic curves to be periodic          1. Section "Concept of periodicity applied in OCCT-algorithms" has been added in Doxigen-documentation          2. Method IsPeriodic() of classes Geom(2d)_TrimmedCurve has changed its behavior. Please see the documentation about correspond methods.          3. Methods IsUPeriodic() and IsVPeriodic() has changed their behavior.          4. Methods Geom_SurfaceOfLinearExtrusion::UPeriod() and Geom_SurfaceOfRevolution::VPeriod() has changed their behavior.          5. Method GeomLib::IsClosed(...) has been added in order to check closure of 3D/2D curve with some tolerance.          6. Methods ShapeAnalysis_Curve::IsPeriodic(...), BRepBlend_HCurve2dTool::IsPeriodic(...), Contap_HCurve2dTool::IsPeriodic(...), IntPatch_HCurve2dTool::IsPeriodic(...), BRepBlend_HCurveTool::IsPeriodic(...) have 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.          8. The following classes have become abstract (some methods have become pure virtual): Adaptor2d_Curve2d, Adaptor3d_Curve, Adaptor3d_Surface.          9. Methods ChFiDS_ElSpine::IsClosed() GeomFill_SnglrFunc::IsClosed(), ProjLib_CompProjectedCurve::IsClosed(), ProjLib_CompProjectedCurve::IsPeriodic(), ProjLib_CompProjectedCurve::Period() have been created.          10. Methods GeomLib::AllowExtend(...), GeomLib::AllowExtendUParameter(...) and GeomLib::AllowExtendVParameter(...) have been created.          11. Interface of Geom_ConicalSurface::Apex(...) method has been corrected insignificantly.          12. Method IntTools_Tools::IsClosed(...) has been removed. 2018-03-20 10:58 administrator   ~0074690 Branch CR29115 has been updated forcibly by nbv. SHA-1: 6d183b787422b4f46d221d933f7e638c5c348e87 2018-03-22 19:34 administrator   ~0074778 Branch CR29115 has been updated forcibly by nbv. SHA-1: f7d79f5f580ec4c4c6835473390a0ce7ec6f7fc0 2018-03-23 10:14 administrator   ~0074796 Branch CR29115 has been updated forcibly by nbv. SHA-1: 61a11f04a19fe1b891b550aaec86aebeba6cef77 2018-03-26 10:53 administrator   ~0074909 Branch CR29115 has been updated forcibly by nbv. SHA-1: 8f3a6b85efa1584dc5134d02228b314caac75777 2018-03-27 17:26 administrator   ~0074974 Branch CR29115_1 has been created by nbv. SHA-1: 0cf4e3d35f348b6aad6a08252a62459ebc91eb7b Detailed log of new commits: Author: nbv Date: Wed Feb 21 17:31:37 2018 +0300     0029115: [Regression] GeomAdaptor mistakenly reports non-periodic curves to be periodic          1. Section "Concept of periodicity applied in OCCT-algorithms" has been added in Doxigen-documentation          2. Method IsPeriodic() of classes Geom(2d)_TrimmedCurve has changed its behavior. Please see the documentation about correspond methods.          3. Methods IsUPeriodic() and IsVPeriodic() has changed their behavior.          4. Methods Geom_SurfaceOfLinearExtrusion::UPeriod() and Geom_SurfaceOfRevolution::VPeriod() has changed their behavior.          5. Method GeomLib::IsClosed(...) has been added in order to check closure of 3D/2D curve with some tolerance.          6. Methods ShapeAnalysis_Curve::IsPeriodic(...), BRepBlend_HCurve2dTool::IsPeriodic(...), Contap_HCurve2dTool::IsPeriodic(...), IntPatch_HCurve2dTool::IsPeriodic(...), BRepBlend_HCurveTool::IsPeriodic(...) have 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.          8. The following classes have become abstract (some methods have become pure virtual): Adaptor2d_Curve2d, Adaptor3d_Curve, Adaptor3d_Surface.          9. Methods ChFiDS_ElSpine::IsClosed() GeomFill_SnglrFunc::IsClosed(), ProjLib_CompProjectedCurve::IsClosed(), ProjLib_CompProjectedCurve::IsPeriodic(), ProjLib_CompProjectedCurve::Period() have been created.          10. Methods GeomLib::AllowExtend(...), GeomLib::AllowExtendUParameter(...) and GeomLib::AllowExtendVParameter(...) have been created.          11. Interface of Geom_ConicalSurface::Apex(...) method has been corrected insignificantly.          12. Method IntTools_Tools::IsClosed(...) has been removed.          13. The DRAW-commands "curveperiod" and "surfaceperiod" have been created. Please see help-system to obtain the information these commands.          14. 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.          15. New test cases have been created. nbv 2018-03-28 10:04 developer   ~0074984 Dear Mikhail, Please review CR29115_1 branch for OCCT and CR29115prod branch for OCCT-products. Test results are here: http://jenkins-test-11.nnov.opencascade.com:8080/view/CR29115-CR29115prod_NBV/. There are some remarks: 1. About the messages 0029115:0071309 and 0029115:0070711. Currently, we allow trimmed curve/surface and adaptors being periodic if they are based on periodic curves. Any trim boundaries are not taken into account. This behavior has been documented. 2. Differences in images are found: a. IMAGE sat doc_1 B8: B8.png differs    IMAGE sat doc_1 F4: F4.png differs    IMAGE sat load B3: B3.png differs    IMAGE sat doc_2 A3: A3.png differs    IMAGE sat doc_2 A1: A1.png differs    IMAGE sat doc_2 A4: A4.png differs    IMAGE sat doc_2 A2: A2.png differs    ... Seam-edge has been rotated. It is not regressions/improvements because seam-edges can take any locations. b. IMAGE boolean bopfuse_complex J6: J6.png differs    IMAGE boolean bfuse_complex M1: M1.png differs    IMAGE boolean bfuse_complex K6: K6.png differs    IMAGE boolean bcut_complex H8: H8.png differs    IMAGE heal split_closed_faces F4: F4.png differs    IMAGE heal split_continuity_advanced ZF1: ZF1.png differs    IMAGE heal surface_to_bspline F6: F6.png differs    ... The reason of this behavior is explained in the issue #23675: P-curves of a face are out of the domain of the face. DBRep_IsoBuilder processes periodic and not periodic faces (which are out of the surface's domain) differently. So, the structure of the shape has not been changed. We just have another set of iso-lines. In my opinion, it is not a regression. Moreover, the new result is looked better. c. IMAGE omf advanced_meshcut Z6: Z6.png differs    IMAGE omf advanced_meshfuse ZB6: ZB6.png differs    IMAGE omf advanced_meshfuse V5: V5.png differs     Meshing algorithm works differently for periodic and not-periodic faces. However, it is not a regression/improvement. Other differences are explained in the commit message. 3. I kindly recommend you to start reviewing with documentation. It is really describes and explains all made changes. 2018-04-02 11:28 developer   ~0075097 Remarks to documentation: dox/user_guides/modeling_data/modeling_data.md - 790: must be "of their curves" - 798: "In OCCT, a surface is set in parametric form" - 810: "The methods analogical to GeomLib::AllowExtend(...) that can be applied to a surface are called..." - 856: must be "of their surfaces" - 858: We must also introduce the methods IsPeriodic(), IsUPeriodic(), IsVPeriodic(). Otherwise it is unclear from the text how to avoid calling Period() in non-periodic cases. - 862: "the behavior of these methods" 2018-04-02 12:16 developer   ~0075099 src/Adaptor2d/Adaptor2d_Curve2d.hxx - 89: extra "//!" - Making the methods pure virtual is non consistent here: 1) their implementation in cxx is not removed; 2) due to behavior of all other methods. src/Adaptor2d/Adaptor2d_HCurve2d.hxx - 79: extra "//!" src/Adaptor3d/Adaptor3d_Curve.hxx - 91: extra "//!" - Making the methods pure virtual is non consistent with behavior of all other methods. src/Adaptor3d/Adaptor3d_Surface.hxx - Making the methods pure virtual is non consistent with behavior of all other methods. To be continued. 2018-04-02 15:55 administrator   ~0075109 Branch CR29115_2 has been created by nbv. SHA-1: 7a1e372e5efe0a4a9d0284aef129775fc8a8255e Detailed log of new commits: Author: nbv Date: Wed Feb 21 17:31:37 2018 +0300     0029115: [Regression] GeomAdaptor mistakenly reports non-periodic curves to be periodic          1. Section "Periodicity concept" has been added in Doxigen-documentation          2. Method IsPeriodic() of classes Geom(2d)_TrimmedCurve has changed its behavior. Please see the documentation about correspond methods.          3. Methods IsUPeriodic() and IsVPeriodic() has changed their behavior.          4. Methods Geom_SurfaceOfLinearExtrusion::UPeriod() and Geom_SurfaceOfRevolution::VPeriod() has changed their behavior.          5. Method GeomLib::IsClosed(...) has been added in order to check closure of 3D/2D curve with some tolerance.          6. Methods ShapeAnalysis_Curve::IsPeriodic(...), BRepBlend_HCurve2dTool::IsPeriodic(...), Contap_HCurve2dTool::IsPeriodic(...), IntPatch_HCurve2dTool::IsPeriodic(...), BRepBlend_HCurveTool::IsPeriodic(...) have 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.          8. Methods GeomLib::AllowExtend(...), GeomLib::AllowExtendUParameter(...) and GeomLib::AllowExtendVParameter(...) have been created.          9. Interface of Geom_ConicalSurface::Apex(...) method has been corrected insignificantly.          10. Method IntTools_Tools::IsClosed(...) has been removed.          11. The DRAW-commands "curveperiod" and "surfaceperiod" have been created. Please see help-system to obtain the information these commands.          12. 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.          13. New test cases have been created. nbv 2018-04-02 15:55 developer   ~0075110 Dear Mikhail, Please review CR29115_2 branch 2018-04-02 16:52 developer   ~0075117 src/GeomLib/GeomLib.hxx - 35: double declaration of Geom_Curve - 38: unused declaration of Adaptor3d_Surface - 60,61: unused includes - 201: "defines" => "determines" - 223: why this method takes non-handle curve unlike IsClosed()? Make uniform parameters. - The name AllowExtend is not exact. The better name is IsTrimAllowed. The same is for methods IsUTrimAllowed, IsVTrimAllowed. src/GeomLib/GeomLib.cxx - 2760: make protection against infinite FirstVParameter. - 2790: make protection against infinite FirstUParameter. - 2792: make protection against null iso curve. - 2838: decrease zone of invalidity instead of increasing it. To be continued. 2018-04-02 17:56 administrator   ~0075120 Branch CR29115_3 has been created by nbv. SHA-1: 9e43d8b8ada842be69593000ec64d926a9da1b33 Detailed log of new commits: Author: nbv Date: Wed Feb 21 17:31:37 2018 +0300     0029115: [Regression] GeomAdaptor mistakenly reports non-periodic curves to be periodic          1. Section "Periodicity concept" has been added in Doxigen-documentation          2. Method IsPeriodic() of classes Geom(2d)_TrimmedCurve has changed its behavior. Please see the documentation about correspond methods.          3. Methods IsUPeriodic() and IsVPeriodic() has changed their behavior.          4. Methods Geom_SurfaceOfLinearExtrusion::UPeriod() and Geom_SurfaceOfRevolution::VPeriod() has changed their behavior.          5. Method GeomLib::IsClosed(...) has been added in order to check closure of 3D/2D curve with some tolerance.          6. Methods ShapeAnalysis_Curve::IsPeriodic(...), BRepBlend_HCurve2dTool::IsPeriodic(...), Contap_HCurve2dTool::IsPeriodic(...), IntPatch_HCurve2dTool::IsPeriodic(...), BRepBlend_HCurveTool::IsPeriodic(...) have 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.          8. Methods GeomLib::AllowExtend(...), GeomLib::AllowExtendUParameter(...) and GeomLib::AllowExtendVParameter(...) have been created.          9. Interface of Geom_ConicalSurface::Apex(...) method has been corrected insignificantly.          10. Method IntTools_Tools::IsClosed(...) has been removed.          11. The DRAW-commands "curveperiod" and "surfaceperiod" have been created. Please see help-system to obtain the information these commands.          12. 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.          13. New test cases have been created. 2018-04-02 18:23 administrator   ~0075123 Branch CR29115_3 has been updated forcibly by nbv. SHA-1: 171d6639631ad634c40ab659910839d00342aa46 2018-04-03 09:59 developer   ~0075136 Put in upgrade guide info about changed API and behavior. 2018-04-03 10:20 developer   ~0075137 dox/user_guides/modeling_data/modeling_data.md - 800: "any surface always has" Put in commit message a pair of words about the main changes (that adaptors and trimmed curves periodicity is always got from the basis geometry). 2018-04-03 11:23 manager   ~0075138 Some remarks: 0. In Git commit, please describe the changes made, instead of (or in addition to) just giving reference to documentation. 1. Please avoid external references (to Widipedia, OCCT docs, etc.) in comments inside header files. Just describe clearly what the method does. For instance, method IsPeriodic() in Adaptor2d_HCurve2d.hxx could have comment like this: "Returns True if basis curve is periodic" The same in Adaptor2d_HCurve.hxx, Adaptor3d_Curve.hxx, Adaptor3d_HCurve.hxx, Adaptor3d_HSurface.hxx, Adaptor3d_Surface.hxx 2. In Adaptor2d_OffsetCurve.hxx, comment "This method is overridden from the basis class" is totally meaningless. Instead please describe what the method does. For instance, for IsPeriodic() this could be: "Returns True if basis curve is periodic" The same in Adaptor3d_CurveOnSurface.hxx, BRepAdaptor_Curve.hxx, BRepAdaptor_Surface.hxx 3. Please avoid Deutsch-style phrases like "Doxygen-documentation", "U-period", "help-system", "DRAW-commands", "template-method" etc. English spelling is without hyphen. 4. In BOPTools_AlgoTools3D.cxx: in declarations of several variables, please make each declaration separate statement, instead of having single comma-separated statement spanning over several lines. This will be easier to handle in the future, and error-prone for automatic formatter tools. 5. In BRepAdaptor_CompCurve.hxx, comment to method Period says "Returns delta between last and first parameters". This is not consistent with other places e.g. Geom_Curve::Period() which raises exception if curve is not periodic. Please ensure consistent behavior across all classes. 6. It would be more logical to have method Period() implemented in all classes where method IsPeriodic() is redefined: this would be more explicit and allow avoiding unnecessary check of periodicity that does Period() in the base class. 7. Methods ElCLib::AdjustPeriodic() and ToPeriod() are implemented on assumption that target range (first two arguments) defines a period. Now since we allow trimmed curves and adaptors to behave as periodic, even if their range could be less than a period, this should be revised. In my opinion, it will be logical to introduce method AdjustPeriodic() with additional argument to pass a period (which should be not less than target range) explicitly. Existing method can be replaced by the new one in all places, and declared as deprecated. Or at least, all places where these methods are used should be checked to ensure that passed range is always equal to actual period. 8. In BRepFill_MultiLine.cxx, lines 235-245 marked by comment "Is it really correct?" actually look very suspicious: (a) sphere is assumed to be not periodic by V, and (b) period is 2 PI, not 1 PI. Have you investigated this? --- to be continued --- 2018-04-03 13:45 administrator   ~0075148 Branch CR29115_4 has been created by nbv. SHA-1: 6d91bb9d65d85ae9d5f3fb8cd9b7fd4dbf3dc89f Detailed log of new commits: Author: nbv Date: Wed Feb 21 17:31:37 2018 +0300     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. Method IsPeriodic() of classes Geom(2d)_TrimmedCurve has changed its behavior. Please see the documentation about correspond methods.          3. Methods IsUPeriodic() and IsVPeriodic() has changed their behavior.          4. Methods Geom_SurfaceOfLinearExtrusion::UPeriod() and Geom_SurfaceOfRevolution::VPeriod() has changed their behavior.          5. Method GeomLib::IsClosed(...) has been added in order to check closure of 3D/2D curve with some tolerance.          6. Methods 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.          8. Methods GeomLib::AllowExtend(...), GeomLib::AllowExtendUParameter(...) and GeomLib::AllowExtendVParameter(...) have been created.          9. Interface of Geom_ConicalSurface::Apex(...) method has been corrected insignificantly.          10. Method IntTools_Tools::IsClosed(...) has been removed.          11. The DRAW-commands "curveperiod" and "surfaceperiod" have been created. Please see help-system to obtain the information these commands.          12. 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.          13. New test cases have been created. 2018-04-04 10:31 administrator   ~0075160 Branch CR29115_4 has been updated forcibly by nbv. SHA-1: a6f2fad6fa96f4d91b0a2655688e8906b410aa12 2018-04-04 19:32 administrator   ~0075174 Branch CR29115_5 has been created by nbv. SHA-1: 19cc209a619799dc0be47c41415c6b8bfdf18692 Detailed log of new commits: Author: nbv Date: Wed Feb 21 17:31:37 2018 +0300     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. Method IsPeriodic() of classes Geom(2d)_TrimmedCurve has changed its behavior. Please see the documentation about correspond methods.          3. Methods IsUPeriodic() and IsVPeriodic() has changed their behavior.          4. Methods Geom_SurfaceOfLinearExtrusion::UPeriod() and Geom_SurfaceOfRevolution::VPeriod() has changed their behavior.          5. 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.          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.          8. Methods GeomLib::IsTrimAllowed(...), GeomLib::IsUTrimAllowed(...) and GeomLib::IsVTrimAllowed(...) have been created.          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. 2018-04-05 12:27 administrator   ~0075182 Branch CR29115_5 has been updated forcibly by nbv. SHA-1: 0fc7e7d114e86ebe97365e143e0987d14c010919 2018-04-05 18:53 administrator   ~0075192 Branch CR29115_5 has been updated forcibly by nbv. SHA-1: 5181bc771e9fdffe22f70cda1ad71b0bb455f7d1 2018-04-06 09:56 administrator   ~0075205 Branch CR29115_5 has been updated forcibly by nbv. SHA-1: 6b226e703de9b52f8a1f90d682fe62d3571806ba 2018-04-12 10:28 administrator   ~0075392 Branch CR29115_5 has been updated forcibly by nbv. SHA-1: d06060c900f7a862615cc2518e41e4c1043229cc nbv 2018-04-12 10:31 developer   ~0075394 Branches CR29115_5 and CR29115prod have been rebased on the current MASTER. 2018-04-12 14:53 administrator   ~0075423 Branch CR29115_5 has been updated forcibly by nbv. SHA-1: 651607e9c47e0bc48a1d6c237b3455d973d0dc46 2018-04-16 15:59 administrator   ~0075465 Branch CR29115_5 has been updated forcibly by nbv. SHA-1: 5ed5cf59f24f22244c7daefa667bd4f0d75c95c0 2018-05-29 09:18 administrator   ~0076383 Branch CR29115_6 has been created by nbv. SHA-1: ea13cf8f0810b8ae9634c7d9217b10f9f563d08f Detailed log of new commits: Author: nbv Date: Wed Feb 21 17:31:37 2018 +0300     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. nbv 2018-05-29 11:05 developer   ~0076387 Branches have been rebased on the current MASTER and retested now. 2018-06-18 09:48 administrator   ~0076806 Branch CR29115_6 has been updated forcibly by nbv. SHA-1: 4d663e6dc4c68cfd28e063bb42f6c19590228242 nbv 2018-06-18 13:34 developer   ~0076810 Branches have been rebased on the current MASTER and retested now. 2018-07-16 10:34 administrator   ~0077646 Branch CR29115_6 has been updated forcibly by nbv. SHA-1: 6847963ebb002ba87d1fea2a7aa66522f57e2ae9 2018-07-16 12:17 administrator   ~0077651 Branch CR29115_6 has been updated forcibly by nbv. SHA-1: c9aadf58d96353aa6f5573e669083ce9ead9d456 2018-07-18 14:03 administrator   ~0077782 Branch CR29115_6 has been updated forcibly by nbv. SHA-1: 3676e97e869ca88b821f96fefb5a50130c576e60 2018-07-24 09:24 administrator   ~0077952 Branch CR29115_6 has been updated forcibly by nbv. SHA-1: 4f1bd132304e5caf4fc5597f6e5bbe36ec209f4c nbv 2018-07-24 13:09 developer   ~0077959 Branches CR29115_6 and CR29115prod have been rebased on the current MASTER and retested. 2018-07-30 17:35 administrator   ~0078199 Branch CR29115_6 has been updated forcibly by nbv. SHA-1: 63ce78068a3f97075ea96b3fb3f4460dd1f7b926 2018-08-13 10:44 administrator   ~0078579 Branch CR29115_6 has been updated forcibly by nbv. SHA-1: acc5cc2043c99a702baaf233ca3b977871f00303 2018-08-27 10:57 administrator   ~0078792 Branch CR29115_6 has been updated forcibly by nbv. SHA-1: 0656b833886893b27e8dfe94ecb0e09b0f5b9a9a 2018-09-10 09:34 administrator   ~0079076 Branch CR29115_6 has been updated forcibly by nbv. SHA-1: c740222a44402034618afafc4cd633a8c9afc3fc 2018-10-15 17:30 administrator   ~0079971 Branch CR29115_6 has been updated forcibly by nbv. SHA-1: 9a19a14be8464a014aa9bc9174e8aa8e99270bd7 2018-10-29 11:42 administrator   ~0080443 Branch CR29115_6 has been updated forcibly by nbv. SHA-1: adcec72255517254f560481b0fa6c14737ab239a 2018-11-07 10:13 administrator   ~0080802 Branch CR29115_6 has been updated forcibly by nbv. SHA-1: 44763777981692698c5375f2c99f590db922734f 2018-12-11 09:26 administrator   ~0081445 Branch CR29115_6 has been updated forcibly by nbv. SHA-1: 0d4f55c2aee1b21942224c76f0ec418196e6f1dc 2021-08-29 18:33 developer   ~0103514 Dear Igor, could you review this patch? I think all changes in it are to be look through carefully. 2021-09-10 10:28 developer   ~0103971 Reviewing 2021-09-17 10:18 developer   ~0104136 Reviewing 2021-12-02 09:49 developer   ~0105590 Integration 2021-12-24 12:03 developer   ~0106178 Integration 2021-12-29 16:43 administrator   ~0106241 Branch CR29115_7 has been created by ifv. SHA-1: f4c5693ef39ce7f4259062793c51a7e9a7b8d878 Detailed log of new commits: Author: ifv Date: Wed Dec 29 16:42:38 2021 +0300     0029115: Modeling Algorithms - [Regression] GeomAdaptor mistakenly reports non-periodic curves to be periodic          Rebasing original branch CR29115_6 on current master (!incomplete) 2022-01-10 11:01 administrator   ~0106272 Branch CR29115_7 has been updated forcibly by ifv. SHA-1: d8fbd6278f8e3875d01a01f08a9ebdac7fe7fcec 2022-01-10 11:03 administrator   ~0106274 Branch CR29115_7 has been updated forcibly by ifv. SHA-1: 2d60442196a6087fa76324a89d7795792381860e 2022-01-10 17:38 administrator   ~0106288 Branch CR29115_7 has been updated forcibly by ifv. SHA-1: 3bbdbbb92274847f05a010d308056ee6310a6ac7 2022-01-21 11:25 administrator   ~0106495 Branch CR29115_7 has been updated forcibly by ifv. SHA-1: 66a0b40749b83f4f6c9db9b601fafdf69824df11 2022-01-24 17:29 administrator   ~0106556 Branch CR29115_7 has been updated forcibly by ifv. SHA-1: cbb70264fb265eb46f8a16583278f39f85f95f94 2022-01-25 15:56 administrator   ~0106577 Branch CR29115_7 has been updated forcibly by ifv. SHA-1: d91debf61007c678e2e1ff8265b7c476bd4601c3 2022-01-27 20:30 administrator   ~0106640 Branch CR29115_7 has been updated forcibly by ifv. SHA-1: 7c9d5f851498a13a6ea166cef4aa36a5160c8665 2022-02-03 20:13 administrator   ~0106735 Branch CR29115_7 has been updated forcibly by ifv. SHA-1: 600a166167910c952df79eeb575e5b4bbcc3989d 2022-02-04 11:05 administrator   ~0106738 Branch CR29115_7 has been updated forcibly by ifv. SHA-1: 8c1889f593fbbb536b4a3913ff9a0803c4a83a0c 2022-02-05 14:29 administrator   ~0106749 Branch CR29115_7 has been updated forcibly by ifv. SHA-1: 6f8ce795c9e0d6d3230ef734a1c4320cb32dd836 2022-02-06 16:00 administrator   ~0106768 Branch CR29115_7 has been updated forcibly by ifv. SHA-1: 0bf56145a7bf3bd59b4589ddc98c54bea61d78ae 2022-02-07 09:37 administrator   ~0106770 Branch CR29115_7 has been updated forcibly by ifv. SHA-1: 4a431d59a8de60dac1c5f9d7800967af0d065454 2022-02-07 15:03 administrator   ~0106780 Branch CR29115_7 has been updated forcibly by ifv. SHA-1: 9106a1e752a6ef55582b8194cf525bbe9111484e 2022-02-09 11:17 administrator   ~0106814 Branch CR29115_7 has been updated by ifv. SHA-1: 017f0367e1704f27035a08e84a8fcaf1368c14b7 Detailed log of new commits: Author: ifv Date: Wed Feb 9 11:17:41 2022 +0300     Test commit 2022-02-09 17:05 administrator   ~0106824 Branch CR29115_7 has been updated forcibly by ifv. SHA-1: 23b3c4262a34368b1147d83acc7beec4f0b88c9a 2022-02-09 17:07 administrator   ~0106825 Branch CR29115_7 has been updated forcibly by ifv. SHA-1: ea4063d5b3fc650046fd174541cc3c017e7d342f 2022-02-09 17:15 administrator   ~0106826 Branch CR29115_7 has been updated forcibly by ifv. SHA-1: 24f00bb52e8be37ad52cab2f87af812172b9b02e 2022-02-11 15:00 developer   ~0106844 In my opinion, it is not a bug or another problem, which requires any code modification. This issue can be closed as "not a bug" 2022-02-11 18:14 developer   ~0106853 This ticket has been classified as not a bug. Dear bugmaster, please close it. 2023-01-21 19:47 administrator   ~0112936 Branch CR29115 has been deleted by vglukhik. SHA-1: 8f3a6b85efa1584dc5134d02228b314caac75777 2023-01-21 19:47 administrator   ~0112937 Branch CR29115_1 has been deleted by vglukhik. SHA-1: 0cf4e3d35f348b6aad6a08252a62459ebc91eb7b 2023-01-21 19:47 administrator   ~0112938 Branch CR29115_2 has been deleted by vglukhik. SHA-1: 7a1e372e5efe0a4a9d0284aef129775fc8a8255e 2023-01-21 19:47 administrator   ~0112939 Branch CR29115_3 has been deleted by vglukhik. SHA-1: 171d6639631ad634c40ab659910839d00342aa46 2023-01-21 19:47 administrator   ~0112940 Branch CR29115_4 has been deleted by vglukhik. SHA-1: a6f2fad6fa96f4d91b0a2655688e8906b410aa12 2023-01-21 19:48 administrator   ~0112941 Branch CR29115_5 has been deleted by vglukhik. SHA-1: 5ed5cf59f24f22244c7daefa667bd4f0d75c95c0 2023-01-21 19:51 administrator   ~0112942 Branch CR29115_6 has been deleted by vglukhik. SHA-1: 0d4f55c2aee1b21942224c76f0ec418196e6f1dc 2023-01-21 21:04 administrator   ~0112948 Branch CR29115_7 has been deleted by vglukhik. SHA-1: 24f00bb52e8be37ad52cab2f87af812172b9b02e

#### Issue History

2017-09-15 12:07 Roman Lygin New Issue
2017-09-15 12:07 Roman Lygin Assigned To => msv
2017-09-15 14:43 msv Note Added: 0070584
2017-09-15 14:43 msv Assigned To msv => bugmaster
2017-09-15 14:43 msv Status new => feedback
2017-09-15 14:43 msv Resolution open => no change required
2017-09-15 15:03 Roman Lygin Note Added: 0070588
2017-09-15 16:04 msv Note Added: 0070595
2017-09-18 17:43 Roman Lygin Note Added: 0070654
2017-09-19 10:41 nbv Note Added: 0070666
2017-09-19 10:42 nbv Note Edited: 0070666
2017-09-20 13:42 nbv Note Added: 0070711
2017-09-20 13:43 nbv Assigned To bugmaster => msv
2017-09-20 13:46 nbv Note Edited: 0070711
2017-09-20 18:18 Roman Lygin Note Added: 0070716
2017-09-21 02:08 msv Note Added: 0070722
2017-09-21 02:08 msv Status feedback => assigned
2017-09-21 02:09 msv Assigned To msv => nbv
2017-09-21 08:03 azv Note Added: 0070724
2017-09-21 09:40 msv Note Added: 0070727
2017-09-21 09:46 nbv Note Added: 0070728
2017-09-21 10:14 azv Note Added: 0070729
2017-09-21 10:24 nbv Note Added: 0070730
2017-10-09 14:22 abv Note Added: 0071309
2017-10-22 17:06 abv Priority normal => high
2017-10-22 17:06 abv Target Version 7.4.0 => 7.3.0
2017-12-05 17:08 msv Target Version 7.3.0 => 7.4.0
2018-03-02 11:02 nbv Target Version 7.4.0 => 7.3.0
2018-03-19 18:37 git Note Added: 0074668
2018-03-20 10:58 git Note Added: 0074690
2018-03-22 19:34 git Note Added: 0074778
2018-03-23 10:14 git Note Added: 0074796
2018-03-26 10:53 git Note Added: 0074909
2018-03-27 17:26 git Note Added: 0074974
2018-03-28 10:04 nbv Note Added: 0074984
2018-03-28 10:04 nbv Assigned To nbv => msv
2018-03-28 10:04 nbv Status assigned => resolved
2018-04-02 11:28 msv Note Added: 0075097
2018-04-02 12:16 msv Note Added: 0075099
2018-04-02 15:55 git Note Added: 0075109
2018-04-02 15:55 nbv Note Added: 0075110
2018-04-02 16:52 msv Note Added: 0075117
2018-04-02 17:56 git Note Added: 0075120
2018-04-02 18:23 git Note Added: 0075123
2018-04-03 09:59 msv Note Added: 0075136
2018-04-03 10:20 msv Note Added: 0075137
2018-04-03 11:23 abv Note Added: 0075138
2018-04-03 13:45 git Note Added: 0075148
2018-04-04 10:31 git Note Added: 0075160
2018-04-04 19:32 git Note Added: 0075174
2018-04-05 12:27 git Note Added: 0075182
2018-04-05 18:53 git Note Added: 0075192
2018-04-06 09:56 git Note Added: 0075205
2018-04-10 10:51 abv Target Version 7.3.0 => 7.4.0
2018-04-12 10:28 git Note Added: 0075392
2018-04-12 10:31 nbv Note Added: 0075394
2018-04-12 14:53 git Note Added: 0075423
2018-04-16 15:59 git Note Added: 0075465
2018-05-29 09:18 git Note Added: 0076383
2018-05-29 11:05 nbv Note Added: 0076387
2018-06-18 09:48 git Note Added: 0076806
2018-06-18 13:34 nbv Note Added: 0076810
2018-07-16 10:34 git Note Added: 0077646
2018-07-16 12:17 git Note Added: 0077651
2018-07-18 14:03 git Note Added: 0077782
2018-07-24 09:24 git Note Added: 0077952
2018-07-24 13:09 nbv Note Added: 0077959
2018-07-30 17:35 git Note Added: 0078199
2018-08-13 10:44 git Note Added: 0078579
2018-08-27 10:57 git Note Added: 0078792
2018-09-10 09:34 git Note Added: 0079076
2018-10-15 17:30 git Note Added: 0079971
2018-10-29 11:42 git Note Added: 0080443
2018-11-07 10:13 git Note Added: 0080802
2018-12-11 09:26 git Note Added: 0081445
2019-07-18 12:32 msv Target Version 7.4.0 => 7.5.0
2020-09-14 23:01 msv Status resolved => feedback
2020-09-14 23:01 msv Target Version 7.5.0 => 7.6.0
2021-08-29 18:29 msv Resolution no change required => open
2021-08-29 18:29 msv Target Version 7.6.0 => 7.7.0
2021-08-29 18:30 msv Status feedback => resolved
2021-08-29 18:30 msv Assigned To msv => ifv
2021-08-29 18:33 msv Note Added: 0103514
2021-09-10 10:28 ifv Note Added: 0103971
2021-09-17 10:18 ifv Note Added: 0104136
2021-12-02 09:49 ifv Note Added: 0105590
2021-12-24 12:03 ifv Note Added: 0106178
2021-12-24 12:04 ifv Time allocated 23.12.2021: 6 h. => set
2021-12-24 12:06 ifv Time allocated 24.12.2021: 6 h. => set
2021-12-28 17:24 ifv Time allocated 27.12.2021: 3 h. => set
2021-12-28 17:25 ifv Time allocated 28.12.2021: 4 h. => set
2021-12-28 17:26 ifv Time allocated 29.12.2021: 6 h. => set
2021-12-28 17:28 ifv Time allocated 30.12.2021: 5 h. => set
2021-12-28 17:29 ifv Time allocated Deleted 2021-12-29: 6,00 h. => deleted
2021-12-28 17:30 ifv Time allocated 29.12.2021: 6 h. => set
2021-12-29 16:40 ifv Summary [Regression] GeomAdaptor mistakenly reports non-periodic curves to be periodic => Modeling Algorithms - [Regression] GeomAdaptor mistakenly reports non-periodic curves to be periodic
2021-12-29 16:43 git Note Added: 0106241
2022-01-10 11:01 git Note Added: 0106272
2022-01-10 11:03 git Note Added: 0106274
2022-01-10 17:38 git Note Added: 0106288
2022-01-14 12:41 ifv Time allocated 14.1.2022: 13 h. => set
2022-01-14 12:43 ifv Time allocated 14.1.2022: 8.5 h. => set
2022-01-14 12:44 ifv Time allocated Deleted 2022-01-14: 13,00 h. => deleted
2022-01-14 12:46 ifv Time allocated Deleted 2022-01-14: 8,50 h. => deleted
2022-01-14 12:46 ifv Time allocated 14.1.2022: 7 h. => set
2022-01-21 10:32 ifv Time allocated 18.1.2022: 6 h. => set
2022-01-21 10:32 ifv Time allocated 19.1.2022: 6 h. => set
2022-01-21 10:32 ifv Time allocated 20.1.2022: 6 h. => set
2022-01-21 10:34 ifv Time allocated 21.1.2022: 7 h. => set
2022-01-21 11:25 git Note Added: 0106495
2022-01-24 17:29 git Note Added: 0106556
2022-01-25 15:56 git Note Added: 0106577
2022-01-27 20:30 git Note Added: 0106640
2022-01-28 15:28 ifv Time allocated 28.1.2022: 29 h. => set
2022-02-03 20:13 git Note Added: 0106735
2022-02-04 11:05 git Note Added: 0106738
2022-02-04 12:16 ifv Time allocated 2.2.2022: 7 h. => set
2022-02-04 12:18 ifv Time allocated 3.2.2022: 6 h. => set
2022-02-04 12:19 ifv Time allocated 4.2.2022: 6 h. => set
2022-02-05 14:29 git Note Added: 0106749
2022-02-06 16:00 git Note Added: 0106768
2022-02-07 09:37 git Note Added: 0106770
2022-02-07 15:03 git Note Added: 0106780
2022-02-09 11:17 git Note Added: 0106814
2022-02-09 17:05 git Note Added: 0106824
2022-02-09 17:07 git Note Added: 0106825
2022-02-09 17:15 git Note Added: 0106826
2022-02-11 10:44 ifv Time allocated 7.2.2022: 6.5 h. => set
2022-02-11 10:44 ifv Time allocated 8.2.2022: 6.5 h. => set
2022-02-11 15:00 ifv Assigned To ifv => msv
2022-02-11 15:00 ifv Status resolved => reviewed
2022-02-11 15:00 ifv Note Added: 0106844
2022-02-11 18:14 msv Assigned To msv => bugmaster
2022-02-11 18:14 msv Status reviewed => feedback
2022-02-11 18:14 msv Note Added: 0106853
2022-06-14 08:36 azv Status feedback => closed
2022-06-14 08:36 azv Resolution open => won't fix
2023-01-21 19:47 git Note Added: 0112936
2023-01-21 19:47 git Note Added: 0112937
2023-01-21 19:47 git Note Added: 0112938
2023-01-21 19:47 git Note Added: 0112939
2023-01-21 19:47 git Note Added: 0112940
2023-01-21 19:48 git Note Added: 0112941
2023-01-21 19:51 git Note Added: 0112942
2023-01-21 21:04 git Note Added: 0112948