OSDN Git Service

checkstyle対応
[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     /** 剛体グループ総数。 */
21     public static final int MAX_RIGID_GROUP = 16;
22
23
24     private final List<RigidInfo> rigidList = new ArrayList<RigidInfo>();
25
26     private int rigidGroupSerialNo = -1;
27
28
29     /**
30      * コンストラクタ。
31      */
32     public RigidGroup(){
33         super();
34         return;
35     }
36
37
38     /**
39      * 所属する剛体のリストを返す。
40      * @return 剛体リスト
41      */
42     public List<RigidInfo> getRigidList(){
43         return this.rigidList;
44     }
45
46     /**
47      * {@inheritDoc}
48      * @return {@inheritDoc}
49      */
50     @Override
51     public Iterator<RigidInfo> iterator(){
52         return this.rigidList.iterator();
53     }
54
55     /**
56      * {@inheritDoc}
57      * @param num {@inheritDoc}
58      */
59     @Override
60     public void setSerialNumber(int num){
61         this.rigidGroupSerialNo = num;
62         return;
63     }
64
65     /**
66      * {@inheritDoc}
67      * @return {@inheritDoc}
68      */
69     @Override
70     public int getSerialNumber(){
71         return this.rigidGroupSerialNo;
72     }
73
74     /**
75      * グループ番号を返す。
76      * MMDでは1〜16までが使われる。
77      * 通し番号に1を加えた値と等しい。
78      * @return グループ番号
79      */
80     public int getGroupNumber(){
81         return this.rigidGroupSerialNo + 1;
82     }
83
84     /**
85      * {@inheritDoc}
86      * @return {@inheritDoc}
87      */
88     @Override
89     public String toString(){
90         StringBuilder result = new StringBuilder();
91
92         result.append("RigidGroup(").append(getGroupNumber()).append(") [");
93
94         boolean dumped;
95
96         dumped = false;
97         for(RigidInfo rigid : this.rigidList){
98             if(dumped) result.append(", ");
99             result.append(rigid.getRigidName());
100             dumped = true;
101         }
102         result.append(']');
103
104         return result.toString();
105     }
106
107 }