| java.lang.Object com.db.hanim.GestureLevelsOfAnimation
GestureLevelsOfAnimation | final public class GestureLevelsOfAnimation (Code) | | This class is to implement a GestureLevelsOfAnimation checker. Basically, given a humanoid, it ouputs an integer that gives the level of compliance of this humanoid against a standard pre-defined set of Joints and Sites. This integer ranges from -1 to 3, -1 meaning that it does not comply with any level of animation. This is feature that did not exist in H-Anim specification but we felt it would be useful if implemented. It's behavior is similar to HAnimLevelsOfAnimation. See also HAnimLevelsOfAnimation for compliance of humanoids against the same set of pre-defined Joints and Sites.
Please read the H-Anim specification for more information.
Please note that there is a problem in H-Anim with sites since:
1. a H-Anim level 1 compatible avatar should contain:
l_middistal_tip, r_middistal_tip, l_hand_tip, r_hand_tip (among others)
2. a H-Anim level 2 compatible avatar should contain:
l_forefoot_tip, r_forefoot_tip, l_middle_distal_tip, r_middle_distal_tip (among others)
but not the four Sites given in 1.
This is a problem since levels of articulation are given in ascendant order
however, l_middistal_tip is just the same name for l_forefoot_tip (and so on for the other three).
Therefore we assume that an avatar is level 1 compatible if it contains either of each pair
(both of a pair could be considered as an error but we assume that users won't use both)
(same conditions applies for higher order levels).
The following joints are not included in the loa also they are defined by H-Anim
it is assumed they are level 4 (all non standard joints):
Joint.l_eyelid_joint;
Joint.r_eyelid_joint;
Joint.l_eyebrow_joint;
Joint.r_eyebrow_joint;
Joint.temporomandibular;
Joint.NonStandard;
author: Silvere Martin-Michiellot version: 1.1 |
definedJoints | static boolean[] definedJoints(Code) | | |
loa0Jointsloa1Jointsloa2Jointsloa3Jointsloa4Joints | static int loa0Jointsloa1Jointsloa2Jointsloa3Jointsloa4Joints(Code) | | |
loaJointsTable | static int[] loaJointsTable(Code) | | |
GestureLevelsOfAnimation | public GestureLevelsOfAnimation()(Code) | | Construct a new GestureLevelsOfAnimation. This class has only to be instanciated once.
|
getLevelOfCompatibility | public static int getLevelOfCompatibility(Gesture gesture)(Code) | | Gets the int level of compatibility of this gesture. See com.db.hanim.HAnimLevelsOfAnimation for more details.
There must be at least one Position, Rotation, Rotation & Position Interpolator for each Joint
defined in a Level Of Animation for the Gesture to be of that Level Of Animation.
There is no check about the duration of any Interpolator.
Parameters: gesture - the Gesture to check the level of compatibility the int from -1 to 3 certifying corresponding level of compatibility |
|
|