ajout d'une nouvelle formule de transformation symbolique vers reel

vws identique à vw hormis le fait que l'offset est interpreté comme une
  valeur à shrink qui s'applique dans les deux directions (X et Y) mais d'un
  seul cote.
This commit is contained in:
Franck Wajsburt 2002-07-11 16:53:52 +00:00
parent 7f64488df3
commit d596b05150
3 changed files with 39 additions and 2 deletions

View File

@ -136,6 +136,41 @@ rdsrec_list *segmbkrds( Figure, Segment, Lynx )
( ( USE == RDS_USE_EXTRACT ) && ( Lynx ) ) ||
( ( USE == RDS_USE_DRC ) && ( ! Lynx ) ) )
{
if ( TRANS == RDS_TRANS_VWS )
{
long SHRINK = OFFSET;
switch ( Segment->TYPE )
{
case LEFT : X1R = X1 - DLR;
Y1R = Y1 - ( ( WS + DWR ) >> 1 );
X2R = X2 + DLR - abs(SHRINK);
Y2R = Y2 + ( ( WS + DWR ) >> 1 ) - abs(SHRINK);
break;
case RIGHT : X1R = X1 - DLR;
Y1R = Y1 - ( ( WS + DWR ) >> 1 );
X2R = X2 + DLR - abs(SHRINK);
Y2R = Y2 + ( ( WS + DWR ) >> 1 ) - abs(SHRINK);
break;
case DOWN : X1R = X1 - ( ( WS + DWR ) >> 1 );
Y1R = Y1 - DLR;
X2R = X2 + ( ( WS + DWR ) >> 1 ) - abs(SHRINK);
Y2R = Y2 + DLR - abs(SHRINK);
break;
case UP : X1R = X1 - ( ( WS + DWR ) >> 1 );
Y1R = Y1 - DLR;
X2R = X2 + ( ( WS + DWR ) >> 1 ) - abs(SHRINK);
Y2R = Y2 + DLR - abs(SHRINK);
break;
}
}
else
if ( TRANS == RDS_TRANS_VW )
{
switch ( Segment->TYPE )

View File

@ -79,8 +79,9 @@
# define RDS_TRANS_VW (unsigned char)0
# define RDS_TRANS_LCW (unsigned char)1
# define RDS_TRANS_RCW (unsigned char)2
# define RDS_TRANS_VWS (unsigned char)3
# define RDS_MAX_TRANS ( RDS_TRANS_RCW + 1 )
# define RDS_MAX_TRANS ( RDS_TRANS_VWS + 1 )
# define MBK_REF_REF 0
# define MBK_REF_CON 1

View File

@ -273,7 +273,8 @@
{ "tpoly", TPOLY },
{ "tpoly2", TPOLY2 },
{ "treat", S2R_TREAT },
{ "vw", RDS_TRANS_VW }
{ "vw", RDS_TRANS_VW },
{ "vws", RDS_TRANS_VWS }
};
/*------------------------------------------------------------\