View Issue Details

IDProjectCategoryView StatusLast Update
0027383Open CASCADEOCCT:Modeling Algorithmspublic2017-09-29 16:31
ReporterabvAssigned Toapn  
PrioritynormalSeverityminor 
Status closedResolutionfixed 
Target Version7.2.0Fixed in Version7.2.0 
Summary0027383: Modeling - improve handling of regularity on edges
DescriptionIn OCCT, edge can have a "regularity" flag indicating continuity of the shape surface across this edge. This flag is associated to two faces that are connected at the edge. It is returned by method BRep_Tool::Continuity() (and stored internally either as separate representation (BRep_CurveOn2Surfaces), or as a flag in BRep_CurveOnClosedSurface).

This flag is helpful for some algorithms that need to know continuity of connection between the faces, e.g. in construction of fillets and other local features. The most noticeable use of this flag is in HLR algorithm: it does not show edges with continuity C2 or greater since these edges do not represent recognizable line on a shape surface (example is seam on a pipe) and thus have no special meaning for an engineer. (The same logic can naturally be used when displaying shaded shape with wireframe edges.)

Most algorithms that generate shapes in OCCT directly seem to set this flag appropriately basing on the nature of the algorithm and input data. However in shapes coming from external sources (Data Exchange) or generated by complex algorithms (such as surface reconstruction) the regularity has to be determined by analysis of the geometry of connected faces.

OCCT provides method BRepLib::EncodeRegularity() aimed to analyze the edges and set regularity for those where continuity is greater than C0 (C0 is assumed by default if not set). In context of #27272, some deficiencies of current implementation of BRepLib::EncodeRegularity() and its usage across OCCT code have been identified, listed here:

1. Performance issues:

a) If called for compound representing assembly that can contain several instances of the same shape (e.g. solid) with different locations, BRepLib::EncodeRegularity() will process each instance. The improvement to avoid this is available in ShapeFix::EncodeRegularity(); it should be merged into BRepLib::EncodeRegularity() instead of being separate method.

b) In context of operation that modifies some edges on existing shape (such as ShapeFix or conversion routines), there is no (convenient) way to enforce recalculation of regularity only for edges that have been changed. An API accepting collection of edges to be updated could be provided to address this need. Alternatively, some logic can be applied involving shape flags such as Locked or Modified (see TopoDS_TShape).

2. Limitation

BRepLib::EncodeRegularity() can set only C0 and G1 continuity in general case (#27272 adds possibility to set CN for seam edges on elementary surfaces). It does not set C2 or higher continuity even at connections of faces built on the same smooth surface. The examples are edges produced by Boolean operations or by splitting existing faces:

# fuse of two boxes
pload MODELING
box b1 10 10 10
box b2 5 5 0 10 10 10
bfuse r b1 b2
explode r f
explode r_7 e
getedgeregularity r_7_3 r_3 r_7 ;# returns C0: regularity is not set at all
encoderegularity r
getedgeregularity r_7_3 r_3 r_7 ;# returns G1: better but should be CN

# split of cylinder
pload MODELING
pcylinder p 2 10
DT_SplitAngle r p
explode r f
explode r_1 e
getedgeregularity r_1_2 r_1 r_2 ;# returns C0: regularity is not set at all
encoderegularity r
getedgeregularity r_1_2 r_1 r_2 ;# returns G1: better but should be CN

All these edges will be considered as non-smooth and in particular shown by HLR:

pload VISUALIZATION
vdisplay r
vfit
vhlr on


3. Inconsistent use

a) Boolean operations and Shape Healing algorithms do not set regularity on edges (see examples in point 2 above). This should be at least documented (a need to call EncodeRegularity() afterwards).

b) Class BRepBuilderAPI_Sewing calls BRepLib::EncodeRegularity() for an edge argument; this obviously does nothing since this function analyzes edges by faces

4. Documentation currently seems to lack explanation of what regularity is and how it is used
Steps To Reproduce
bugs modalg_6
    bug27383_1
    bug27383_2
    bug27383_3
    bug27383_4
    bug27383_5
    bug27383_6
    bug27383_7
