Пример #1
0
void AnimOverlay::buildUpperBodyBoneSet() {
    assert(_skeleton);
    buildEmptyBoneSet();
    int spineJoint = _skeleton->nameToJointIndex("Spine");
    for_each_child_joint(_skeleton, spineJoint, [&](int i) {
        _boneSetVec[i] = 1.0f;
    });
}
Пример #2
0
void AnimOverlay::buildAboveTheHeadBoneSet() {
    assert(_skeleton);
    buildEmptyBoneSet();
    int headJoint = _skeleton->nameToJointIndex("Head");
    for_each_child_joint(_skeleton, headJoint, [&](int i) {
        _boneSetVec[i] = 1.0f;
    });
}
Пример #3
0
void AnimOverlay::buildLeftArmBoneSet() {
    assert(_skeleton);
    buildEmptyBoneSet();
    int leftShoulderJoint = _skeleton->nameToJointIndex("LeftShoulder");
    for_each_child_joint(_skeleton, leftShoulderJoint, [&](int i) {
        _boneSetVec[i] = 1.0f;
    });
}
Пример #4
0
void AnimOverlay::buildRightHandBoneSet() {
    assert(_skeleton);
    buildEmptyBoneSet();
    int handJoint = _skeleton->nameToJointIndex("RightHand");
    for_each_child_joint(_skeleton, handJoint, [&](int i) {
        _boneSetVec[i] = 1.0f;
    });
}
Пример #5
0
void AnimOverlay::buildBothFeetBoneSet() {
    assert(_skeleton);
    buildEmptyBoneSet();
    int rightFoot = _skeleton->nameToJointIndex("RightFoot");
    for_each_child_joint(_skeleton, rightFoot, [&](int i) {
        _boneSetVec[i] = 1.0f;
    });
    int leftFoot = _skeleton->nameToJointIndex("LeftFoot");
    for_each_child_joint(_skeleton, leftFoot, [&](int i) {
        _boneSetVec[i] = 1.0f;
    });
}
Пример #6
0
void AnimOverlay::buildBoneSet(BoneSet boneSet) {
    assert(_skeleton);
    switch (boneSet) {
    case FullBodyBoneSet: buildFullBodyBoneSet(); break;
    case UpperBodyBoneSet: buildUpperBodyBoneSet(); break;
    case LowerBodyBoneSet: buildLowerBodyBoneSet(); break;
    case RightArmBoneSet: buildRightArmBoneSet(); break;
    case LeftArmBoneSet: buildLeftArmBoneSet(); break;
    case AboveTheHeadBoneSet: buildAboveTheHeadBoneSet(); break;
    case BelowTheHeadBoneSet: buildBelowTheHeadBoneSet(); break;
    case HeadOnlyBoneSet: buildHeadOnlyBoneSet(); break;
    case SpineOnlyBoneSet: buildSpineOnlyBoneSet(); break;
    default:
    case EmptyBoneSet: buildEmptyBoneSet(); break;
    }
}
Пример #7
0
void AnimOverlay::buildSpineOnlyBoneSet() {
    assert(_skeleton);
    buildEmptyBoneSet();
    int spineJoint = _skeleton->nameToJointIndex("Spine");
    _boneSetVec[spineJoint] = 1.0f;
}
Пример #8
0
void AnimOverlay::buildHeadOnlyBoneSet() {
    assert(_skeleton);
    buildEmptyBoneSet();
    int headJoint = _skeleton->nameToJointIndex("Head");
    _boneSetVec[headJoint] = 1.0f;
}