OSDN Git Service

1.105.3-SNAPSHOT版開発開始
[mikutoga/TogaGem.git] / src / main / java / jp / sourceforge / mikutoga / pmd / RigidInfo.java
index b734602..7f22adf 100644 (file)
-/*\r
- * rigid information\r
- *\r
- * License : The MIT License\r
- * Copyright(c) 2010 MikuToga Partners\r
- */\r
-\r
-package jp.sourceforge.mikutoga.pmd;\r
-\r
-import java.util.ArrayList;\r
-import java.util.Collection;\r
-import jp.sourceforge.mikutoga.corelib.I18nText;\r
-import jp.sourceforge.mikutoga.corelib.SerialNumbered;\r
-\r
-/**\r
- * 個別の剛体の情報。\r
- */\r
-public class RigidInfo implements SerialNumbered {\r
-\r
-    private final I18nText rigidName = new I18nText();\r
-\r
-    private RigidBehaviorType behaviorType = RigidBehaviorType.FOLLOWBONE;\r
-\r
-    private final RigidShape rigidShape = new RigidShape();\r
-    private final Pos3d position = new Pos3d();\r
-    private final Rad3d rotation = new Rad3d();\r
-\r
-    private BoneInfo linkedBone;\r
-\r
-    private final DynamicsInfo dynamicsInfo = new DynamicsInfo();\r
-\r
-    private final Collection<RigidGroup> throughGroupColl =\r
-            new ArrayList<RigidGroup>();\r
-\r
-    private RigidGroup rigidGroup;\r
-\r
-    private int serialNo = -1;\r
-\r
-    /**\r
-     * コンストラクタ。\r
-     */\r
-    public RigidInfo(){\r
-        super();\r
-        return;\r
-    }\r
-\r
-    /**\r
-     * 剛体名を返す。\r
-     * @return 剛体名\r
-     */\r
-    public I18nText getRigidName(){\r
-        return this.rigidName;\r
-    }\r
-\r
-    /**\r
-     * 剛体の振る舞い種別を返す。\r
-     * @return 剛体の振る舞い種別\r
-     */\r
-    public RigidBehaviorType getBehaviorType(){\r
-        return this.behaviorType;\r
-    }\r
-\r
-    /**\r
-     * 剛体の振る舞い種別を設定する。\r
-     * @param type 剛体の振る舞い種別。\r
-     * @throws NullPointerException 引数がnull\r
-     */\r
-    public void setBehaviorType(RigidBehaviorType type)\r
-            throws NullPointerException{\r
-        if(type == null) throw new NullPointerException();\r
-        this.behaviorType = type;\r
-        return;\r
-    }\r
-\r
-    /**\r
-     * 剛体形状を返す。\r
-     * @return 剛体形状\r
-     */\r
-    public RigidShape getRigidShape(){\r
-        return this.rigidShape;\r
-    }\r
-\r
-    /**\r
-     * 剛体位置を返す。\r
-     * @return 剛体位置\r
-     */\r
-    public Pos3d getPosition(){\r
-        return this.position;\r
-    }\r
-\r
-    /**\r
-     * 剛体姿勢を返す。\r
-     * @return 剛体姿勢\r
-     */\r
-    public Rad3d getRotation(){\r
-        return this.rotation;\r
-    }\r
-\r
-    /**\r
-     * 接続ボーンを返す。\r
-     * @return 接続ボーン\r
-     */\r
-    public BoneInfo getLinkedBone(){\r
-        return this.linkedBone;\r
-    }\r
-\r
-    /**\r
-     * 接続ボーンを設定する。\r
-     * @param bone 接続ボーン\r
-     */\r
-    public void setLinkedBone(BoneInfo bone){\r
-        this.linkedBone = bone;\r
-        return;\r
-    }\r
-\r
-    /**\r
-     * 剛体の力学パラメータを返す。\r
-     * @return 力学パラメータ\r
-     */\r
-    public DynamicsInfo getDynamicsInfo(){\r
-        return this.dynamicsInfo;\r
-    }\r
-\r
-    /**\r
-     * 非衝突グループ集合を返す。\r
-     * @return 非衝突グループ集合\r
-     */\r
-    public Collection<RigidGroup> getThroughGroupColl(){\r
-        return this.throughGroupColl;\r
-    }\r
-\r
-    /**\r
-     * 所属する剛体グループを返す。\r
-     * @return 所属する剛体グループ\r
-     */\r
-    public RigidGroup getRigidGroup(){\r
-        return this.rigidGroup;\r
-    }\r
-\r
-    /**\r
-     * 所属する剛体グループを設定する。\r
-     * @param group 所属する剛体グループ\r
-     */\r
-    public void setRigidGroup(RigidGroup group){\r
-        this.rigidGroup = group;\r
-        return;\r
-    }\r
-\r
-    /**\r
-     * {@inheritDoc}\r
-     * @param num {@inheritDoc}\r
-     */\r
-    public void setSerialNumber(int num){\r
-        this.serialNo = num;\r
-        return;\r
-    }\r
-\r
-    /**\r
-     * {@inheritDoc}\r
-     * @return {@inheritDoc}\r
-     */\r
-    public int getSerialNumber(){\r
-        return this.serialNo;\r
-    }\r
-\r
-    /**\r
-     * {@inheritDoc}\r
-     * @return {@inheritDoc}\r
-     */\r
-    @Override\r
-    public String toString(){\r
-        StringBuilder result = new StringBuilder();\r
-\r
-        result.append("Rigid(").append(this.rigidName).append(") ");\r
-        result.append("[=>")\r
-              .append(this.linkedBone.getBoneName())\r
-              .append("bone]");\r
-        result.append(" [").append(this.rigidShape).append("]");\r
-        result.append(" ").append(this.position);\r
-        result.append(" ").append(this.rotation);\r
-        result.append(" [").append(this.dynamicsInfo).append("]");\r
-        result.append("  [").append(this.behaviorType).append("]");\r
-\r
-        result.append(" through[");\r
-        boolean dumped = false;\r
-        for(RigidGroup group : this.throughGroupColl){\r
-            if(dumped) result.append(" ");\r
-            result.append(group.getGroupNumber());\r
-            dumped = true;\r
-        }\r
-        result.append("]");\r
-\r
-        return result.toString();\r
-    }\r
-\r
-}\r
+/*
+ * rigid information
+ *
+ * License : The MIT License
+ * Copyright(c) 2010 MikuToga Partners
+ */
+
+package jp.sourceforge.mikutoga.pmd;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import jp.sourceforge.mikutoga.corelib.I18nText;
+import jp.sourceforge.mikutoga.corelib.SerialNumbered;
+
+/**
+ * 個別の剛体の情報。
+ */
+public class RigidInfo implements SerialNumbered {
+
+    private final I18nText rigidName = new I18nText();
+
+    private RigidBehaviorType behaviorType = RigidBehaviorType.FOLLOWBONE;
+
+    private final RigidShape rigidShape = new RigidShape();
+    private final Pos3d position = new Pos3d();
+    private final Rad3d rotation = new Rad3d();
+
+    private BoneInfo linkedBone;
+
+    private final DynamicsInfo dynamicsInfo = new DynamicsInfo();
+
+    private final Collection<RigidGroup> throughGroupColl =
+            new ArrayList<RigidGroup>();
+
+    private RigidGroup rigidGroup;
+
+    private int serialNo = -1;
+
+    /**
+     * コンストラクタ。
+     */
+    public RigidInfo(){
+        super();
+        return;
+    }
+
+    /**
+     * 剛体名を返す。
+     * @return 剛体名
+     */
+    public I18nText getRigidName(){
+        return this.rigidName;
+    }
+
+    /**
+     * 剛体の振る舞い種別を返す。
+     * @return 剛体の振る舞い種別
+     */
+    public RigidBehaviorType getBehaviorType(){
+        return this.behaviorType;
+    }
+
+    /**
+     * 剛体の振る舞い種別を設定する。
+     * @param type 剛体の振る舞い種別。
+     * @throws NullPointerException 引数がnull
+     */
+    public void setBehaviorType(RigidBehaviorType type)
+            throws NullPointerException{
+        if(type == null) throw new NullPointerException();
+        this.behaviorType = type;
+        return;
+    }
+
+    /**
+     * 剛体形状を返す。
+     * @return 剛体形状
+     */
+    public RigidShape getRigidShape(){
+        return this.rigidShape;
+    }
+
+    /**
+     * 剛体位置を返す。
+     * @return 剛体位置
+     */
+    public Pos3d getPosition(){
+        return this.position;
+    }
+
+    /**
+     * 剛体姿勢を返す。
+     * @return 剛体姿勢
+     */
+    public Rad3d getRotation(){
+        return this.rotation;
+    }
+
+    /**
+     * 接続ボーンを返す。
+     * @return 接続ボーン
+     */
+    public BoneInfo getLinkedBone(){
+        return this.linkedBone;
+    }
+
+    /**
+     * 接続ボーンを設定する。
+     * @param bone 接続ボーン
+     */
+    public void setLinkedBone(BoneInfo bone){
+        this.linkedBone = bone;
+        return;
+    }
+
+    /**
+     * 剛体の力学パラメータを返す。
+     * @return 力学パラメータ
+     */
+    public DynamicsInfo getDynamicsInfo(){
+        return this.dynamicsInfo;
+    }
+
+    /**
+     * 非衝突グループ集合を返す。
+     * @return 非衝突グループ集合
+     */
+    public Collection<RigidGroup> getThroughGroupColl(){
+        return this.throughGroupColl;
+    }
+
+    /**
+     * 所属する剛体グループを返す。
+     * @return 所属する剛体グループ
+     */
+    public RigidGroup getRigidGroup(){
+        return this.rigidGroup;
+    }
+
+    /**
+     * 所属する剛体グループを設定する。
+     * @param group 所属する剛体グループ
+     */
+    public void setRigidGroup(RigidGroup group){
+        this.rigidGroup = group;
+        return;
+    }
+
+    /**
+     * {@inheritDoc}
+     * @param num {@inheritDoc}
+     */
+    @Override
+    public void setSerialNumber(int num){
+        this.serialNo = num;
+        return;
+    }
+
+    /**
+     * {@inheritDoc}
+     * @return {@inheritDoc}
+     */
+    @Override
+    public int getSerialNumber(){
+        return this.serialNo;
+    }
+
+    /**
+     * {@inheritDoc}
+     * @return {@inheritDoc}
+     */
+    @Override
+    public String toString(){
+        StringBuilder result = new StringBuilder();
+
+        String boneName;
+        if(this.linkedBone == null){
+            boneName = "NOBONE";
+        }else{
+            boneName = this.linkedBone.getBoneName().toString();
+        }
+
+        result.append("Rigid(").append(this.rigidName).append(") ");
+        result.append("[=>")
+              .append(boneName)
+              .append("bone]");
+        result.append(" [").append(this.rigidShape).append("]");
+        result.append(" ").append(this.position);
+        result.append(" ").append(this.rotation);
+        result.append(" [").append(this.dynamicsInfo).append("]");
+        result.append("  [").append(this.behaviorType).append("]");
+
+        result.append(" through[");
+        boolean dumped = false;
+        for(RigidGroup group : this.throughGroupColl){
+            if(dumped) result.append(" ");
+            result.append(group.getGroupNumber());
+            dumped = true;
+        }
+        result.append("]");
+
+        return result.toString();
+    }
+
+}