TagsNo tags attached.
Test case numberbugs modalg_6 bug27383_1, bug27383_2, bug27383_3, bug27383_4, bug27383_5, bug27383_6, bug27383_7

Activities

gka

2016-04-13 16:01

developer   ~0052670

To check regularity between two surfaces by two pcurves and parameter class LocalAnalysis_SurfaceContinuity can be used.

abv

2016-04-14 11:40

manager   ~0052706

Cases described in point 2. and 3.b are fixed in context of #27272 (branch CR27272_4)

abv

2016-04-14 11:48

manager   ~0052707

Two other (synthetic) situations when regularity is not set as expected:

2.c) Connection of two half-spheres rotated or mirrored w.r.t. each other:

pload MODELING
psphere s1 10 180
psphere s2 10 180
explode s1 f
explode s2 f
tmirror s2_1 0 0 0 0 1 0
trotate s2_1 0 0 0 0 1 0 45
sewing r s1_1 s2_1
encoderegularity r

2.d) Connection of patches of B-Spline surface obtained by conversion of cylinder (definitely not C2, but probably should be G2):

pload MODELING
pcylinder p 2 10
explode p f
nurbsconvert q p_1
DT_ClosedSplit r q
encoderegularity r

abv

2016-05-27 14:12

manager   ~0054496

Oops, 3.b is not fixed (forgotten)

git

2016-11-15 12:17

administrator   ~0060341

Branch CR27383 has been created by azv.

SHA-1: cfc8dd9f8e36b061e97d1c9dda2f42a2ea53311b


Detailed log of new commits:

Author: azv
Date: Tue Nov 15 12:17:45 2016 +0300

    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. ShepFix::EncodeRegularity() is merged into BRepLib::EncodeRegularity().
    
    3. Implemented several test cases to check correct handling of regularity.

git

2017-01-04 15:59

administrator   ~0062402

Branch CR27383 has been updated forcibly by azv.

SHA-1: a25f7ad7dfc322d5da99ccd98d044590056284fd

azv

2017-01-04 16:01

administrator   ~0062403

Dear Mikhail,

Please, review current state of branch CR27383.

msv

2017-01-10 12:12

developer   ~0062438

src\BRepLib\BRepLib.cxx
- at 1725, why directions are not reversed, but lengths are reversed? It seems to be more natural reverse directions and make lengths positive. In this case the conditions at lines 1892 and 1893 can be omitted, and comparison of lengths at 1887 and 1889 becomes more consistent.
- at 1773, 1775, variables can be declared const &, if provide a separate variable for location of the second surface.
- the code 1837-1845 can be simplified using BRepAdaptor_Curve(E,F) and BRepAdaptor_HCurve. The variable aCurveForExtr can be of type Adaptor3d_HCurve.
- the condition on line 1818 is always false due to condition of loop at 1813.
- if you declare that you compare derivative vectors, why did you leave old check of normal directions? Can we drop it now?
- in 1864 in fact sine of angle is compared with confusion. Why theAngleTol is not used?
- in 1867 difference of squares is used instead of square of difference. It is incorrect.
- in 1868 scalar product of non-unified vectors is compared with confusion. Why?
- the line 1872 can be replaced with "return GeomAbs_C0", and check in 1874 is not needed.

Documentation:
I think "Regularity of Shared Edges" is to be moved to Modeling Data, as a next section after description of continuity.
Remarks to this section:
- two faces shared this edge => two faces sharing this edge
- Changing of edge's regularity is performed by BRep_Builder::Continuity method
=>
  Edge's regularity can be set by BRep_Builder::Continuity method
- results of other algorithms (Boolean Operations, Shape Healing, etc.) lose information about regularity
=>
  other algorithms (Boolean Operations, Shape Healing, etc.) do not set regularity.
- To improve this situation, BRepLib package provides method EncodeRegularity, which calculates and sets correct values for all edges of the shape.
=>
  If regularity is needed to be correctly set on a shape, the method BRepLib::EncodeRegularity can be used, which calculates and sets correct values for all edges of the shape.
- The example above shows that the edge shared by cylinder and sphere after boolean operation has C0 continuity.
This is wrong, as the example does not evaluate continuity after fuse.

