159b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta/* 259b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta * To change this template, choose Tools | Templates 359b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta * and open the template in the editor. 459b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta */ 559b2e6871c65f58fdad78cd7229c292f6a177578Scott Bartapackage com.jme3.bullet.control.ragdoll; 659b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta 759b2e6871c65f58fdad78cd7229c292f6a177578Scott Bartaimport com.jme3.math.FastMath; 859b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta 959b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta/** 1059b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta * 1159b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta * @author Nehon 1259b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta */ 1359b2e6871c65f58fdad78cd7229c292f6a177578Scott Bartapublic class HumanoidRagdollPreset extends RagdollPreset { 1459b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta 1559b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta @Override 1659b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta protected void initBoneMap() { 1759b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta boneMap.put("head", new JointPreset(FastMath.QUARTER_PI, -FastMath.QUARTER_PI, FastMath.QUARTER_PI, -FastMath.QUARTER_PI, FastMath.QUARTER_PI, -FastMath.QUARTER_PI)); 1859b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta 1959b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta boneMap.put("torso", new JointPreset(FastMath.QUARTER_PI, -FastMath.QUARTER_PI, 0, 0, FastMath.QUARTER_PI, -FastMath.QUARTER_PI)); 2059b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta 2159b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta boneMap.put("upperleg", new JointPreset(FastMath.PI, -FastMath.QUARTER_PI, FastMath.QUARTER_PI/2, -FastMath.QUARTER_PI/2, FastMath.QUARTER_PI, -FastMath.QUARTER_PI)); 2259b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta 2359b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta boneMap.put("lowerleg", new JointPreset(0, -FastMath.PI, 0, 0, 0, 0)); 2459b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta 2559b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta boneMap.put("foot", new JointPreset(0, -FastMath.QUARTER_PI, FastMath.QUARTER_PI, -FastMath.QUARTER_PI, FastMath.QUARTER_PI, -FastMath.QUARTER_PI)); 2659b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta 2759b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta boneMap.put("upperarm", new JointPreset(FastMath.HALF_PI, -FastMath.QUARTER_PI, 0, 0, FastMath.HALF_PI, -FastMath.QUARTER_PI)); 2859b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta 2959b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta boneMap.put("lowerarm", new JointPreset(FastMath.HALF_PI, 0, 0, 0, 0, 0)); 3059b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta 3159b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta boneMap.put("hand", new JointPreset(FastMath.QUARTER_PI, -FastMath.QUARTER_PI, FastMath.QUARTER_PI, -FastMath.QUARTER_PI, FastMath.QUARTER_PI, -FastMath.QUARTER_PI)); 3259b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta 3359b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta } 3459b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta 3559b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta @Override 3659b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta protected void initLexicon() { 3759b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta LexiconEntry entry = new LexiconEntry(); 3859b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta entry.addSynonym("head", 100); 3959b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta lexicon.put("head", entry); 4059b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta 4159b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta entry = new LexiconEntry(); 4259b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta entry.addSynonym("torso", 100); 4359b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta entry.addSynonym("chest", 100); 4459b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta entry.addSynonym("spine", 45); 4559b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta entry.addSynonym("high", 25); 4659b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta lexicon.put("torso", entry); 4759b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta 4859b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta entry = new LexiconEntry(); 4959b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta entry.addSynonym("upperleg", 100); 5059b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta entry.addSynonym("thigh", 100); 5159b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta entry.addSynonym("hip", 75); 5259b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta entry.addSynonym("leg", 40); 5359b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta entry.addSynonym("high", 10); 5459b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta entry.addSynonym("up", 15); 5559b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta entry.addSynonym("upper", 15); 5659b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta lexicon.put("upperleg", entry); 5759b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta 5859b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta entry = new LexiconEntry(); 5959b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta entry.addSynonym("lowerleg", 100); 6059b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta entry.addSynonym("calf", 100); 6159b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta entry.addSynonym("knee", 75); 6259b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta entry.addSynonym("leg", 50); 6359b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta entry.addSynonym("low", 10); 6459b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta entry.addSynonym("lower", 10); 6559b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta lexicon.put("lowerleg", entry); 6659b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta 6759b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta entry = new LexiconEntry(); 6859b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta entry.addSynonym("foot", 100); 6959b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta entry.addSynonym("ankle", 75); 7059b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta lexicon.put("foot", entry); 7159b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta 7259b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta 7359b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta entry = new LexiconEntry(); 7459b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta entry.addSynonym("upperarm", 100); 7559b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta entry.addSynonym("humerus", 100); 7659b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta entry.addSynonym("shoulder", 50); 7759b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta entry.addSynonym("arm", 40); 7859b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta entry.addSynonym("high", 10); 7959b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta entry.addSynonym("up", 15); 8059b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta entry.addSynonym("upper", 15); 8159b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta lexicon.put("upperarm", entry); 8259b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta 8359b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta entry = new LexiconEntry(); 8459b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta entry.addSynonym("lowerarm", 100); 8559b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta entry.addSynonym("ulna", 100); 8659b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta entry.addSynonym("elbow", 75); 8759b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta entry.addSynonym("arm", 50); 8859b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta entry.addSynonym("low", 10); 8959b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta entry.addSynonym("lower", 10); 9059b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta lexicon.put("lowerarm", entry); 9159b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta 9259b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta entry = new LexiconEntry(); 9359b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta entry.addSynonym("hand", 100); 9459b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta entry.addSynonym("fist", 100); 9559b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta entry.addSynonym("wrist", 75); 9659b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta lexicon.put("hand", entry); 9759b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta 9859b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta } 9959b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta} 100