定数¶
PyFIE 定数¶
PyFIE では FIE(C 言語) で使用される列挙(enum)やマクロ(define)による定数定義に対応した値のセットが用意されています。 これを PyFIE 定数と呼ぶことにします。
PyFIE 定数の実態は、 FIE(C 言語) における定数と同じ名前をもち 対応する値が設定された単なる整数変数です。 つまりその値が書き換え可能であることに注意してください。
全ての PyFIE 定数は PyFIE モジュールのトップレベル名前空間に含まれています。
pyfie.F_IMG_UC8
pyfie.F_ERR_NONE
さらにタグをもつ列挙(enum)定数に関しては タグ名と同名の名前空間がトップレベルに用意されており、 その名前空間内にも同様の PyFIE 定数が含まれています。
pyfie.f_imgtype.F_IMG_UC8
pyfie.f_err.F_ERR_NONE
この "タグ名と同名の名前空間" (上記例の f_img_type
や f_err
) は厳密にはクラスとなっており、
インスタンス化することができます。
このインスタンスを PyFIE 定数インスタンスと呼ぶことにします。
PyFIE 定数インスタンスは、 その文字列表現が定数名となっている以外は通常の整数と同様に使用することができます。
PyFIE 定数インスタンスは主に PyFIE 関数が戻り値としてエラーコードを返す際に使用されます。 詳しくは PyFIE 関数の戻り値 を参照して下さい。
注釈
"タグ名と同名の名前空間" は PyFIE データ型ではありません。
列挙型(enum)のポインタを引数として要求する PyFIE 関数に対しては、下記例のように PyFIE 算術型の
pyfie.enum
をご利用ください。
# 2線分の交差状況を取得
segstatus = pyfie.enum()
pyfie.fnFIE_cg_2segments_cross_status(
((10, 10), (20, 20)), ((10, 20), (20, 10)), 0, segstatus
)
assert pyfie.F_CG_SGMT_CROSS == segstatus