struct¶
struct モジュールは、 xdwlib が用いる 座標や領域を表すクラスを
扱います。
Point オブジェクト¶
Point クラスは、座標または用紙等の大きさを表します。
DocuWorks で用いる座標は、用紙の左上隅や親アノテーションの位置を原点 (0, 0) とし、原点から右方への変位 (x 座標) および下方への変位 (y 座標) で表します。 数学で通常用いる座標系とは上下が逆転していることに注意してください (これに対応して、回転角も時計回りとなっています)。
Point クラスはイテレータプロトコルをサポートしています。
next() で横位置 (x 座標)、縦位置 (y 座標) を順次返します。
コンストラクタ¶
- クラス
Point(x, y) x, y はそれぞれ横位置 (x 座標) および縦位置 (y 座標) です。 単位はミリメートルです。1/100 ミリメートル未満の部分も値として 保持されますが、XDWAPI の各機能を呼び出す際は切り捨てられます。
インスタンス属性¶
x横位置 (x 座標) です。単位はミリメートルです。
y縦位置 (y 座標) です。単位はミリメートルです。
インスタンスメソッド¶
__add__(pnt)Point(
self.x+pnt.x,self.y+pnt.y) を返します。__div__(n)Point(
self.x/n,self.y/n) を返します。__eq__(pnt)selfとpntの位置が同一である場合はTrueを、 そうでない場合はFalseを返します。__mul__(n)Point(
self.x*n,self.y*n) を返します。__ne__(pnt)selfとpntの位置が同一である場合はFalseを、 そうでない場合はTrueを返します。__neg__()Point( -
self.x, -self.y) を返します。__nonzero__()self.xとself.yのいずれも 0 である場合はFalseを、 そうでない場合はTrueを返します。__rmul__(n)__mul__(n)と同じです。__sub__(pnt)Point(
self.x-pnt.x,self.y-pnt.y) を返します。ceil()x 座標および y 座標を減少方向へ整数化した新たな位置を返します。
fix()x 座標および y 座標の小数部分を切り捨てた新たな位置を返します。
floor()x 座標および y 座標を増加方向へ整数化した新たな位置を返します。
int()x 座標および y 座標を整数 (
int) 化した新たな位置を返しますrotate(degree, origin=None)回転後の位置を返します。
degreeは時計回りの回転角です。 単位は度です。originは回転の中心となる位置を表す Point オブジェクトです。単位はミリメートルです。originがNoneである場合は、Point(0, 0) とみなします。round(places=0)x 座標および y 座標の小数部分を四捨五入して小数点以下第
places位までとした新たな位置を返します。placesが 0 以下の場合は 小数点以上places桁が 0 となるように四捨五入します。たとえば、p= Point(123.45, 234.56) であるとき、p.round()は Point(123.00, 234.00) を、p.round(1)は Point(123.40, 234.50) を、p.round(-1)は Point(120.00, 230.00) を、それぞれ返します。shift(x, y)平行移動後の位置を返します。
x,yはそれぞれ横位置および縦位置の 移動距離です。単位はミリメートルです。縦位置は下方が増加方向です。 2 引数x, yの代わりに 2 要素のタプル(x, y)あるいは Point オブジェクト 1 個を与えることもできます。
Rect オブジェクト¶
Rect クラスは、半開矩形領域を表します。
Rect クラスはイテレータプロトコルをサポートしています。
next() で 左端、上端、右端、下端の位置を順次返します。
コンストラクタ¶
- クラス
Rect(left=0, top=0, right=0, bottom=0, half_open=True) left,top,right,bottomはそれぞれ 左端、上端、右端、下端の位置です。単位はミリメートルです。leftとtopは合わせてlefttop=(left, top)と指定することもでき、またrightとbottomも合わせてrightbottom=(right, bottom)と指定することもできます。left,top,right,bottom,lefttop,rightbottomはそれぞれl,t,r,b,lt,rbで指定することもできます。ただし、これらは初期化の際にのみ利用できる 略号で、初期化が終わったら利用できません。half_openが偽の場合は、rightおよびbottomが閉鎖区間の 終端値となります。 (注) 縦位置は下方が増加方向であることと、half_openが真の場合は 半開矩形領域の指定となることに注意してください。位置指定では 1/100 ミリメートル未満の部分も値として保持されますが、XDWAPI の各機能を 呼び出す際は切り捨てられます。
インスタンスメソッド¶
__eq__(r)半開矩形領域が
rと合致すればTrueを、合致しなければFalseを返します。__ne__(r)半開矩形領域が
rと合致すればFalseを、合致しなければTrueを返します。__mul__(n)半開矩形領域の左上隅を固定して縦横に
n倍した値を Rect オブジェクトで返します。たとえば、Rect(1, 2, 3, 4) * 10は Rect(1.00, 2.00, 21.00, 22.00) を返します。__rmul__(n)__mul__(n)と同じです。__div__(n)半開矩形領域の左上隅を固定して縦横に
n倍した値を Rect オブジェクトで返します。たとえば、Rect(1, 2, 3, 4) / 10は Rect(1.00, 2.00, 1.20, 2.20) を返します。closed()現在の値が半開矩形領域であるとみなし、閉鎖矩形領域 (
rightおよびbottomが閉鎖区間の終端値であるような矩形領域指定。以下同じ) へ変換した値を返します。half_open()現在の値が閉鎖矩形領域であるとみなし、半開矩形領域へ変換した値を 返します。
int()selfの属性left,top,right,bottomそれぞれを整数 (int) 化した値を Rect オブジェクトで返します。position()半開矩形領域の左上隅の位置を Point オブジェクトで返します。
position_and_size()2 要素のタプル (
self.position(),self.size()) を返します。rotate(degree, origin=None)半開矩形領域を回転した後の領域を返します。
degreeは時計回りの 回転角です。単位は度です。originは回転の中心となる位置を表す Point オブジェクトです。単位はミリメートルです。originがNoneである場合は、Point(0, 0) とみなします。shift(pnt)半開矩形領域を平行移動した後の値を Rect オブジェクトで返します。
size()半開矩形領域の大きさを Point 値で返します。