OSDN Git Service

cbc508f342e7ac610af50a1eefcaf047b6a669b2
[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     public static final ParseStage MODELSIGHT_LIST = new ParseStage();
24
25     /** IK有効スイッチ抽出ループ識別子。 */
26     public static final 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     public abstract 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     public abstract void vmdIkSwitch(
55             String boneName, boolean validIk, int keyFrameNo)
56             throws MmdFormatException;
57
58 }