OSDN Git Service

テストセット整備
[mikutoga/Pmd2XML.git] / src / main / java / jp / sfjp / mikutoga / pmd / model / RigidGroup.java
1 /*
2  * rigid group
3  *
4  * License : The MIT License
5  * Copyright(c) 2010 MikuToga Partners
6  */
7
8 package jp.sfjp.mikutoga.pmd.model;
9
10 import java.util.ArrayList;
11 import java.util.Iterator;
12 import java.util.List;
13
14 /**
15  * 剛体グループ情報。
16  * 剛体間の衝突設定の対象となる。
17  */
18 public class RigidGroup implements SerialNumbered, Iterable<RigidInfo> {
19
20     private final List<RigidInfo> rigidList = new ArrayList<RigidInfo>();
21
22     private int serialNo = -1;
23
24     /**
25      * コンストラクタ。
26      */
27     public RigidGroup(){
28         super();
29         return;
30     }
31
32     /**
33      * 所属する剛体のリストを返す。
34      * @return 剛体リスト
35      */
36     public List<RigidInfo> getRigidList(){
37         return this.rigidList;
38     }
39
40     /**
41      * {@inheritDoc}
42      * @return {@inheritDoc}
43      */
44     @Override
45     public Iterator<RigidInfo> iterator(){
46         return this.rigidList.iterator();
47     }
48
49     /**
50      * {@inheritDoc}
51      * @param num {@inheritDoc}
52      */
53     @Override
54     public void setSerialNumber(int num){
55         this.serialNo = num;
56         return;
57     }
58
59     /**
60      * {@inheritDoc}
61      * @return {@inheritDoc}
62      */
63     @Override
64     public int getSerialNumber(){
65         return this.serialNo;
66     }
67
68     /**
69      * グループ番号を返す。
70      * MMDでは1〜16までが使われる。
71      * 通し番号に1を加えた値と等しい。
72      * @return グループ番号
73      */
74     public int getGroupNumber(){
75         return this.serialNo + 1;
76     }
77
78     /**
79      * {@inheritDoc}
80      * @return {@inheritDoc}
81      */
82     @Override
83     public String toString(){
84         StringBuilder result = new StringBuilder();
85
86         result.append("RigidGroup(").append(getGroupNumber()).append(") [");
87
88         boolean dumped;
89
90         dumped = false;
91         for(RigidInfo rigid : this.rigidList){
92             if(dumped) result.append(", ");
93             result.append(rigid.getRigidName());
94             dumped = true;
95         }
96         result.append(']');
97
98         return result.toString();
99     }
100
101 }