124 if ( (
m_Layer + 1 ) % 2 == 1 )
129 if (
m_ID == 0 ) m_CenterLine = segFlag * ( E_GP_DY + E_STRPLN_DA +
m_W / 2.0 );
130 else if (
m_ID != E_STR_NUM - 1 )
131 m_CenterLine = segFlag * ( E_XSTR_OFFSET +
m_ID * E_STR_DST );
133 m_CenterLine = segFlag * ( E_XSTR_OFFSET + ( E_STR_NUM - 2 ) * E_STR_DST +
134 ( E_STR_DST +
m_W + STR_GAP ) / 2 );
141 if (
m_ID == 0 ) m_CenterLine = segFlag * ( E_GP_DX + E_STRPLN_DA +
m_W / 2.0 );
142 else if (
m_ID != E_STR_NUM - 1 )
143 m_CenterLine = segFlag * ( E_YSTR_OFFSET +
m_ID * E_STR_DST );
145 m_CenterLine = segFlag * ( E_YSTR_OFFSET + ( E_STR_NUM - 2 ) * E_STR_DST +
146 ( E_STR_DST +
m_W + STR_GAP ) / 2 );
231 if ( (
m_Layer + 1 ) % 2 == 1 ) maxStrip = B_ZSTR_NUM;
232 else if (
m_Segment != B_TOP ) maxStrip = B_PHISTR_NUM;
233 else maxStrip = B_TOPSTR_NUM;
235 if ( (
m_Layer + 1 ) % 2 == 1 )
237 if (
m_ID > 0 &&
m_ID < ( maxStrip - 1 ) )
240 m_W = ( B_BOX_WT[
m_Layer] - 2 * B_BOX_DT[SL_DOWN] -
241 ( maxStrip - 2 ) * B_STR_DST[
m_Layer] - STR_GAP ) /
246 if (
m_ID > 0 &&
m_ID < ( maxStrip - 1 ) )
249 m_W = B_BOX_LT / 2 - B_BOX_DZ[SL_DOWN] - B_STR_DST[
m_Layer] * ( B_PHISTR_NUM - 2 ) / 2;
251 if ( ( maxStrip == B_TOPSTR_NUM ) && (
m_ID == ( B_PHISTR_NUM - 1 ) ) )
253 m_W = B_BOX_LT / 2 - B_BOX_DZ[SL_DOWN] - B_STR_DST[
m_Layer] * ( B_PHISTR_NUM - 2 ) / 2;
262 else if (
m_ID != E_STR_NUM - 1 )
m_W = E_STR_WT;
265 if ( (
m_Layer + 1 ) % 2 != 0 )
288 int ZCUT_HEAD_NUM = B_ZSTR_NUM / 2 - B_ZSTR_CUT_NUM[
m_Layer] - 1;
289 int ZCUT_TAIL_NUM = B_ZSTR_NUM / 2 + B_ZSTR_CUT_NUM[
m_Layer];
293 if ( (
m_Layer + 1 ) % 2 == 1 )
294 m_L = B_BOX_LT - 2 * B_BOX_DZ[SL_DOWN];
296 m_L = B_BOX_WT[
m_Layer] - 2 * B_BOX_DZ[SL_DOWN];
300 if ( (
m_Layer + 1 ) % 2 == 1 )
302 if (
m_ID > ZCUT_HEAD_NUM &&
m_ID < ZCUT_TAIL_NUM )
304 if (
m_Layer == 0 )
m_L = B_BOX_LT - 2 * B_BOX_DZ[SL_DOWN] - B_ZSTR_CUT[1];
305 else m_L = B_BOX_LT - 2 * B_BOX_DZ[SL_DOWN] - B_ZSTR_CUT[0];
308 m_L = B_BOX_LT - 2 * B_BOX_DZ[SL_DOWN];
312 if (
m_ID < B_PHISTR_CUT_NUM )
313 m_L = B_BOX_WT[
m_Layer] - 2 * B_BOX_DZ[SL_DOWN];
315 m_L = ( B_BOX_WT[
m_Layer] - 2 * B_BOX_DZ[SL_DOWN] - B_PHISTR_CUT ) / 2;
320 m_L = fabs( m_Head - m_Tail );
443 if ( m_Type == ZSTR ) maxStrip = B_ZSTR_NUM;
444 else if (
m_Segment != B_TOP ) maxStrip = B_PHISTR_NUM;
445 else maxStrip = B_TOPSTR_NUM;
449 if ( m_Type == ZSTR )
453 x = ( B_BOX_WT[j] - 2 * B_BOX_DT[SL_DOWN] + ( maxStrip - 2 ) * B_STR_DST[j] +
456 else if (
n == ( maxStrip - 1 ) )
457 x = ( 2 * B_BOX_DT[SL_DOWN] - B_BOX_WT[j] - ( maxStrip - 2 ) * B_STR_DST[j] -
460 else x = ( ( ( maxStrip - 1 ) - 2 *
n ) * B_STR_DST[j] ) / 2.0;
478 z = -B_BOX_LT / 4.0 + B_BOX_DZ[SL_DOWN] / 2.0 -
479 B_STR_DST[j] * ( B_PHISTR_NUM - 2 ) / 4.0;
480 else if (
n == ( B_PHISTR_NUM - 1 ) )
481 z = B_BOX_LT / 4.0 - B_BOX_DZ[SL_DOWN] / 2.0 +
482 B_STR_DST[j] * ( B_PHISTR_NUM - 2 ) / 4.0;
483 else z = ( 2 *
n - B_PHISTR_NUM + 1 ) * B_STR_DST[j] / 2.0;
488 if ( m_Type == ZSTR )
492 x = B_BOX_WT[j] / 4.0 - B_BOX_DT[SL_DOWN] / 2.0 +
493 ( maxStrip - 2 ) * B_STR_DST[j] / 4.0 + STR_GAP / 4.0;
494 else if (
n == ( maxStrip - 1 ) )
495 x = -B_BOX_WT[j] / 4.0 + B_BOX_DT[SL_DOWN] / 2.0 -
496 ( maxStrip - 2 ) * B_STR_DST[j] / 4.0 - STR_GAP / 4.0;
497 else x = ( ( maxStrip - 1 ) - 2 *
n ) * B_STR_DST[j] / 2.0;
503 if ( (
n > ( B_ZSTR_NUM / 2 - 1 - B_ZSTR_CUT_NUM[j] ) ) &&
504 (
n < ( B_ZSTR_NUM / 2 + B_ZSTR_CUT_NUM[j] ) ) )
505 z = -( ( j == 0 ) ? B_ZSTR_CUT[1] : B_ZSTR_CUT[0] ) / 2;
512 if (
n < B_PHISTR_CUT_NUM )
516 if (
n < B_PHISTR_NUM )
517 x = -B_BOX_WT[j] / 4.0 - B_PHISTR_CUT / 4.0 + B_BOX_DZ[SL_DOWN] / 2.0;
518 else x = B_BOX_WT[j] / 4.0 + B_PHISTR_CUT / 4.0 - B_BOX_DZ[SL_DOWN] / 2.0;
525 if (
n < B_PHISTR_NUM )
528 z = -B_BOX_LT / 4.0 + B_BOX_DZ[SL_DOWN] / 2.0 -
529 B_STR_DST[j] * ( B_PHISTR_NUM - 2 ) / 4.0;
530 else if (
n == ( B_PHISTR_NUM - 1 ) )
531 z = B_BOX_LT / 4.0 - B_BOX_DZ[SL_DOWN] / 2.0 +
532 B_STR_DST[j] * ( B_PHISTR_NUM - 2 ) / 4.0;
533 else z = ( 2 *
n - B_PHISTR_NUM + 1 ) * B_STR_DST[j] / 2.0;
537 if (
n == ( B_TOPSTR_NUM - 1 ) )
538 z = B_BOX_LT / 4.0 - B_BOX_DZ[SL_DOWN] / 2.0 +
539 B_STR_DST[j] * ( B_PHISTR_NUM - 2 ) / 4.0;
540 else z = ( 2 *
n - 3 * B_PHISTR_NUM + 2 * B_PHISTR_CUT_NUM + 1 ) * B_STR_DST[j] / 2.0;
550 for (
int i = 0; i < 3; i++ )