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; }
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); }
public BonePartsValue(SkeletonMarkers firstMarker, SkeletonMarkers secondMarker) { _marker1 = firstMarker; _marker2 = secondMarker; }
public Vector3 GetPositionOf(SkeletonMarkers marker) { int i = (int)marker; return(new Vector3(_points[i * 3], _points[i * 3 + 1], _points[i * 3 + 2])); }