cymel.pyutils.pyutils

Mayaに依存しない諸機能。

Classes:

Singleton

シングルトンクラスを作る為のメタクラス。

Functions:

assembleCodeToCallFunction(name, *args, **kwargs)

関数呼び出し用のコード文字列を生成する。

avoidZeroDiv(v[, pre])

Maya を模倣したゼロ割を防ぐ為の分母を得る。

boundAngle(a)

角度を±πの範囲におさめる。

convIntToBaseN(i[, chars])

整数を N 進数表記の文字列に変換する。

donothing(*a)

何もしない。

execfile(fname[, globals, locals])

fround(f[, ndigits])

常にfloat型を返すround。ただし、py2は四捨五入、py3は偶数への丸め(bankers' rounding)という違いはある。

getTempFilename([suffix, prefix, dir, n, chars])

任意に使えるテンポラリファイル名をフルパスで得る。

gettrue(*a)

常に真。

incrementName(name)

名前の末尾の数字をインクリメントする。

insertEnvPath(path, name[, index, noCheck, ...])

様々なパス環境変数にパスを追加する。

insertSysPath(path[, index, noCheck])

sys.path にパスを追加する。

iterTreeBreadthFirst(nodes, proc)

木を幅優先反復する。

iterTreeDepthFirst(nodes, proc)

木を深さ優先反復する。

parentClasses(cls)

親クラスのリストを得る。

ucToStrList(xx)

何もしない。

Aliases:

cymel.pyutils.pyutils.dict_get_items = <function <lambda>>

dict から items リストを得る。

cymel.pyutils.pyutils.dict_get_keys = <function <lambda>>

dict から keys リストを得る。

cymel.pyutils.pyutils.dict_get_values = <function <lambda>>

dict から values リストを得る。

cymel.pyutils.pyutils.dict_items = <function <lambda>>

dict から dict_items を得る。

cymel.pyutils.pyutils.dict_iteritems = <function <lambda>>

dict から items イテレータを得る。

cymel.pyutils.pyutils.dict_iterkeys = <function <lambda>>

dict から keys イテレータを得る。

cymel.pyutils.pyutils.dict_itervalues = <function <lambda>>

dict から values イテレータを得る。

cymel.pyutils.pyutils.dict_keys = <function <lambda>>

dict から dict_keys を得る。

cymel.pyutils.pyutils.dict_values = <function <lambda>>

dict から dict_values を得る。

cymel.pyutils.pyutils.lfilter = <function <lambda>>

list を返す filter (Python 3 には無い)

cymel.pyutils.pyutils.lmap = <function <lambda>>

list を返す map (Python 3 には無い)

cymel.pyutils.pyutils.lrange = <function <lambda>>

list を返す range (Python 2 の標準)

cymel.pyutils.pyutils.lzip = <function <lambda>>

list を返す zip (Python 3 には無い)

Constants:

cymel.pyutils.pyutils.IS_WINDOWS = True

OS が Windows かどうか。

cymel.pyutils.pyutils.MAXINT32 = 2147483647

32bit符号付き整数の最大値。Maya の sys.maxint はこれ(py3 で廃止)。

cymel.pyutils.pyutils.MAXINT64 = 9223372036854775807

64bit符号付き整数の最大値。Maya の sys.maxsize はこれ。

cymel.pyutils.pyutils.USER_DOC_PATH = 'C:\\Users\\ryusukes\\Documents'

ユーザードキュメントディレクトリ。Unix 系ではホーム、Windows ではマイドキュメントとしている。

Functions Details:

cymel.pyutils.pyutils.assembleCodeToCallFunction(name, *args, **kwargs)

関数呼び出し用のコード文字列を生成する。

パラメータ:
  • name (str) -- 関数名。

  • args (iterable) -- 引数リスト。

  • kwargs (dict) -- キーワード引数辞書。

戻り値の型:

str

cymel.pyutils.pyutils.avoidZeroDiv(v, pre=1e-13)

Maya を模倣したゼロ割を防ぐ為の分母を得る。

Maya では scale=0 を設定しても matrix が特異値とならないように 0.0 は 1.e-12 くらいでリミットして保持するようなので、それを意識 したリミットを掛けた値を返す。

パラメータ:
  • v -- チェックする値。

  • pre -- 最小値。デフォルトは AVOID_ZERO_DIV_PRECISION

戻り値の型:

リミットを適用した値。

cymel.pyutils.pyutils.boundAngle(a)

角度を±πの範囲におさめる。

cymel.pyutils.pyutils.convIntToBaseN(i, chars='0123456789abcdef')

整数を N 進数表記の文字列に変換する。

パラメータ:

chars (str) -- 桁の文字を 0~N-1 まで並べた文字列。 デフォルトは小文字の16進数。

戻り値の型:

str

>>> import cymel.main as cm
>>> convIntToBaseN(255)
'ff'
>>> convIntToBaseN(4096)
'1000'
cymel.pyutils.pyutils.donothing(*a)

何もしない。

cymel.pyutils.pyutils.execfile(fname, globals=None, locals=None)
cymel.pyutils.pyutils.fround(f, ndigits=0)

常にfloat型を返すround。ただし、py2は四捨五入、py3は偶数への丸め(bankers' rounding)という違いはある。

cymel.pyutils.pyutils.getTempFilename(suffix='', prefix='tmp', dir=None, n=5, chars='abcdefghijklmnopqrstuvwxyz0123456789')

任意に使えるテンポラリファイル名をフルパスで得る。

パラメータ:
  • prefix (str) -- ファイル名に付ける任意の接頭辞を指定する。

  • suffix (str) -- ファイル名に付ける任意の接尾辞を指定する。

  • dir (str) -- ファイルを生成するディレクトリパスを指定する。

  • n (int) -- ランダムに決まる部分の文字数を指定する。

  • chars (str) -- ランダムに決まる部分に使用される文字。

戻り値の型:

str

cymel.pyutils.pyutils.gettrue(*a)

常に真。

cymel.pyutils.pyutils.incrementName(name)

名前の末尾の数字をインクリメントする。

>>> import cymel.main as cm
>>> cm.incrementName('hoge')
'hoge1'
>>> cm.incrementName('hoge1')
'hoge2'
cymel.pyutils.pyutils.insertEnvPath(path, name, index=-1, noCheck=False, noUpdate=False)

様々なパス環境変数にパスを追加する。

パスが存在せず追加されなかったら 0 、 既にリストに含まれていたら 1 、 新規に追加されたなら 2 が返される。

パラメータ:
  • path (str) -- 追加するパス。

  • name (str) -- 環境変数名。

  • index (int) -- 追加する位置。負数であれば末尾に追加、 そうでなければこの位置の手前に挿入される。

  • noCheck (bool) -- パスの存在の有無をチェックしない。 デフォルトでは、実際に存在しないパスは追加されない。

  • noUpdate (bool) -- パスが既に含まれていたら更新しない。 デフォルトでは、既にリストに含まれているパスなら、 一旦それを削除してから追加し直される。

戻り値の型:

int

cymel.pyutils.pyutils.insertSysPath(path, index=-1, noCheck=False)

sys.path にパスを追加する。

パスが存在せず追加されなかったら 0 、 既にリストに含まれていて追加し直されたら 1 、 新規に追加されたなら 2 が返される。

パラメータ:
  • path (str) -- 追加するパス。

  • index (int) -- 追加する位置。負数であれば末尾に追加、 そうでなければこの位置の手前に挿入される。

  • noCheck (bool) -- パスの存在の有無をチェックしない。 デフォルトでは、実際に存在しないパスは追加されない。

  • noUpdate (bool) -- パスが既に含まれていたら更新しない。 デフォルトでは、既にリストに含まれているパスなら、 一旦それを削除してから追加し直される。

戻り値の型:

int

cymel.pyutils.pyutils.iterTreeBreadthFirst(nodes, proc)

木を幅優先反復する。

パラメータ:
  • nodes (iterable) -- 基点ノードリスト。

  • proc (callable) -- 子ノード群を得るプロシージャ。

警告

循環していると無限ループになる。

cymel.pyutils.pyutils.iterTreeDepthFirst(nodes, proc)

木を深さ優先反復する。

パラメータ:
  • nodes (iterable) -- 基点ノードリスト。

  • proc (callable) -- 子ノード群を得るプロシージャ。

警告

循環していると無限ループになる。

cymel.pyutils.pyutils.parentClasses(cls)

親クラスのリストを得る。

パラメータ:

cls (type) -- クラス。

戻り値の型:

list

cymel.pyutils.pyutils.ucToStrList(xx)

何もしない。