occt: master 53a73fc1

Author Committer Branch Timestamp Parent
emv apn master 2018-03-19 04:50:06 master e9c073b8
Changeset 0029683: Add functionality to make the TopoDS_Shape periodic in 3D space

Implementation of the new class *BOPAlgo_MakePeriodic* for making the shape periodic in 3D space.
Periodicity of the shape means that the shape can be repeated in any periodic direction any number of times without creation of the new geometry or splits.
The idea of this algorithm is to make the shape look similarly on the opposite sides or on the period bounds of periodic directions.
It does not mean that the opposite sides of the shape will be mirrored. It just means the the opposite sides of the shape should be split by each other and obtain the same geometry on opposite sides.
Such approach will allow repeating the shape, i.e. translating the copy of a shape on the period, without creation of new geometry because there will be no coinciding parts of different dimension.

Draw commands for the new algorithm:
* makeperiodic - makes the shape periodic in required directions;
* repeatshape - repeats the periodic shape in requested periodic direction;
* periodictwins - returns the periodic twins for the shape;
* clearrepetitions - clears all previous repetitions of the periodic shape.

Documentation & test cases for the algorithm.
mod - dox/user_guides/draw_test_harness/draw_test_harness.md Diff File
add - dox/user_guides/modeling_algos/images/modeling_algos_mkperiodic_im001.png Diff File
add - dox/user_guides/modeling_algos/images/modeling_algos_mkperiodic_im002.png Diff File
add - dox/user_guides/modeling_algos/images/modeling_algos_mkperiodic_im003.png Diff File
add - dox/user_guides/modeling_algos/images/modeling_algos_mkperiodic_im004.png Diff File
add - dox/user_guides/modeling_algos/images/modeling_algos_mkperiodic_im005.png Diff File
add - dox/user_guides/modeling_algos/images/modeling_algos_mkperiodic_im006.png Diff File
mod - dox/user_guides/modeling_algos/modeling_algos.md Diff File
mod - src/BOPAlgo/BOPAlgo.msg Diff File
mod - src/BOPAlgo/BOPAlgo_Alerts.hxx Diff File
mod - src/BOPAlgo/BOPAlgo_BOPAlgo_msg.pxx Diff File
mod - src/BOPAlgo/BOPAlgo_Builder_1.cxx Diff File
add - src/BOPAlgo/BOPAlgo_MakePeriodic.cxx Diff File
add - src/BOPAlgo/BOPAlgo_MakePeriodic.hxx Diff File
mod - src/BOPAlgo/BOPAlgo_PaveFiller.cxx Diff File
mod - src/BOPAlgo/BOPAlgo_PaveFiller.hxx Diff File
mod - src/BOPAlgo/BOPAlgo_Splitter.cxx Diff File
mod - src/BOPAlgo/BOPAlgo_Splitter.hxx Diff File
mod - src/BOPAlgo/FILES Diff File
mod - src/BOPTest/BOPTest.cxx Diff File
mod - src/BOPTest/BOPTest.hxx Diff File
add - src/BOPTest/BOPTest_PeriodicityCommands.cxx Diff File
mod - src/BOPTest/FILES Diff File
mod - tests/boolean/grids.list Diff File
add - tests/boolean/periodicity/A1 Diff File
add - tests/boolean/periodicity/A2 Diff File
add - tests/boolean/periodicity/A3 Diff File
add - tests/boolean/periodicity/A4 Diff File
add - tests/boolean/periodicity/A5 Diff File
add - tests/boolean/periodicity/A6 Diff File
mod - tests/bugs/modalg_7/bug29502 Diff File