vs.Handle(0)

1件の返信スレッドを表示中
  • 投稿者
    投稿
    • #9091
      yamada-ya
      参加者

      マリオネット第16回の記事中「16-4-3. 高さを設定する」で、既存のノードに新しい入力ポートを記述する際に、ハンドル型入力のポートの初期値として「vs.Handle(0)という関数が使われていますが、この関数をVS:Function Referenceで探しても見当たりません。文脈から推測すると「NUL値のハンドル」かと思われますが、この関数はどのようなものなのでしょうか。vs.Handle( int ) の場合、intは何の値を指しているのでしょうか?

    • #9106
      木原 和信
      参加者

      yamada-ya様

      エーアンドエー研究開発部です

      このvs.Handle()は関数ではなく(Pythonの)クラスとなります。
      これは図形のハンドルを管理するクラスとなりますが、
      開発元Vectorworks社(以下VW社)から情報が公開されておらず、残念ながら詳細は不明です。

      ただ、VW社から提供されているサンプルファイルの記述から、
      「vs.Handle(0) == NILハンドル」であることは明らかになっています。

      その他、vs.Handleクラスは次のメンバを持っています。
      aux
      locked
      name
      next
      parent
      prev
      selected
      type

      これを使って例えば次のように書くことができます。

      kPolygonType = 5
      obj = vs.FActLayer()
      while obj != vs.Handle(0):
          if obj.type == kPolygonType:
              print( obj.name )
          obj = obj.next

1件の返信スレッドを表示中
  • このトピックに返信するにはログインが必要です。