git

2017-01-16 15:13

administrator   ~0062632

Branch CR27383_1 has been created by azv.

SHA-1: 9093e630fd487e68ae924109322a6718d4d526f4


Detailed log of new commits:

Author: azv
Date: Tue Nov 15 12:17:45 2016 +0300

    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. ShepFix::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

azv

2017-01-16 15:22

administrator   ~0062633

Dear Mikhail,

Please review branch CR27383_1.

I would like just to comment some of your questions:

Q: at 1725, why directions are not reversed, but lengths are reversed? It seems to be more natural reverse directions and make lengths positive. In this case the conditions at lines 1892 and 1893 can be omitted, and comparison of lengths at 1887 and 1889 becomes more consistent.
A: The direction does not matter for the curvature. Along the same direction the curvature may be different (positive/negative/zero) for different kinds of surfaces. Directions of the principal curvatures are calculated here to check that the curves of maximal/minimal curvature on the connected faces are the same.

Q: in 1868 scalar product of non-unified vectors is compared with confusion. Why?
A: It is just checking that the vectors are codirectional. I have added comment into the code concerning this.

msv

2017-01-16 17:45

developer   ~0062643

Please correct as we agreed.

git

2017-01-16 17:53

administrator   ~0062644

Branch CR27383_1 has been updated forcibly by azv.

SHA-1: fce3691ff4a2c77574d85c516cef148997fd39ce

azv

2017-01-16 17:54

administrator   ~0062645

Updated, please, review branch CR27383_1 once again.

msv

2017-01-16 18:28

developer   ~0062651

Last edited: 2017-01-16 18:29

It seems include of Adaptor3d_HCurveOnSurface.hxx in BRepLib.cxx is not needed any more. Can you remove it to check compilation?

git

2017-01-17 07:44

administrator   ~0062667

Branch CR27383_1 has been updated forcibly by azv.

SHA-1: b8a65aa1f020b3beb7a222377b64e7cd8dcabcc5

azv

2017-01-17 07:46

administrator   ~0062668

Include of Adaptor3d_HCurveOnSurface.hxx has been reverted to Adaptor3d_CurveOnSurface.hxx.

msv

2017-01-17 09:41

developer   ~0062677

Reviewed.

apv

2017-01-18 13:36

tester   ~0062743

Dear BugMaster,

Branch CR27383_1 from occt git-repository (and master from products git-repository) was compiled on Linux, MacOS and Windows platforms and tested.
SHA-1: b8a65aa1f020b3beb7a222377b64e7cd8dcabcc5

Number of compiler warnings:
occt component:
   Linux: 5 (0 on master)
   Windows: 0 (0 on master)
   MasOS: 2 (0 on master)
products component:
   Linux: 63
   Windows: 0
   MacOS: 1129
New warnings have been detected during OCCT component building
on Linux:
http://jenkins-test-07.nnov.opencascade.com/view/CR27383_1-master/job/CR27383_1-master-OCCT-Debian70-64-opt-compile/1/warnings17Result/
on MacOS:
http://jenkins-test-07.nnov.opencascade.com/view/CR27383_1-master/job/CR27383_1-master-OCCT-MacOS-opt-compile/1/warnings7Result/

Regressions/Differences:
http://occt-tests/CR27383_1-master-OCCT/Debian70-64/summary.html
bugs modalg_6 bug27341_302, bug27341_303, bug27341_304, bug27341_305, bug27341_306, bug27341_307, bug27341_314, bug27341_315, bug27341_316
bugs moddata_2 bug42
bugs xde bug547_2, bug22898
xcaf brep_to_igs_add_CL D4, D9, E1, G6, G8
http://occt-tests/CR27383_1-master-OCCT/Windows-64-VC10/summary.html
bugs modalg_6 bug27341_303, bug27341_316
http://occt-tests/CR27383_1-master-Products/Debian70-64/summary.html
unfolding standard B1, B2, B4

