1 package net.sf.josceleton.core.api.entity.joint;
2
3 import java.util.Arrays;
4 import java.util.Collections;
5
6 import net.sf.josceleton.core.api.entity.joint.JointImplProvider.AnklesImpl;
7 import net.sf.josceleton.core.api.entity.joint.JointImplProvider.ElbowsImpl;
8 import net.sf.josceleton.core.api.entity.joint.JointImplProvider.FeetImpl;
9 import net.sf.josceleton.core.api.entity.joint.JointImplProvider.HandsImpl;
10 import net.sf.josceleton.core.api.entity.joint.JointImplProvider.HeadImpl;
11 import net.sf.josceleton.core.api.entity.joint.JointImplProvider.HipsImpl;
12 import net.sf.josceleton.core.api.entity.joint.JointImplProvider.KneesImpl;
13 import net.sf.josceleton.core.api.entity.joint.JointImplProvider.NeckImpl;
14 import net.sf.josceleton.core.api.entity.joint.JointImplProvider.ShouldersImpl;
15 import net.sf.josceleton.core.api.entity.joint.JointImplProvider.TorsoImpl;
16 import net.sf.josceleton.core.api.entity.joint.JointParts.Ankles;
17 import net.sf.josceleton.core.api.entity.joint.JointParts.Elbows;
18 import net.sf.josceleton.core.api.entity.joint.JointParts.Feet;
19 import net.sf.josceleton.core.api.entity.joint.JointParts.Hands;
20 import net.sf.josceleton.core.api.entity.joint.JointParts.Head;
21 import net.sf.josceleton.core.api.entity.joint.JointParts.Hips;
22 import net.sf.josceleton.core.api.entity.joint.JointParts.Knees;
23 import net.sf.josceleton.core.api.entity.joint.JointParts.Neck;
24 import net.sf.josceleton.core.api.entity.joint.JointParts.Shoulders;
25 import net.sf.josceleton.core.api.entity.joint.JointParts.Torso;
26
27
28
29
30
31
32 public final class Joints {
33
34 private static final Head HEAD = new HeadImpl();
35 private static final Neck NECK = new NeckImpl();
36 private static final Torso TORSO = new TorsoImpl();
37 private static final Shoulders SHOULDERS = new ShouldersImpl();
38 private static final Elbows ELBOWS = new ElbowsImpl();
39 private static final Hands HANDS = new HandsImpl();
40 private static final Hips HIPS = new HipsImpl();
41 private static final Knees KNEES = new KneesImpl();
42 private static final Ankles ANKLES = new AnklesImpl();
43 private static final Feet FEET = new FeetImpl();
44
45 private static final Iterable<Joint> ALL_JOINTS;
46 static {
47 ALL_JOINTS = Collections.unmodifiableList(Arrays.asList(
48 HEAD,
49 NECK,
50 TORSO,
51 SHOULDERS.LEFT(), SHOULDERS.RIGHT(),
52 ELBOWS.LEFT(), ELBOWS.RIGHT(),
53 HANDS.LEFT(), HANDS.RIGHT(),
54 HIPS.LEFT(), HIPS.RIGHT(),
55 KNEES.LEFT(), KNEES.RIGHT(),
56 ANKLES.LEFT(), ANKLES.RIGHT(),
57 FEET.LEFT(), FEET.RIGHT()
58 ));
59
60 }
61
62
63 private Joints() {
64
65
66
67 public static Iterable<Joint> values() {
68 return ALL_JOINTS;
69 }
70
71
72
73 public static Head HEAD() { return Joints.HEAD; }
74
75
76 public static Neck NECK() { return Joints.NECK; }
77
78
79 public static Torso TORSO() { return Joints.TORSO; }
80
81
82
83 public static Shoulders SHOULDER() { return Joints.SHOULDERS; }
84
85
86 public static Elbows ELBOW() { return Joints.ELBOWS; }
87
88
89 public static Hands HAND() { return Joints.HANDS; }
90
91
92 public static Hips HIP() { return Joints.HIPS; }
93
94
95 public static Knees KNEE() { return Joints.KNEES; }
96
97
98 public static Ankles ANKLE() { return Joints.ANKLES; }
99
100
101 public static Feet FOOT() { return Joints.FEET; }
102
103 }