0027383: Modeling - improve handling of regularity on edges
authorazv <azv@opencascade.com>
Tue, 15 Nov 2016 09:17:45 +0000 (12:17 +0300)
committerapn <apn@opencascade.com>
Thu, 26 Jan 2017 09:45:22 +0000 (12:45 +0300)
commit712879c8088281bb2634166f623a4ba34a91afc4
treef30746184cc778e6e7938b73331cb2a898c3556e
parent4e1bc39a81fc965d86aae06555a7c4a50bbf4eea
0027383: Modeling - improve handling of regularity on edges

1. There has been implemented calculation of all possible types of continuity for shared edges:
  * G1 is set if tangential planes are the same for connected faces in each control points through the edge;
  * C1 is set in addition to G1 conditions if derivatives, orthogonal to the edge on each face, are equal vectors;
  * G2 is set in addition to G1 if the centers of principal curvatures are the same for connected faces in each control points through the edge;
  * C2 is set in addition to C1 and G2 if directions of principal curvatures are equal;
  * CN continuity is set only if both connected faces are based on elementary surfaces (the conditions for this case are similar to C2 continuity).

2. ShapeFix::EncodeRegularity() is merged into BRepLib::EncodeRegularity().
3. Implemented several test cases to check correct handling of regularity.
4. Fix incorrect usage of BRepLib::EncodeRegularity() in BRepBuilderAPI_Sewing.
5. Implement a method for calculation of regularity on the given list of edges.
6. Documentation updates
18 files changed:
dox/user_guides/modeling_algos/modeling_algos.md
dox/user_guides/modeling_data/images/modeling_data_continuity_curves.svg [new file with mode: 0644]
dox/user_guides/modeling_data/images/modeling_data_continuity_surfaces.svg [new file with mode: 0644]
dox/user_guides/modeling_data/modeling_data.md
src/BRepBuilderAPI/BRepBuilderAPI_Sewing.cxx
src/BRepBuilderAPI/BRepBuilderAPI_Sewing.hxx
src/BRepLib/BRepLib.cxx
src/BRepLib/BRepLib.hxx
src/ShapeFix/ShapeFix.cxx
tests/bugs/modalg_6/bug27341_313
tests/bugs/modalg_6/bug27341_314
tests/bugs/modalg_6/bug27383_1
tests/bugs/modalg_6/bug27383_2
tests/bugs/modalg_6/bug27383_3 [new file with mode: 0644]
tests/bugs/modalg_6/bug27383_4 [new file with mode: 0644]
tests/bugs/modalg_6/bug27383_5 [new file with mode: 0644]
tests/bugs/modalg_6/bug27383_6 [new file with mode: 0644]
tests/bugs/modalg_6/bug27383_7 [new file with mode: 0644]