// PointSymmetric 0.322
// 選択した頂点のxを反転して2番目の頂点に適用(1&2,3&4...の対)。
@name "PointSymmetric"
@version 2.5
@warnings
@script modeler
main
{
selmode(DIRECT);
var SelPts = pointcount();
// 90/92/93 はpoint/poly countでUndoバッファを消費する
@if version < 2.2
undo();
@end
@if version > 2.7
undo();
@end
if(SelPts < 2){
error("
Need 2 pts or More.");
return;
}
editbegin();
var TrgVec;
var c = SelPts >> 1;
var p = 1;
for(i = 1; i <= c; i++){
TrgVec = pointinfo(points[p++]);
TrgVec.x *= -1.0;
pointmove(points[p++], TrgVec);
}
var LastPts = points[SelPts];
editend();
selmode(USER);
selpoint(CLEAR);
if(SelPts % 2){
selpoint(SET, POINTID, LastPts);
// 90/92/93 はeditbegin/end の後のselpoint/polyでUndoバッファを消費する
@if version < 2.2
undo();
@end
@if version > 2.7
undo();
@end
info("
No Modified Fraction Point");
}
}