occt: master 68b07699

Author Committer Branch Timestamp Parent
emv bugmaster master 2017-04-07 04:43:44 master a9bdd54d
Affected Issues  0028639: Improve performance of the IntPolyh_MaillageAffinage algorithm
Changeset 0028639: Improve performance of the IntPolyh_MaillageAffinage algorithm

The following improvements have been made:
1. Linking edges to triangles while creating the edges.
2. Replacing the array of couples of intersecting triangles with the list to avoid unnecessary allocations of memory.
3. Using the algorithm of unbalanced binary tree when looking for pairs of interfering triangles.
4. Building bounding boxes for the triangles only once and then reusing it.
5. Making the simple methods of the IntPolyh_Point, IntPolyh_Edge, IntPolyh_Triangle, IntPolyh_Couple classes inline.
6. The following methods of the *IntPolyh_Triangle* class have been removed as unused:
  - *CheckCommonEdge*
  - *SetEdgeandOrientation*
  - *MultipleMiddleRefinement2*.
7. The method *IntPolyh_Triangle::TriangleDeflection* has been replaced with the *IntPolyh_Triangle::ComputeDeflection*.
8. The following methods of the *IntPolyh_MaillageAffinage* class have been removed as unused:
  - *LinkEdges2Triangles*;
  - *TriangleEdgeContact2*;
  - *StartingPointsResearch2*;
  - *NextStartingPointsResearch2*;
  - *TriangleComparePSP*;
  - *StartPointsCalcul*.
mod - dox/dev_guides/upgrade/upgrade.md Diff File
mod - src/IntPolyh/FILES Diff File
rm - src/IntPolyh/IntPolyh_ArrayOfStartPoints.hxx Diff File
mod - src/IntPolyh/IntPolyh_Couple.cxx Diff File
mod - src/IntPolyh/IntPolyh_Couple.hxx Diff File
add - src/IntPolyh/IntPolyh_CoupleMapHasher.hxx Diff File
mod - src/IntPolyh/IntPolyh_Edge.cxx Diff File
mod - src/IntPolyh/IntPolyh_Edge.hxx Diff File
mod - src/IntPolyh/IntPolyh_Intersection.cxx Diff File
mod - src/IntPolyh/IntPolyh_Intersection.hxx Diff File
mod - src/IntPolyh/IntPolyh_Intersection_1.cxx Diff File
mod - src/IntPolyh/IntPolyh_MaillageAffinage.cxx Diff File
mod - src/IntPolyh/IntPolyh_MaillageAffinage.hxx Diff File
mod - src/IntPolyh/IntPolyh_Point.cxx Diff File
mod - src/IntPolyh/IntPolyh_Point.hxx Diff File
mod - src/IntPolyh/IntPolyh_Triangle.cxx Diff File
mod - src/IntPolyh/IntPolyh_Triangle.hxx Diff File