Testing cases:
bugs modalg_6 bug27383_1 - OK
http://occt-tests/CR27383_1-master-OCCT/Debian70-64/bugs/modalg_6/bug27383_1.html
http://occt-tests/CR27383_1-master-OCCT/Windows-64-VC10/bugs/modalg_6/bug27383_1.html
bugs modalg_6 bug27383_2 - OK
http://occt-tests/CR27383_1-master-OCCT/Debian70-64/bugs/modalg_6/bug27383_2.html
http://occt-tests/CR27383_1-master-OCCT/Windows-64-VC10/bugs/modalg_6/bug27383_2.html
bugs modalg_6 bug27383_3 - OK
http://occt-tests/CR27383_1-master-OCCT/Debian70-64/bugs/modalg_6/bug27383_3.html
http://occt-tests/CR27383_1-master-OCCT/Windows-64-VC10/bugs/modalg_6/bug27383_3.html
bugs modalg_6 bug27383_4 - OK
http://occt-tests/CR27383_1-master-OCCT/Debian70-64/bugs/modalg_6/bug27383_4.html
http://occt-tests/CR27383_1-master-OCCT/Windows-64-VC10/bugs/modalg_6/bug27383_4.html
bugs modalg_6 bug27383_5 - OK
http://occt-tests/CR27383_1-master-OCCT/Debian70-64/bugs/modalg_6/bug27383_5.html
http://occt-tests/CR27383_1-master-OCCT/Windows-64-VC10/bugs/modalg_6/bug27383_5.html
bugs modalg_6 bug27383_6 - OK
http://occt-tests/CR27383_1-master-OCCT/Debian70-64/bugs/modalg_6/bug27383_6.html
http://occt-tests/CR27383_1-master-OCCT/Windows-64-VC10/bugs/modalg_6/bug27383_6.html
bugs modalg_6 bug27383_7 - OK
http://occt-tests/CR27383_1-master-OCCT/Debian70-64/bugs/modalg_6/bug27383_7.html
http://occt-tests/CR27383_1-master-OCCT/Windows-64-VC10/bugs/modalg_6/bug27383_7.html

Testing on Linux:
Total MEMORY difference: 93361699 / 92754852 [+0.65%]
Total CPU difference: 21263.90000000027 / 21443.610000000295 [-0.84%]

Testing on Windows:
Total MEMORY difference: 58582172 / 58649007 [-0.11%]
Total CPU difference: 19454.213905698532 / 19749.742200098677 [-1.50%]

There are differences in images found by testdiff:
http://occt-tests/CR27383_1-master-OCCT/Debian70-64/diff-Debian70-64.html
bugs modalg_6 bug27341 (bug27341_302.png, bug27341_314.png, bug27341_304.png, bug27341_303.png)

apv

2017-01-18 13:39

tester   ~0062744

Dear Artem,

Branch CR27383_1 has been rejected due to:
- additional warnings
- regressions/differences/improvements
- differences in images

git

2017-01-19 09:09

administrator   ~0062777

Branch CR27383_1 has been updated forcibly by azv.

SHA-1: 5160349258e6d2243dfbdf0954961ddc5bcfc795

git

2017-01-20 12:16

administrator   ~0062829

Branch CR27383_1 has been updated forcibly by azv.

SHA-1: 8c297083b7daefc2e93f62a5fa24edc74fa2788b

git

2017-01-20 17:53

administrator   ~0062856

Branch CR27383_1 has been updated forcibly by apv.

SHA-1: 2e5c2c77277e3676686b4ae665ee70caf2d9146c

apv

2017-01-20 17:53

tester   ~0062857

Branch CR27383_1 has been rebased on the current master

apv

2017-01-24 13:09

tester   ~0062937

Dear BugMaster,

Branch CR27383_1 from occt git-repository (and master from products git-repository) was compiled on Linux, MacOS and Windows platforms and tested.
SHA-1: 2e5c2c77277e3676686b4ae665ee70caf2d9146c

Number of compiler warnings:
occt component:
   Linux: 0 (0 on master)
   Windows: 0 (0 on master)
   MasOS: 0 (0 on master)
products component:
   Linux: 63
   Windows: 0
   MacOS: 1160

Regressions/Differences:
Not detected

