OSDN Git Service

ループ識別情報の簡素化
[mikutoga/TogaGem.git] / src / main / java / jp / sourceforge / mikutoga / parser / pmd / PmdRigidHandler.java
index 98ee70c..c3ca64e 100644 (file)
-/*\r
- * PMD rigid information handler\r
- *\r
- * License : The MIT License\r
- * Copyright(c) 2010 MikuToga Partners\r
- */\r
-\r
-package jp.sourceforge.mikutoga.parser.pmd;\r
-\r
-import jp.sourceforge.mikutoga.parser.LoopHandler;\r
-import jp.sourceforge.mikutoga.parser.MmdFormatException;\r
-import jp.sourceforge.mikutoga.parser.ParseStage;\r
-\r
-/**\r
- * PMDモデルの各種剛体情報の通知用ハンドラ。\r
- */\r
-public interface PmdRigidHandler extends LoopHandler {\r
-\r
-    /**\r
-     * 剛体情報パースステージ。\r
-     */\r
-    class PmdRigidStage extends ParseStage{\r
-        /** コンストラクタ。 */\r
-        PmdRigidStage(){ super(); return; }\r
-    }\r
-\r
-    /** 剛体情報抽出ループ。 */\r
-    PmdRigidStage RIGID_LIST = new PmdRigidStage();\r
-\r
-    /**\r
-     * 剛体名の通知を受け取る。\r
-     * {@link #RIGID_LIST}ループの構成要素。\r
-     * @param rigidName 剛体名\r
-     * @throws MmdFormatException 不正フォーマットによる\r
-     * パース処理の中断をパーサに指示\r
-     */\r
-    void pmdRigidName(String rigidName)\r
-        throws MmdFormatException;\r
-\r
-    /**\r
-     * 剛体基本情報の通知を受け取る。\r
-     * {@link #RIGID_LIST}ループの構成要素。\r
-     * @param rigidGroupId 剛体グループ番号から1引いた数。(0-15)\r
-     * @param linkedBoneId 接続先ボーンID\r
-     * @throws MmdFormatException 不正フォーマットによる\r
-     * パース処理の中断をパーサに指示\r
-     */\r
-    void pmdRigidInfo(int rigidGroupId,\r
-                        int linkedBoneId)\r
-        throws MmdFormatException;\r
-\r
-    /**\r
-     * 剛体形状の通知を受け取る。\r
-     * {@link #RIGID_LIST}ループの構成要素。\r
-     * @param shapeType 形状種別。\r
-     * <ul>\r
-     * <li>0x00:球\r
-     * <li>0x01:箱\r
-     * <li>0x02:カプセル\r
-     * </ul>\r
-     * @param width 球orカプセル半径。箱の幅。\r
-     * @param height 箱orカプセルの高さ\r
-     * @param depth 箱の奥行き\r
-     * @throws MmdFormatException 不正フォーマットによる\r
-     * パース処理の中断をパーサに指示\r
-     */\r
-    void pmdRigidShape(byte shapeType,\r
-                         float width, float height, float depth)\r
-        throws MmdFormatException;\r
-\r
-    /**\r
-     * 剛体位置の通知を受け取る。\r
-     * {@link #RIGID_LIST}ループの構成要素。\r
-     * @param posX X座標\r
-     * @param posY Y座標\r
-     * @param posZ Z座標\r
-     * @throws MmdFormatException 不正フォーマットによる\r
-     * パース処理の中断をパーサに指示\r
-     */\r
-    void pmdRigidPosition(float posX, float posY, float posZ)\r
-        throws MmdFormatException;\r
-\r
-    /**\r
-     * 剛体姿勢の通知を受け取る。\r
-     * {@link #RIGID_LIST}ループの構成要素。\r
-     * @param radX X軸回転量(radian)\r
-     * @param radY Y軸回転量(radian)\r
-     * @param radZ Z軸回転量(radian)\r
-     * @throws MmdFormatException 不正フォーマットによる\r
-     * パース処理の中断をパーサに指示\r
-     */\r
-    void pmdRigidRotation(float radX, float radY, float radZ)\r
-        throws MmdFormatException;\r
-\r
-    /**\r
-     * 剛体物理系数の通知を受け取る。\r
-     * {@link #RIGID_LIST}ループの構成要素。\r
-     * @param mass 質量\r
-     * @param dampingPos 移動減衰率\r
-     * @param dampingRot 回転減衰率\r
-     * @param restitution 反発力\r
-     * @param friction 摩擦力\r
-     * @throws MmdFormatException 不正フォーマットによる\r
-     * パース処理の中断をパーサに指示\r
-     */\r
-    void pmdRigidPhysics(float mass,\r
-                           float dampingPos, float dampingRot,\r
-                           float restitution, float friction )\r
-        throws MmdFormatException;\r
-\r
-    /**\r
-     * 剛体の振る舞い情報の通知を受け取る。\r
-     * {@link #RIGID_LIST}ループの構成要素。\r
-     * @param behaveType 剛体タイプ。\r
-     * <ul>\r
-     * <li>0:ボーン追従\r
-     * <li>1:物理演算\r
-     * <li>2:物理演算+ボーン位置合わせ\r
-     * </ul>\r
-     * @param collisionMap 非衝突剛体グループビットマップ。\r
-     * (衝突グループ番号-1)位置のビット位置は1に、\r
-     * (非衝突グループ番号-1)位置のビット位置は0になる。\r
-     * 例)グループ1と8のみが非衝突指定の場合、0xff7eになる。\r
-     * @throws MmdFormatException 不正フォーマットによる\r
-     * パース処理の中断をパーサに指示\r
-     */\r
-    void pmdRigidBehavior(byte behaveType, short collisionMap)\r
-        throws MmdFormatException;\r
-\r
-}\r
+/*
+ * PMD rigid information handler
+ *
+ * License : The MIT License
+ * Copyright(c) 2010 MikuToga Partners
+ */
+
+package jp.sourceforge.mikutoga.parser.pmd;
+
+import jp.sourceforge.mikutoga.parser.LoopHandler;
+import jp.sourceforge.mikutoga.parser.MmdFormatException;
+import jp.sourceforge.mikutoga.parser.ParseStage;
+
+/**
+ * PMDモデルの各種剛体情報の通知用ハンドラ。
+ */
+public interface PmdRigidHandler extends LoopHandler {
+
+    /** 剛体情報抽出ループ。 */
+    ParseStage RIGID_LIST = new ParseStage();
+
+    /**
+     * 剛体名の通知を受け取る。
+     * {@link #RIGID_LIST}ループの構成要素。
+     * @param rigidName 剛体名
+     * @throws MmdFormatException 不正フォーマットによる
+     * パース処理の中断をパーサに指示
+     */
+    void pmdRigidName(String rigidName)
+        throws MmdFormatException;
+
+    /**
+     * 剛体基本情報の通知を受け取る。
+     * {@link #RIGID_LIST}ループの構成要素。
+     * @param rigidGroupId 剛体グループ番号から1引いた数。(0-15)
+     * @param linkedBoneId 接続先ボーンID
+     * @throws MmdFormatException 不正フォーマットによる
+     * パース処理の中断をパーサに指示
+     */
+    void pmdRigidInfo(int rigidGroupId,
+                        int linkedBoneId)
+        throws MmdFormatException;
+
+    /**
+     * 剛体形状の通知を受け取る。
+     * {@link #RIGID_LIST}ループの構成要素。
+     * @param shapeType 形状種別。
+     * <ul>
+     * <li>0x00:球
+     * <li>0x01:箱
+     * <li>0x02:カプセル
+     * </ul>
+     * @param width 球orカプセル半径。箱の幅。
+     * @param height 箱orカプセルの高さ
+     * @param depth 箱の奥行き
+     * @throws MmdFormatException 不正フォーマットによる
+     * パース処理の中断をパーサに指示
+     */
+    void pmdRigidShape(byte shapeType,
+                         float width, float height, float depth)
+        throws MmdFormatException;
+
+    /**
+     * 剛体位置の通知を受け取る。
+     * {@link #RIGID_LIST}ループの構成要素。
+     * @param posX X座標
+     * @param posY Y座標
+     * @param posZ Z座標
+     * @throws MmdFormatException 不正フォーマットによる
+     * パース処理の中断をパーサに指示
+     */
+    void pmdRigidPosition(float posX, float posY, float posZ)
+        throws MmdFormatException;
+
+    /**
+     * 剛体姿勢の通知を受け取る。
+     * {@link #RIGID_LIST}ループの構成要素。
+     * @param radX X軸回転量(radian)
+     * @param radY Y軸回転量(radian)
+     * @param radZ Z軸回転量(radian)
+     * @throws MmdFormatException 不正フォーマットによる
+     * パース処理の中断をパーサに指示
+     */
+    void pmdRigidRotation(float radX, float radY, float radZ)
+        throws MmdFormatException;
+
+    /**
+     * 剛体物理系数の通知を受け取る。
+     * {@link #RIGID_LIST}ループの構成要素。
+     * @param mass 質量
+     * @param dampingPos 移動減衰率
+     * @param dampingRot 回転減衰率
+     * @param restitution 反発力
+     * @param friction 摩擦力
+     * @throws MmdFormatException 不正フォーマットによる
+     * パース処理の中断をパーサに指示
+     */
+    void pmdRigidPhysics(float mass,
+                           float dampingPos, float dampingRot,
+                           float restitution, float friction )
+        throws MmdFormatException;
+
+    /**
+     * 剛体の振る舞い情報の通知を受け取る。
+     * {@link #RIGID_LIST}ループの構成要素。
+     * @param behaveType 剛体タイプ。
+     * <ul>
+     * <li>0:ボーン追従
+     * <li>1:物理演算
+     * <li>2:物理演算+ボーン位置合わせ
+     * </ul>
+     * @param collisionMap 非衝突剛体グループビットマップ。
+     * (衝突グループ番号-1)位置のビット位置は1に、
+     * (非衝突グループ番号-1)位置のビット位置は0になる。
+     * 例)グループ1と8のみが非衝突指定の場合、0xff7eになる。
+     * @throws MmdFormatException 不正フォーマットによる
+     * パース処理の中断をパーサに指示
+     */
+    void pmdRigidBehavior(byte behaveType, short collisionMap)
+        throws MmdFormatException;
+
+}