OSDN Git Service

MMD Ver7.40 対応
[mikutoga/TogaGem.git] / src / main / java / jp / sfjp / mikutoga / vmd / parser / VmdBoolHandler.java
1 /*
2  * VMD boolean info handler
3  *
4  * License : The MIT License
5  * Copyright(c) 2013 MikuToga Partners
6  */
7
8 package jp.sfjp.mikutoga.vmd.parser;
9
10 import jp.sfjp.mikutoga.bin.parser.LoopHandler;
11 import jp.sfjp.mikutoga.bin.parser.MmdFormatException;
12 import jp.sfjp.mikutoga.bin.parser.ParseStage;
13
14 /**
15  * VMDモーションファイルの各種ON/OFF情報(モデル表示・IK有効無効)
16  * の通知用ハンドラ。
17  * <p>MikuMikuDance Ver7.40よりVMDファイルに導入された新仕様。
18  */
19 public interface VmdBoolHandler extends LoopHandler {
20
21     /** モデル表示スイッチ抽出ループ識別子。 */
22     ParseStage MODELSIGHT_LIST = new ParseStage();
23
24     /** IK有効スイッチ抽出ループ識別子。 */
25     ParseStage IKSW_LIST = new ParseStage();
26
27
28     /**
29      * モデルの表示フラグを通知する。
30      * <p>{@link #MODELSIGHT_LIST}ループの構成要素。
31      * @param show モデルの表示が行われる場合true
32      * @param keyFrameNo キーフレーム番号
33      * @throws MmdFormatException 不正フォーマットによる
34      * パース処理の中断をパーサに指示
35      */
36     void vmdModelSight(boolean show, int keyFrameNo)
37             throws MmdFormatException;
38
39     /**
40      * IKボーン別のIK処理のON/OFFを通知する。
41      * <p>{@link #MODELSIGHT_LIST}ループの下位
42      * {@link #IKSW_LIST}ループの構成要素。
43      * @param boneName IKボーン名
44      * @param validIk IK処理が無効になる場合false
45      * @param keyFrameNo キーフレーム番号
46      * @throws MmdFormatException 不正フォーマットによる
47      * パース処理の中断をパーサに指示
48      */
49     void vmdIkSwitch(String boneName, boolean validIk, int keyFrameNo)
50             throws MmdFormatException;
51
52 }