OSDN Git Service

d4b9c06ce7703aeeaed7a749b18fa0f1da08d3f9
[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  *
18  * <p>MikuMikuDance Ver7.40よりVMDファイルに導入された新仕様。
19  */
20 public interface VmdBoolHandler extends LoopHandler {
21
22     /** モデル表示スイッチ抽出ループ識別子。 */
23     ParseStage MODELSIGHT_LIST = new ParseStage();
24
25     /** IK有効スイッチ抽出ループ識別子。 */
26     ParseStage IKSW_LIST = new ParseStage();
27
28
29     /**
30      * モデルの表示フラグを通知する。
31      *
32      * <p>{@link #MODELSIGHT_LIST}ループの構成要素。
33      *
34      * @param show モデルの表示が行われる場合true
35      * @param keyFrameNo キーフレーム番号
36      * @throws MmdFormatException 不正フォーマットによる
37      * パース処理の中断をパーサに指示
38      */
39     void vmdModelSight(boolean show, int keyFrameNo)
40             throws MmdFormatException;
41
42     /**
43      * IKボーン別のIK処理のON/OFFを通知する。
44      *
45      * <p>{@link #MODELSIGHT_LIST}ループの下位
46      * {@link #IKSW_LIST}ループの構成要素。
47      *
48      * @param boneName IKボーン名
49      * @param validIk IK処理が無効になる場合false
50      * @param keyFrameNo キーフレーム番号
51      * @throws MmdFormatException 不正フォーマットによる
52      * パース処理の中断をパーサに指示
53      */
54     void vmdIkSwitch(String boneName, boolean validIk, int keyFrameNo)
55             throws MmdFormatException;
56
57 }