4 * License : The MIT License
5 * Copyright(c) 2010 MikuToga Partners
8 package jp.sfjp.mikutoga.pmd.model;
10 import jp.sfjp.mikutoga.corelib.I18nText;
11 import jp.sfjp.mikutoga.math.MkPos3D;
12 import jp.sfjp.mikutoga.pmd.Deg3d;
13 import jp.sfjp.mikutoga.pmd.Rad3d;
14 import jp.sfjp.mikutoga.pmd.TripletRange;
19 public class JointInfo {
21 private final I18nText jointName = new I18nText();
23 private RigidInfo rigidA;
24 private RigidInfo rigidB;
26 private final MkPos3D position = new MkPos3D();
27 private final Rad3d rotation = new Rad3d();
29 private final MkPos3D elaPosition = new MkPos3D();
30 private final Deg3d elaRotation = new Deg3d();
32 private final TripletRange posRange = new TripletRange();
33 private final TripletRange rotRange = new TripletRange();
49 public I18nText getJointName(){
50 return this.jointName;
57 public RigidInfo getRigidA(){
65 public RigidInfo getRigidB(){
71 * @param rigidAArg 連結剛体A
72 * @param rigidBArg 連結剛体B
74 public void setRigidPair(RigidInfo rigidAArg, RigidInfo rigidBArg){
75 this.rigidA = rigidAArg;
76 this.rigidB = rigidBArg;
84 public MkPos3D getPosition(){
92 public Rad3d getRotation(){
100 public MkPos3D getElasticPosition(){
101 return this.elaPosition;
108 public Deg3d getElasticRotation(){
109 return this.elaRotation;
116 public TripletRange getPositionRange(){
117 return this.posRange;
124 public TripletRange getRotationRange(){
125 return this.rotRange;
130 * @return {@inheritDoc}
133 public String toString(){
134 StringBuilder result = new StringBuilder();
136 result.append("Joint ");
137 result.append(this.jointName);
139 .append(this.rigidA.getRigidName())
141 .append(this.rigidB.getRigidName())
143 result.append(this.position).append(' ');
144 result.append(this.rotation).append(' ');
146 result.append("poslim{").append(this.posRange).append("} ");
147 result.append("rotlim{").append(this.rotRange).append("} ");
149 result.append("ela:").append(this.elaPosition).append(' ');
150 result.append("ela:").append(this.elaRotation);
152 return result.toString();