Testing cases:
bugs modalg_6 bug27383_1 - OK
http://occt-tests/CR27383_1-master-OCCT/Debian70-64/bugs/modalg_6/bug27383_1.html
http://occt-tests/CR27383_1-master-OCCT/Windows-64-VC10/bugs/modalg_6/bug27383_1.html
bugs modalg_6 bug27383_2 - OK
http://occt-tests/CR27383_1-master-OCCT/Debian70-64/bugs/modalg_6/bug27383_2.html
http://occt-tests/CR27383_1-master-OCCT/Windows-64-VC10/bugs/modalg_6/bug27383_2.html
bugs modalg_6 bug27383_3 - OK
http://occt-tests/CR27383_1-master-OCCT/Debian70-64/bugs/modalg_6/bug27383_3.html
http://occt-tests/CR27383_1-master-OCCT/Windows-64-VC10/bugs/modalg_6/bug27383_3.html
bugs modalg_6 bug27383_4 - OK
http://occt-tests/CR27383_1-master-OCCT/Debian70-64/bugs/modalg_6/bug27383_4.html
http://occt-tests/CR27383_1-master-OCCT/Windows-64-VC10/bugs/modalg_6/bug27383_4.html
bugs modalg_6 bug27383_5 - OK
http://occt-tests/CR27383_1-master-OCCT/Debian70-64/bugs/modalg_6/bug27383_5.html
http://occt-tests/CR27383_1-master-OCCT/Windows-64-VC10/bugs/modalg_6/bug27383_5.html
bugs modalg_6 bug27383_6 - OK
http://occt-tests/CR27383_1-master-OCCT/Debian70-64/bugs/modalg_6/bug27383_6.html
http://occt-tests/CR27383_1-master-OCCT/Windows-64-VC10/bugs/modalg_6/bug27383_6.html
bugs modalg_6 bug27383_7 - OK
http://occt-tests/CR27383_1-master-OCCT/Debian70-64/bugs/modalg_6/bug27383_7.html
http://occt-tests/CR27383_1-master-OCCT/Windows-64-VC10/bugs/modalg_6/bug27383_7.html

Testing on Linux:
Total MEMORY difference: 92486914 / 92025917 [+0.50%]
Total CPU difference: 21074.18000000019 / 21062.360000000153 [+0.06%]

Testing on Windows:
Total MEMORY difference: 58326395 / 58324216 [+0.00%]
Total CPU difference: 19428.692142098505 / 19152.585972198493 [+1.44%]

git

2017-02-08 11:31

administrator   ~0063527

Branch CR27383 has been deleted by kgv.

SHA-1: a25f7ad7dfc322d5da99ccd98d044590056284fd

git

2017-02-08 11:35

administrator   ~0063586

Branch CR27383_1 has been deleted by kgv.

SHA-1: 2e5c2c77277e3676686b4ae665ee70caf2d9146c

Related Changesets

occt: master 712879c8

2016-11-15 09:17:45

azv


Committer: apn Details Diff
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
Affected Issues
0027383
mod - dox/user_guides/modeling_algos/modeling_algos.md Diff File
add - dox/user_guides/modeling_data/images/modeling_data_continuity_curves.svg Diff File
add - dox/user_guides/modeling_data/images/modeling_data_continuity_surfaces.svg Diff File
mod - dox/user_guides/modeling_data/modeling_data.md Diff File
mod - src/BRepBuilderAPI/BRepBuilderAPI_Sewing.cxx Diff File
mod - src/BRepBuilderAPI/BRepBuilderAPI_Sewing.hxx Diff File
mod - src/BRepLib/BRepLib.cxx Diff File
mod - src/BRepLib/BRepLib.hxx Diff File
mod - src/ShapeFix/ShapeFix.cxx Diff File
mod - tests/bugs/modalg_6/bug27341_313 Diff File
mod - tests/bugs/modalg_6/bug27341_314 Diff File
mod - tests/bugs/modalg_6/bug27383_1 Diff File
mod - tests/bugs/modalg_6/bug27383_2 Diff File
add - tests/bugs/modalg_6/bug27383_3 Diff File
add - tests/bugs/modalg_6/bug27383_4 Diff File
add - tests/bugs/modalg_6/bug27383_5 Diff File
add - tests/bugs/modalg_6/bug27383_6 Diff File
add - tests/bugs/modalg_6/bug27383_7 Diff File

