vrNodeService(vrBaseService を継承)
vrNodes に対応するヘルパー関数を提供するサービスです。
vrNodeService.clearFindCache()検索キャッシュをクリアします。
検索キャッシュは、findNode(s)コマンドの実行速度を上げるための内部キャッシュ構造です。シーングラフを変更すると検索キャッシュが無効になるため、再作成する必要があります。vrNodeService.clearFindCache() はキャッシュを無効にするため、すべての検索呼び出しでキャッシュが使用されなくなり、検索時間が長くなります。
vrNodeService.cloneNodes(nodes)シーングラフ内のノードのリストをクローン化します。
| パラメータ: | nodes (List[vrdNode]): クローンを作成するノードのリスト。 |
|---|---|
| 戻り値: | クローンを作成したノードのリスト。 |
| 戻り値の型: | List[vrdNode] |
vrNodeService.findNode(name, wildcard=False, includeComponents=False, root=vrdNode(), caseSensitive=True)ノードを名前で検索します。
| パラメータ: |
|
|---|---|
| 戻り値: | 見つかったノード。 |
| 戻り値の型: |
vrNodeService.findNodes(name, wildcard=False, includeComponents=False, root=vrdNode(), caseSensitive=True)名前に応じてノードのリストを検索します。
この操作には、大きな負担がかかることにご注意ください。シーングラフ構造を変更しなくなった場合に、関数 vrNodeService.initFindCache() を使用して速度を上げることができます。
| パラメータ: |
|
|---|---|
| 戻り値: | 見つかったノード。 |
| 戻り値の型: | List[vrdNode] |
vrNodeService.findNodes(names, wildcard=False, includeComponents=False, root=vrdNode(), caseSensitive=True)名前のリストに応じてノードのリストを検索します。
この関数は、リスト内の名前のいずれかに一致するすべてのノードを返します。
この操作には、大きな負担がかかることにご注意ください。シーングラフ構造を変更しなくなった場合に、関数 vrNodeService.initFindCache() を使用して速度を上げることができます。
| パラメータ: |
|
|---|---|
| 戻り値: | 見つかったノード。 |
| 戻り値の型: | List[vrdNode] |
vrNodeService.findNodes(function, options=vrdFindOptions(), root=vrdNode())Python の関連付け関数に応じて、ノードのリストを検索します。
def findGeometry(node):
return node.isType(vrdGeometryNode)
vrNodeService.findNodes(findGeometry, vrdFindOptions(), vrNodeService.getRootNode()) # also works with lambdas: vrNodeService.findNodes(lambda node: node.isType(vrdGeometryNode))
| パラメータ: |
|
|---|---|
| 戻り値: | 見つかったノード。 |
| 戻り値の型: | List[vrdNode] |
vrNodeService.findNodesWithPath(path, wildcard=False, root=vrdNode())ノードパスに応じてノードのリストを検索します。
ノード パスは先祖ノードの名前です。ノード自体はスラッシュ(/)で区切ります(例:"Root/Group/Geometry123")。
| パラメータ: |
|
|---|---|
| 戻り値: | 見つかったノード。 |
| 戻り値の型: | List[vrdNode] |
vrNodeService.findNodeWithPath(path, wildcard=False, root=vrdNode())ノード パスに応じてノードを検索します。
ノード パスは先祖ノードの名前です。ノード自体はスラッシュ(/)で区切ります(例:"Root/Group/Geometry123")。
| パラメータ: |
|
|---|---|
| 戻り値: | 見つかったノード。 |
| 戻り値の型: |
vrNodeService.findNodeWithUniquePath(uniquePath)一意のパスでノードを検索します。「vrdNode.getUniquePath()」を参照してください。
| パラメータ: | uniquePath (string): 検索する一意のパス。 |
|---|---|
| 戻り値: | 指定された一意のパスを持つノード。 |
| 戻り値の型: | vrdNode |
vrNodeService.getAllNodes(root, options=vrdFindOptions())指定されたサブグラフ内のすべてのノードを取得します。
| パラメータ: |
|
|---|---|
| 戻り値: | 指定したグラフ内で見つかったすべてのノード |
| 戻り値の型: | List[vrdNode] |
vrNodeService.getCloneRoot(node)クローン階層の最上位ノードを取得します。
| パラメータ: | node (vrdNode): 検査するノード |
|---|---|
| 戻り値: | クローン階層の最上位ノード |
| 戻り値の型: | vrdNode |
vrNodeService.getClones(node)指定されたノードのクローンを取得します。
| パラメータ: | node (vrdNode): クエリーするノード。 |
|---|---|
| 戻り値: | ノードのリスト。 |
| 戻り値の型: | List[vrdNode] |
vrNodeService.getCommonParent(nodes)指定されたノードの最初の同等の親を検索します。
| パラメータ: | nodes (List[vrdNode]): 検査するノード |
|---|---|
| 戻り値: | 指定されたすべてのノードの親となる最初のノード |
| 戻り値の型: | vrdNode |
vrNodeService.getMaxDepth(node)指定されたグラフの最大深度を取得します。
| パラメータ: | node (vrdNode): チェックするグラフ |
|---|---|
| 戻り値: | サブグラフの最大深度 |
| 戻り値の型: | integer |
vrNodeService.getNodeFromId(nodeId)識別子によってノードを取得します。
指定されたノード識別子の vrdNode を返します。次のような古いノードから ID を取得することで、古い vrNodePtr から vrdNode に変換することができます。
newnode = vrNodeService.getNodeFromId(oldnode.getID())
| パラメータ: | nodeId (integer): ノード識別子。 |
|---|---|
| 戻り値: | 識別子のノード。 |
| 戻り値の型: | vrdNode |
vrNodeService.getNodesFromIds(nodeIds)識別子からノードを取得します。
| パラメータ: | nodeIds (List[integer]): ノード識別子。 |
|---|---|
| 戻り値: | 関連付けられたノード。 |
| 戻り値の型: | List[vrdNode] |
vrNodeService.getRootNode()ルート ノードを返します。
| 戻り値: | ルート ノード。 |
|---|---|
| 戻り値の型: | vrdNode |
vrNodeService.getSelectedNodes()選択したノードのリストを返します。
| 戻り値: | 選択したノード。 |
|---|---|
| 戻り値の型: | List[vrdNode] |
vrNodeService.getSelectedRootNodes()選択したルート ノードのリストを返します。
| 戻り値: | 選択したルート ノード。 |
|---|---|
| 戻り値の型: | List[vrdNode] |
vrNodeService.getUniqueName(name, root, recursive=True)ノードの一意の名前を取得します。
| パラメータ: |
|
|---|---|
| 戻り値: | 一意の名前 |
| 戻り値の型: | string |
vrNodeService.initFindCache()検索コマンドの実行を高速化するために、内部キャッシュ構造を構築します。
内部キャッシュ構造を構築して Python コマンドの findNode と findNodes の実行を高速化します。たとえば、10,000 個のノードを含むシーンの場合、約 700 倍速くなります。ノードを削除または作成した後、このキャッシュは無効になることにご注意ください。
例: サンプルの find2.py も参照してください。
vrNodeService.isInSubtree(root, node)ノードが指定されたルート ノードの直接または間接の子かどうかを示します。
| パラメータ: | |
|---|---|
| 戻り値: | 指定されたノードが直接または間接の子である場合は True。 |
| 戻り値の型: | bool |
vrNodeService.removeNodes(nodes)シーングラフからノードのリストを削除します。
| パラメータ: | nodes (List[vrdNode]): 削除するノードのリスト。 |
|---|
vrNodeService.traverse(function, root=vrdNode())ノード グラフをトラバースし、各ノードの Python 関数を呼び出します。
シェル = []
def collectShells(node): if node.isType(vrdGeometryNode) and node.isShell(): shells.append(node) return vrNodeService.TraverseChoice.Skip return vrNodeService.TraverseChoice.Continue
vrNodeService.traverse(collectShells, vrNodeService.getRootNode())
| パラメータ: |
|
|---|
vrNodeService.unshareNodes(nodes, option=vrScenegraphTypes.KeepLocalClones)シーングラフ内のサブツリーのリストを共有解除します。
共有を解除すると、同じ設定と子を共有する 2 つのノード間の接続が切断されます。
| パラメータ: |
|
|---|