-/*\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 {
+
+ /**
+ * 剛体情報パースステージ。
+ */
+ class PmdRigidStage extends ParseStage{
+ /** コンストラクタ。 */
+ PmdRigidStage(){ super(); return; }
+ }
+
+ /** 剛体情報抽出ループ。 */
+ PmdRigidStage RIGID_LIST = new PmdRigidStage();
+
+ /**
+ * 剛体名の通知を受け取る。
+ * {@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;
+
+}