Aracılığıyla paylaş


FingerPose Sınıf

Tanım

Bir parmak alt kümesinin esnekliğini ve yönünü gösteren bir kısıtlamayı temsil eder.

public class FingerPose : Microsoft.Gestures.HandPartPose<Microsoft.Gestures.FingersContext>
Devralma

Açıklamalar

FingerPose Kısıtlama, özelliği tarafından tanımlanan bir parmak kümesini ifade eder, özellik tarafından Context tanımlandığı gibi bu parmakların yönünü ve özelliği tarafından DirectionFlexion tanımlandığı şekilde esneklik durumlarını (bir parmağın açık veya katlanma derecesi) belirtir. Direction Değer olarak Undefinedayarlandığında, kısıtlamanın içinde bahsedilen Contextparmaklar için yön kısıtlaması olmadığını unutmayın.

Aşağıdaki kod, hem dizin hem de başparmak parmakları açıkken ve ileriye dönük olduğunda gerçekleştirilir tek FingerPose bir kısıtlamaya sahip olan öğesini HandPose tanımlar:

var myPose = new HandPose("MyPose", new FingerPose(new[] {Finger.Index, Finger.Thumb}, FingerFlexion.Open, PoseDirection.Forward));

FingerPose Yukarıdaki örnekteki kısıtlama yalnızca dizin ve başparmak parmaklarının pozunu kısıtlar. Kamera, dizin ve başparmak parmakları açık olan ve ileriyi gösteren bir el görür görmez, diğer parmakların Gesture durumundan bağımsız olarak, kapsayan nesnenin durum makinesi konumuna myPoseilerleyebilir. Genelleştirmek için, bir öğesine katılmayan Context tüm parmaklar herhangi bir FingerPose esneklik durumunu kabul etmek ve herhangi bir yönde işaret etmek için serbesttir (farklı FingerPose bir örnek tarafından kısıtlanmadığı sürece).

(veya FoldedTucked) değerine ve paralel olarak dışında Undefined bir değere sahip bir DirectionFlexion kısıtlama belirtmenin FingerPoseFolded uygun olmadığını unutmayın. Bunun nedeni, katlanmış bir parmağın belirli bir yöne işaret ettiği anlamlı bir şekilde söylenememesidir. Buna ek olarak, katlanmış parmak uçlarının kameradan gizlenme olasılığı çok yüksektir ve bu da yönlerinin tahmini değerlerini güvenilmez hale getirir.

İçeren FingerPoseGesture nesne hareket çalışma zamanına kaydedilene kadar örneklerin değiştirilebilir olduğunu ve bu noktada dondurulduğunu ve artık değiştirilemeyeceğini unutmayın.

Oluşturucular

FingerPose()

Boş FingerPose bir kısıtlama oluşturur. Anlamlı bir kısıtlama elde etmek için veDirection\veya Flexion değerlerinin Contextel ile ayarlanması gerekir.

FingerPose(Finger, FingerFlexion, PoseDirection)

Belirtilen flexion duruma ulaşılması ve ile directionhizalanması gereken finger yeni FingerPose bir kısıtlama oluşturur.

FingerPose(Finger, PoseDirection)

ile directionhizalanması gereken finger yeni FingerPose bir kısıtlama oluşturur.

FingerPose(FingersContext, FingerFlexion, PoseDirection)

Belirtilen flexion duruma ulaşmak ve verilen directionile hizalanması için tarafından fingersContext belirtilen parmaklar gerektiren yeni FingerPose bir kısıtlama oluşturur. bağımsız değişkeni için bir AnyFingerContext geçirildiğinde, sonuçta elde edilen kısıtlama ve directionile flexion uyumlu olması için en az bir parmağın belirtilmesi fingersContextfingersContext gerekir.

FingerPose(FingersContext, PoseDirection)

ile belirtilen parmaklarının fingersContext ile directionhizalanması gereken yeni FingerPose bir kısıtlama oluşturur. bağımsız değişkeni için bir AnyFingerContext geçirildiğinde, sonuçta elde edilen kısıtlamada belirtilen fingersContext en az bir parmağın ile directionhizalanması fingersContext gerekir.

FingerPose(IEnumerable<Finger>, FingerFlexion, PoseDirection)

Belirtilen flexion duruma ulaşmak ve verilen ile directionuyumlu hale getirmek için verilen fingers her birini gerektiren yeni FingerPose bir kısıtlama oluşturur.

FingerPose(IEnumerable<Finger>, PoseDirection)

Verilen fingers her birinin ile directionhizalanması gereken yeni FingerPose bir kısıtlama oluşturur.

Alanlar

DefaultPoseDirection

Bir parmak alt kümesinin esnekliğini ve yönünü gösteren bir kısıtlamayı temsil eder.

(Devralındığı yer: HandPartPose<ContextType>)

Özellikler

Context

Bu kısıtlamanın elin hangi bölümlerine başvurduğu gösterir: , AnyHandContext ya da AllHandsContextSingleHandContextbir PalmPose kısıtlama ve ya da AnyFingerContextSingleFingerContextAllFingersContext bir kısıtlama içinFingerPose.

(Devralındığı yer: HandPartPose<ContextType>)
Direction

Bu el kısmının yönü: Bir durumunda avuç içi normal veya bir PalmPose durumunda FingerPoseparmaklarının işaret ettiği yön.

(Devralındığı yer: HandPartPose<ContextType>)
Flexion

FingerFlexion tarafından Contextbelirtilen parmaklarla ilişkilendirilecek durumu (bir parmağın açık veya katlanmış olma derecesi) belirtir.

IsFrozen

Bir parmak alt kümesinin esnekliğini ve yönünü gösteren bir kısıtlamayı temsil eder.

(Devralındığı yer: GesturesFrameworkObject)

Yöntemler

CalculateHashCode()

Bir parmak alt kümesinin esnekliğini ve yönünü gösteren bir kısıtlamayı temsil eder.

DeepFreeze()

Bir parmak alt kümesinin esnekliğini ve yönünü gösteren bir kısıtlamayı temsil eder.

(Devralındığı yer: HandPartPose<ContextType>)
Equals(Object)

Bir parmak alt kümesinin esnekliğini ve yönünü gösteren bir kısıtlamayı temsil eder.

(Devralındığı yer: GesturesFrameworkObject)
EqualsInternal(Object)

Bir parmak alt kümesinin esnekliğini ve yönünü gösteren bir kısıtlamayı temsil eder.

Freeze()

Bir parmak alt kümesinin esnekliğini ve yönünü gösteren bir kısıtlamayı temsil eder.

(Devralındığı yer: GesturesFrameworkObject)
GetHashCode()

Bir parmak alt kümesinin esnekliğini ve yönünü gösteren bir kısıtlamayı temsil eder.

(Devralındığı yer: GesturesFrameworkObject)
ToString()

Bu FingerPose kısıtlamanın bir String gösterimini döndürür.

ValidateCore()

Bir parmak alt kümesinin esnekliğini ve yönünü gösteren bir kısıtlamayı temsil eder.

VerifyNotFrozen(String)

Bir parmak alt kümesinin esnekliğini ve yönünü gösteren bir kısıtlamayı temsil eder.

(Devralındığı yer: GesturesFrameworkObject)

Belirtik Arabirim Kullanımları

IValidatable.Validate()

Bir parmak alt kümesinin esnekliğini ve yönünü gösteren bir kısıtlamayı temsil eder.

(Devralındığı yer: GesturesFrameworkObject)

Şunlara uygulanır