OSDN Git Service

TextDecoder導入
[mikutoga/TogaGem.git] / src / main / java / jp / sourceforge / mikutoga / parser / pmd / PmdMorphHandler.java
1 /*
2  * PMD morph information handler
3  *
4  * License : The MIT License
5  * Copyright(c) 2010 MikuToga Partners
6  */
7
8 package jp.sourceforge.mikutoga.parser.pmd;
9
10 import jp.sourceforge.mikutoga.parser.LoopHandler;
11 import jp.sourceforge.mikutoga.parser.MmdFormatException;
12 import jp.sourceforge.mikutoga.parser.ParseStage;
13
14 /**
15  * PMDモデルのモーフ情報の通知用ハンドラ。
16  */
17 public interface PmdMorphHandler extends LoopHandler {
18
19     /**
20      * モーフ情報パースステージ。
21      */
22     class PmdMorphStage extends ParseStage{
23         /** コンストラクタ。 */
24         PmdMorphStage(){ super(); return; }
25     }
26
27     /** モーフ抽出ループ。 */
28     PmdMorphStage MORPH_LIST = new PmdMorphStage();
29
30     /** モーフ頂点抽出ループ。 */
31     PmdMorphStage MORPHVERTEX_LIST = new PmdMorphStage();
32
33     /** モーフ出現順抽出ループ。 */
34     PmdMorphStage MORPHORDER_LIST = new PmdMorphStage();
35
36     /**
37      * モーフ情報の通知を受け取る。
38      * {@link #MORPH_LIST}ループの構成要素
39      * @param morphName モーフ名
40      * @param morphType モーフ種別。
41      * <ul>
42      * <li>0:base
43      * <li>1:まゆ
44      * <li>2:目
45      * <li>3:リップ
46      * <li>4:その他
47      * </ul>
48      * @throws MmdFormatException 不正フォーマットによる
49      * パース処理の中断をパーサに指示
50      */
51     void pmdMorphInfo(String morphName, byte morphType)
52             throws MmdFormatException;
53
54     /**
55      * モーフ形状の通知を受け取る。
56      * {@link #MORPH_LIST}ループの下位{@link #MORPHVERTEX_LIST}の構成要素
57      * @param serialId base型の場合は頂点ID、それ以外はモーフ頂点ID
58      * @param xPos base型の場合はX座標、それ以外はX軸変位
59      * @param yPos base型の場合はY座標、それ以外はY軸変位
60      * @param zPos base型の場合はZ座標、それ以外はZ軸変位
61      * @throws MmdFormatException 不正フォーマットによる
62      * パース処理の中断をパーサに指示
63      */
64     void pmdMorphVertexInfo(int serialId,
65                                float xPos, float yPos, float zPos)
66             throws MmdFormatException;
67
68     /**
69      * 各モーフ種別内のGUI表示順の通知を受け取る。
70      * {@link #MORPHORDER_LIST}ループの構成要素
71      * @param morphId モーフ通し番号。同一種別内の大小関係のみ意味がある。
72      * @throws MmdFormatException 不正フォーマットによる
73      * パース処理の中断をパーサに指示
74      */
75     void pmdMorphOrderInfo(int morphId) throws MmdFormatException;
76
77 }