Issue History

Date Modified Username Field Change
2016-04-13 15:57 abv New Issue
2016-04-13 15:57 abv Assigned To => msv
2016-04-13 16:01 gka Note Added: 0052670
2016-04-14 11:40 abv Note Added: 0052706
2016-04-14 11:48 abv Note Added: 0052707
2016-04-14 18:04 mkv Test case number => bugs modalg_6 bug27383_1, bug27383_2
2016-05-27 14:12 abv Note Added: 0054496
2016-05-27 15:34 msv Assigned To msv => abv
2016-05-27 15:35 msv Assigned To abv => azv
2016-05-27 15:35 msv Status new => assigned
2016-10-28 16:28 msv Target Version 7.1.0 => 7.2.0
2016-11-15 12:17 git Note Added: 0060341
2017-01-04 15:59 git Note Added: 0062402
2017-01-04 16:01 azv Note Added: 0062403
2017-01-04 16:01 azv Assigned To azv => msv
2017-01-04 16:01 azv Status assigned => resolved
2017-01-04 16:01 azv Steps to Reproduce Updated
2017-01-10 12:12 msv Note Added: 0062438
2017-01-10 12:12 msv Assigned To msv => azv
2017-01-10 12:12 msv Status resolved => assigned
2017-01-16 15:13 git Note Added: 0062632
2017-01-16 15:22 azv Note Added: 0062633
2017-01-16 15:22 azv Assigned To azv => msv
2017-01-16 15:22 azv Status assigned => resolved
2017-01-16 17:45 msv Note Added: 0062643
2017-01-16 17:45 msv Assigned To msv => azv
2017-01-16 17:45 msv Status resolved => assigned
2017-01-16 17:53 git Note Added: 0062644
2017-01-16 17:54 azv Note Added: 0062645
2017-01-16 17:54 azv Assigned To azv => msv
2017-01-16 17:54 azv Status assigned => resolved
2017-01-16 18:28 msv Note Added: 0062651
2017-01-16 18:29 msv Note Edited: 0062651
2017-01-17 07:44 git Note Added: 0062667
2017-01-17 07:46 azv Note Added: 0062668
2017-01-17 09:41 msv Note Added: 0062677
2017-01-17 09:41 msv Assigned To msv => bugmaster
2017-01-17 09:41 msv Status resolved => reviewed
2017-01-17 17:09 apv Assigned To bugmaster => apv
2017-01-17 17:09 apv Test case number bugs modalg_6 bug27383_1, bug27383_2 => bugs modalg_6 bug27383_1, bug27383_2, bug27383_3, bug27383_4, bug27383_5, bug27383_6, bug27383_7
2017-01-18 13:36 apv Note Added: 0062743
2017-01-18 13:36 apv Assigned To apv => azv
2017-01-18 13:36 apv Status reviewed => assigned
2017-01-18 13:39 apv Note Added: 0062744
2017-01-19 09:09 git Note Added: 0062777
2017-01-20 12:16 git Note Added: 0062829
2017-01-20 12:17 azv Status assigned => resolved
2017-01-20 12:17 azv Assigned To azv => apv
2017-01-20 12:17 azv Status resolved => reviewed
2017-01-20 17:53 git Note Added: 0062856
2017-01-20 17:53 apv Note Added: 0062857
2017-01-24 13:09 apv Note Added: 0062937
2017-01-24 13:09 apv Assigned To apv => bugmaster
2017-01-24 13:09 apv Status reviewed => tested
2017-01-27 16:15 apn Changeset attached => occt master 712879c8
2017-01-27 16:15 apn Assigned To bugmaster => apn
2017-01-27 16:15 apn Status tested => verified
2017-01-27 16:15 apn Resolution open => fixed
2017-02-08 11:31 git Note Added: 0063527
2017-02-08 11:35 git Note Added: 0063586
2017-09-29 16:21 aiv Fixed in Version => 7.2.0
2017-09-29 16:31 aiv Status verified => closed