133 if(
m_ID == 0 ) m_CenterLine = segFlag * (E_GP_DY+E_STRPLN_DA+
m_W/2.0);
134 else if(
m_ID != E_STR_NUM-1 )
135 m_CenterLine = segFlag * ( E_XSTR_OFFSET +
m_ID*E_STR_DST );
137 m_CenterLine = segFlag * ( E_XSTR_OFFSET + (E_STR_NUM-2)*E_STR_DST + (E_STR_DST +
m_W + STR_GAP)/2);
144 if(
m_ID == 0 ) m_CenterLine = segFlag * (E_GP_DX+E_STRPLN_DA+
m_W/2.0);
145 else if(
m_ID != E_STR_NUM-1)
146 m_CenterLine = segFlag * ( E_YSTR_OFFSET +
m_ID*E_STR_DST );
148 m_CenterLine = segFlag * ( E_YSTR_OFFSET + (E_STR_NUM-2)*E_STR_DST + (E_STR_DST +
m_W + STR_GAP)/2);
308 int ZCUT_HEAD_NUM = B_ZSTR_NUM/2 - B_ZSTR_CUT_NUM[
m_Layer] - 1;
309 int ZCUT_TAIL_NUM = B_ZSTR_NUM/2 + B_ZSTR_CUT_NUM[
m_Layer];
314 m_L = B_BOX_LT - 2*B_BOX_DZ[SL_DOWN];
316 m_L = B_BOX_WT[
m_Layer] - 2*B_BOX_DZ[SL_DOWN];
322 if(
m_ID > ZCUT_HEAD_NUM &&
m_ID < ZCUT_TAIL_NUM )
325 m_L = B_BOX_LT - 2*B_BOX_DZ[SL_DOWN] - B_ZSTR_CUT[1];
327 m_L = B_BOX_LT - 2*B_BOX_DZ[SL_DOWN] - B_ZSTR_CUT[0];
330 m_L = B_BOX_LT - 2*B_BOX_DZ[SL_DOWN];
334 if(
m_ID < B_PHISTR_CUT_NUM )
335 m_L = B_BOX_WT[
m_Layer] - 2*B_BOX_DZ[SL_DOWN];
337 m_L = (B_BOX_WT[
m_Layer] - 2*B_BOX_DZ[SL_DOWN] - B_PHISTR_CUT)/2;
342 m_L = fabs( m_Head - m_Tail );
464 if( m_Type == ZSTR ) maxStrip = B_ZSTR_NUM;
465 else if(
m_Segment != B_TOP ) maxStrip = B_PHISTR_NUM;
466 else maxStrip = B_TOPSTR_NUM;
474 x = ( B_BOX_WT[j] - 2*B_BOX_DT[SL_DOWN] + (maxStrip-2)*B_STR_DST[j] + STR_GAP )/4.0;
475 else if(
n == (maxStrip-1) )
476 x = ( 2*B_BOX_DT[SL_DOWN] - B_BOX_WT[j] - (maxStrip-2)*B_STR_DST[j] - STR_GAP )/4.0;
478 x =( ((maxStrip-1) - 2*
n) * B_STR_DST[j] )/2.0;
496 z = -B_BOX_LT/4.0 + B_BOX_DZ[SL_DOWN]/2.0 - B_STR_DST[j]*(B_PHISTR_NUM-2)/4.0;
497 else if(
n == (B_PHISTR_NUM - 1) )
498 z = B_BOX_LT/4.0 - B_BOX_DZ[SL_DOWN]/2.0 + B_STR_DST[j]*(B_PHISTR_NUM-2)/4.0;
500 z = ( 2*
n - B_PHISTR_NUM + 1 ) * B_STR_DST[j] / 2.0;
509 x = B_BOX_WT[j]/4.0 - B_BOX_DT[SL_DOWN]/2.0 + (maxStrip-2)*B_STR_DST[j]/4.0 + STR_GAP/4.0;
510 else if(
n == (maxStrip-1) )
511 x = -B_BOX_WT[j]/4.0 + B_BOX_DT[SL_DOWN]/2.0 - (maxStrip-2)*B_STR_DST[j]/4.0 - STR_GAP/4.0;
513 x = ( (maxStrip-1) - 2*
n ) * B_STR_DST[j] / 2.0;
519 if( (
n > (B_ZSTR_NUM/2 - 1 - B_ZSTR_CUT_NUM[j])) && (
n < (B_ZSTR_NUM/2 + B_ZSTR_CUT_NUM[j])) )
520 z = -( (j==0) ? B_ZSTR_CUT[1] : B_ZSTR_CUT[0] )/2;
527 if(
n < B_PHISTR_CUT_NUM )
531 if(
n < B_PHISTR_NUM )
532 x = -B_BOX_WT[j]/4.0 - B_PHISTR_CUT/4.0 + B_BOX_DZ[SL_DOWN]/2.0;
534 x = B_BOX_WT[j]/4.0 + B_PHISTR_CUT/4.0 - B_BOX_DZ[SL_DOWN]/2.0;
541 if(
n < B_PHISTR_NUM )
544 z = -B_BOX_LT/4.0 + B_BOX_DZ[SL_DOWN]/2.0 - B_STR_DST[j]*(B_PHISTR_NUM-2)/4.0;
545 else if(
n == (B_PHISTR_NUM - 1) )
546 z = B_BOX_LT/4.0 - B_BOX_DZ[SL_DOWN]/2.0 + B_STR_DST[j]*(B_PHISTR_NUM-2)/4.0;
548 z = ( 2*
n - B_PHISTR_NUM + 1 ) * B_STR_DST[j] / 2.0;
552 if(
n == (B_TOPSTR_NUM-1) )
553 z = B_BOX_LT/4.0 - B_BOX_DZ[SL_DOWN]/2.0 + B_STR_DST[j]*(B_PHISTR_NUM-2)/4.0;
555 z = ( 2*
n - 3*B_PHISTR_NUM + 2*B_PHISTR_CUT_NUM + 1 ) * B_STR_DST[j]/2.0;
565 for(
int i=0; i<3; i++ ) {