示例#1
0
        void _control_Animation_FixedBoneChanged(object sender, FixedBoneChangeEventArgs e)
        {
            //Recalculate animation....
            int[] animationOrder = _acf.getAnimationOrder();
            int   numFrames      = _acf.NumberStepsPerPositionChange;

            SetupWristDistancesForAnimation(e.BoneIndex, animationOrder, numFrames, (double)_acf.DistanceMapMaximumValue, _acf.GetContourDistancesToCalculate(), _acf.GetContourColorsToCalculate());
            _fullWrist.SetupWristForAnimation(e.BoneIndex, animationOrder, numFrames);
            updateAnimationFrame(); //make certain we are on the correct frame...
        }
示例#2
0
        void _wristControl_FixedBoneChanged(object sender, FixedBoneChangeEventArgs e)
        {
            //check for existing inverse swtich
            if (_currentRelativeBoneInverseSwitch != null)
            {
                _root.removeChild(_currentRelativeBoneInverseSwitch);
                _currentRelativeBoneInverseSwitch = null;
            }

            //if this is the 0 index bone, then we don't do anything :)
            if (e.BoneIndex == 0)
            {
                return;
            }

            //now lets add in the new one.
            _root.insertNode(_inverseTransformsSwitch[e.BoneIndex], 0);
            _currentRelativeBoneInverseSwitch = _inverseTransformsSwitch[e.BoneIndex];
            int currentFrame = _animationControl.currentFrame;

            _currentRelativeBoneInverseSwitch.whichChild(currentFrame);
        }
示例#3
0
 void _control_FixedBoneChanged(object sender, FixedBoneChangeEventArgs e)
 {
     _fixedBoneIndex = e.BoneIndex;
     _fullXromm.SetToPositionAndFixedBoneAndTrial(_animationControl.currentFrame, _fixedBoneIndex, _currentTrialIndex);
 }
示例#4
0
 void _control_FixedBoneChanged(object sender, FixedBoneChangeEventArgs e)
 {
     MoveToPosition(_currentPositionIndex, e.BoneIndex);
 }