もきもき3D

アクセスカウンタ

zoom RSS メモ:LWItemTypeやボーンの始祖を安く得る

<<   作成日時 : 2010/01/16 02:59   >>

ブログ気持玉 0 / トラックバック 0 / コメント 0

米一粒にも神様は宿る('з`)

○アイテムのタイプを得る。
 基本はLWItemType = itemInfo->type(itemID);

#define LWITEM_TYPE(p) ((((LWItemType)(p)) >> 28) -1)
 LWItemType = LWITEM_TYPE(itemID);

 ItemIDは最上位4bitがアイテムタイプを表す。 0x1..〜0x4..がOBJ,LIGHT,CAMERA,BONEに対応する。
 定数LWI_Typeは同じ順で0〜3が充てられている。
 なので、ビットシフトして-1すれば定数LWI_Typeを得られる。
 適用対象のitemIDが非NULLである事は自身で保証する必要がある。

○ボーンの始祖アイテムを得る。
 基本はLWItemTypeがLWI_OBJECTになるまでiteminfo->parent()で親を遡る。

#define LWITEM_BONE_PARENT(p) ((LWItemID)(((u_int)(p) & 0x0000FFFFu) | 0x10000000u)) 
 parent = LWITEM_BONE_PARENT(boneID);

 ボーンのID下位16bitが親アイテムのID(index)になっている。
 下位16bitを取り出し、最上位4bitにOBJECTを指す0x1..を立てれば始祖アイテムのIDになる。

テーマ

関連テーマ 一覧


月別リンク

ブログ気持玉

クリックして気持ちを伝えよう!
ログインしてクリックすれば、自分のブログへのリンクが付きます。
→ログインへ

トラックバック(0件)

タイトル (本文) ブログ名/日時

トラックバック用URL help


自分のブログにトラックバック記事作成(会員用) help

タイトル
本 文

コメント(0件)

内 容 ニックネーム/日時

コメントする help

ニックネーム
本 文
メモ:LWItemTypeやボーンの始祖を安く得る もきもき3D/BIGLOBEウェブリブログ
文字サイズ:       閉じる