home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
DOS/V Power Report 1997 March
/
VPR9703A.ISO
/
VPR_DATA
/
DOGA
/
SOURCES
/
POLYEDIT.LZH
/
MACRO
/
EDITE.M
< prev
next >
Wrap
Text File
|
1996-06-24
|
2KB
|
109 lines
function CopyMoveSufVec( flag )
{
var org, temp, i;
var len, vect, sels, sel;
var mat, move_vec[3];
if ( SelectPolygons() == 0 )
{
Warning();
if( MESSAGE == ON )
Message( error_msg3 );
return ;
}
PushMenu();
Status_org = Status_title;
ClearStatus();
if( flag == ON )
{
MenuPosition( Menu( " 動作設定(&S)",
"動作中止 ESC", MenuQuit
), Menu_Title );
Status_title[0] = "【複写中】";
}
else
{
MenuPosition( Menu( " 動作設定(&S)",
"移動中止 ESC", MenuQuit
), Menu_Title );
Status_title[0] = "【移動中】";
}
DrawStatus();
quit_flag = FALSE;
org = Cursor();
while( TRUE )
{
temp = _MakeVector( org, OFF );
if( temp == -1 | temp == -2 )
{
PopandClear( OVERWRITE );
return;
}
else
{
if( cur == org )
{
Warning();
if( MESSAGE == ON )
Message( "2点目は移動量を指定してください" );
}
else
break;
}
}
Clear( OVERWRITE );
len = abs(Position( cur ) - Position( org ));
sels = SelectPolygons();
sel = Select();
for( i = 0; i< sels; i++ )
{
SelectNumber( sel, i );
PolyLoadInit();
PolyLoad();
vect = unit( PolyVector())*len;
if( flag == ON )
PolyAppend( FALSE );
mat = move( UNIT_MATRIX, vect );
PolyMove( mat );
}
Select( sel );
UpdateObject();
Update( CLEAR );
pers_rotation_flag = FALSE;
PopMenu();
Status_title = Status_org;
DrawStatus();
}
function private _MoveSufVec()
CopyMoveSufVec( OFF );
//
// 面方向への平行移動
//
function MoveSufVec()
{
ClearStatus();
Status_title[0] = "【モード:面方向への平行移動】";
DrawStatus();
InputEvent( _MoveSufVec );
KeyEvent( _MoveSufVec, INPUT_KEY );
}
function private _CopySufVec()
CopyMoveSufVec( ON );
//
// 面方向への複写
//
function CopySufVec()
{
ClearStatus();
Status_title[0] = "【モード:面方向への複写】";
DrawStatus();
InputEvent( _CopySufVec );
KeyEvent( _CopySufVec, INPUT_KEY );
}