コード例 #1
0
 public AbsoluteSkeletonBinding(
     ISkeletonInput input,
     Configuration.InputValueHandle handle,
     SkeletonMarkers trackedJoint,
     SkeletonMarkers?relativePositionToJoint,
     BindingAxis axis,
     float offset,
     float sensitivity)
     : base(handle, offset, sensitivity)
 {
     this._input            = input;
     _trackedJoint          = trackedJoint;
     _baseJoint             = relativePositionToJoint;
     _axis                  = axis;
     _event_handler         = new EventHandler <SkeletonChangedEventArgs>(_input_assign_position);
     _analyzer_handler      = new EventHandler <SkeletonChangedEventArgs>(_analyzer_handle);
     input.SkeletonChanged += _event_handler;
     input.SkeletonChanged += _analyzer_handler;
 }
コード例 #2
0
        private InputBinding ConfigureAbsoluteSkeleton(XPathNavigator navigator, XPathNodeIterator bindingIt,
                                                       AbsoluteSkeletonBinding.BindingAxis axis, string point, float zeroAngle, float sensitivity, ISkeletonInput input)
        {
            XPathNodeIterator sb1 = bindingIt.Current.Select("skeleton/trackedJoint");
            XPathNodeIterator sb2 = bindingIt.Current.Select("skeleton/baseJoint");

            if (sb1.Count > 0)
            {
                sb1.MoveNext();
                SkeletonMarkers trackedJoint = (SkeletonMarkers)Enum.Parse(typeof(SkeletonMarkers), sb1.Current.Value);
                if (sb2.Count > 0)
                {
                    sb2.MoveNext();
                    SkeletonMarkers?baseJoint = (SkeletonMarkers)Enum.Parse(typeof(SkeletonMarkers), sb2.Current.Value);
                    return(new AbsoluteSkeletonBinding(input, Configuration.GetHandle(point), trackedJoint, baseJoint, axis, zeroAngle, sensitivity));
                }
                return(new AbsoluteSkeletonBinding(input, Configuration.GetHandle(point), trackedJoint, null, axis, zeroAngle, sensitivity));
            }
            return(null);
        }
コード例 #3
0
 public BonePartsValue(SkeletonMarkers firstMarker, SkeletonMarkers secondMarker)
 {
     _marker1 = firstMarker;
     _marker2 = secondMarker;
 }
コード例 #4
0
        public Vector3 GetPositionOf(SkeletonMarkers marker)
        {
            int i = (int)marker;

            return(new Vector3(_points[i * 3], _points[i * 3 + 1], _points[i * 3 + 2]));
        }