+void OCCViewer_ViewFrame::splitSubViews()
+{
+ if( mySplitMode == -1 )
+ return;
+
+ int aNbViews;
+ if ( mySplitMode >= 0 && mySplitMode < 2)
+ aNbViews = 2;
+ else if( mySplitMode >= 2 && mySplitMode < 8 )
+ aNbViews = 3;
+ else if( mySplitMode >=8 && mySplitMode < 29 )
+ aNbViews = 4;
+
+ if( aNbViews != myViewsMode.count() )
+ return;
+
+ int SubViews3Map[6][3][4] = {
+ { {0,0,1,1}, {0,1,1,1}, {0,2,1,1} },
+ { {0,0,1,1}, {1,0,1,1}, {2,0,1,1} },
+ { {0,0,1,1}, {1,0,1,1}, {0,1,2,1} },
+ { {0,0,2,1}, {0,1,1,1}, {1,1,1,1} },
+ { {0,0,1,2}, {1,0,1,1}, {1,1,1,1} },
+ { {0,0,1,1}, {0,1,1,1}, {1,0,1,2} }
+ };
+
+ int SubViews4Map[21][4][4] = {
+ { {0,0,1,1}, {0,1,1,1}, {0,2,1,1}, {0,3,1,1} },
+ { {0,0,1,1}, {1,0,1,1}, {2,0,1,1}, {3,0,1,1} },
+ { {0,0,1,1}, {0,1,1,1}, {1,0,1,1}, {1,1,1,1} },
+ { {0,0,1,1}, {1,0,1,1}, {0,1,2,1}, {0,2,2,1} },
+ { {0,0,2,1}, {0,1,1,1}, {1,1,1,1}, {0,2,2,1} },
+ { {0,0,2,1}, {0,1,2,1}, {0,2,1,1}, {1,2,1,1} },
+ { {0,0,1,1}, {0,1,1,1}, {1,0,1,2}, {2,0,1,2} },
+ { {0,0,1,2}, {1,0,1,1}, {1,1,1,1}, {2,0,1,2} },
+ { {0,0,1,2}, {1,0,1,2}, {2,0,1,1}, {2,1,1,1} },
+ { {0,0,1,1}, {1,0,1,1}, {0,1,2,1}, {2,0,1,2} },
+ { {0,0,2,1}, {0,1,1,1}, {1,1,1,1}, {2,0,1,2} },
+ { {0,0,1,2}, {1,0,1,1}, {2,0,1,1}, {1,1,2,1} },
+ { {0,0,1,2}, {1,0,2,1}, {1,1,1,1}, {2,1,1,1} },
+ { {0,0,2,1}, {0,1,1,1}, {0,2,1,1}, {1,1,1,2} },
+ { {0,0,2,1}, {0,1,1,2}, {1,1,1,1}, {1,2,1,1} },
+ { {0,0,1,1}, {0,1,1,1}, {1,0,1,2}, {0,2,2,1} },
+ { {0,0,1,2}, {1,0,1,1}, {1,1,1,1}, {0,2,2,1} },
+ { {0,0,1,3}, {1,0,1,1}, {1,1,1,1}, {1,2,1,1} },
+ { {0,0,1,1}, {0,1,1,1}, {0,2,1,1}, {1,0,1,3} },
+ { {0,0,1,1}, {1,0,1,1}, {2,0,1,1}, {0,1,3,1} },
+ { {0,0,3,1}, {0,1,1,1}, {1,1,1,1}, {2,1,1,1} },
+ };
+
+ if( aNbViews == 2 ) {
+ if( mySplitMode == 0 ) {
+ myLayout->addWidget( myViews.at(myViewsMode[0]), 0,0,2,1 );
+ myLayout->addWidget( myViews.at(myViewsMode[1]), 0,1,2,1 );