Algı simülasyonu
Uygulamanız için otomatik bir test oluşturmak istiyor musunuz? Testlerinizin bileşen düzeyinde birim testinin ötesine geçmesini ve uygulamanızı gerçekten uçtan uca alıştırmasını mı istiyorsunuz? Algı Simülasyonu aradığınız şey. Algı Benzetimi kitaplığı, testlerinizi otomatikleştirebilmeniz için uygulamanıza insan ve dünya giriş verileri gönderir. Örneğin, belirli, tekrarlanabilir bir konuma bakan bir insanın girişinin benzetimini yapabilir ve ardından bir hareket veya hareket denetleyicisi kullanabilirsiniz.
Algı Simülasyonu fiziksel bir HoloLens, HoloLens öykünücüsü (ilk nesil), HoloLens 2 Öykünücüsü veya Karma Gerçeklik Portalı yüklü bir bilgisayara bunun gibi sanal girişler gönderebilir. Algı Simülasyonu, Karma Gerçeklik bir cihazdaki canlı algılayıcıları atlar ve cihazda çalışan uygulamalara sanal giriş gönderir. Uygulamalar bu giriş olaylarını her zaman kullandıkları API'ler aracılığıyla alır ve gerçek algılayıcılarla çalıştırma ile Algı Simülasyonu arasındaki farkı anlayamaz. Algı Simülasyonu, HoloLens öykünücüleri tarafından HoloLens Sanal Makinesine sanal giriş göndermek için kullanılan teknolojiyle aynıdır.
Kodunuzda benzetimi kullanmaya başlamak için bir IPerceptionSimulationManager nesnesi oluşturarak başlayın. Bu nesneden, baş konumu, el konumu ve hareketler de dahil olmak üzere sanal bir "insanın" özelliklerini denetlemek için komutlar gönderebilirsiniz. Hareket denetleyicilerini etkinleştirebilir ve işleyebilirsiniz.
Algı Benzetimi için Visual Studio Projesi Ayarlama
HoloLens öykünücüsünüzü geliştirme bilgisayarınıza yükleyin. Öykünücü, Algı Benzetimi için kullandığınız kitaplıkları içerir.
Yeni bir Visual Studio C# masaüstü projesi oluşturun (Konsol Projesi başlamak için harika çalışır).
Aşağıdaki ikili dosyaları projenize başvuru olarak ekleyin (Project-Add-Reference>>...). Bunları HoloLens 2 Öykünücüsü için %ProgramFiles(x86)%\Microsoft XDE\10.0.18362.0 gibi %ProgramFiles(x86)%\Microsoft XDE\(sürüm) içinde bulabilirsiniz.
Not
İkili dosyalar HoloLens 2 Öykünücüsünün bir parçası olsa da, masaüstündeki Windows Mixed Reality için de çalışır.)
a. PerceptionSimulationManager.Interop.dll - Algı Benzetimi için yönetilen C# sarmalayıcı.
b. PerceptionSimulationRest.dll - HoloLens veya öykünücüye web yuvası iletişim kanalı ayarlamak için kitaplık.
c. SimulationStream.Interop.dll - Simülasyon için paylaşılan türler.Uygulama ikili PerceptionSimulationManager.dll projenize ekleme
a. önce bunu projeye ikili olarak ekleyin (Project-Add-Existing>> Item...). Proje kaynak klasörünüze kopyalamaması için bağlantı olarak kaydedin.
b. Ardından derlemedeki çıkış klasörünüzde kopyalandıklarınızdan emin olun. Bu, ikilinin özellik sayfasındadır.
Etkin çözüm platformunuzu x64 olarak ayarlayın. (Henüz yoksa x64 için platform girdisi oluşturmak üzere Configuration Manager kullanın.)
IPerceptionSimulation Manager Nesnesi Oluşturma
Benzetimi denetlemek için bir IPerceptionSimulationManager nesnesinden alınan nesnelere güncelleştirmeler yapacaksınız. İlk adım, bu nesneyi almak ve hedef cihazınıza veya öykünücünüze bağlamaktır. Araç çubuğundaki Cihaz Portalı düğmesine tıklayarak öykünücünüzün IP adresini alabilirsiniz
Cihaz Portalını Aç: Öykünücüde HoloLens işletim sistemi için Windows Cihaz Portalı'nı açın. Windows Mixed Reality için bu, Ayarlar uygulamasında "Güncelleştirme & Güvenliği" altında, ardından "Cihaz Portalını Etkinleştir" altındaki "Kullanarak bağlan:" bölümünde "Geliştiriciler için" bölümünden alınabilir. Hem IP adresini hem de bağlantı noktasını not edin.
İlk olarak RestSimulationStreamSink.Create öğesini çağırarak restSimulationStreamSink nesnesi alacaksınız. Bu, http bağlantısı üzerinde denetleyeceksiniz hedef cihaz veya öykünücüdür. Komutlarınız cihaz veya öykünücüde çalışan Windows Cihaz Portalı'na geçirilir ve işlenir. Nesne oluşturmak için ihtiyacınız olan dört parametre şunlardır:
- Uri uri - Hedef cihazın IP adresi (örn. "https://123.123.123.123" veya "https://123.123.123.123:50080")
- System.Net.NetworkCredential kimlik bilgileri - Hedef cihaz veya öykünücüde Windows Cihaz Portalı'na bağlanmak için kullanıcı adı/parola. Öykünücüye yerel adresiyle bağlanıyorsanız (ör. 168... *) aynı bilgisayarda tüm kimlik bilgileri kabul edilir.
- bool normal - Normal öncelik için true, düşük öncelik için false. Bunu genellikle test senaryoları için true olarak ayarlamak istersiniz ve bu da testinizin denetimi almasına olanak tanır. Öykünücü ve Windows Mixed Reality simülasyonu düşük öncelikli bağlantılar kullanır. Testiniz düşük öncelikli bir bağlantı da kullanıyorsa, en son kurulan bağlantı denetime sahip olur.
- System.Threading.CancellationToken belirteci - Zaman uyumsuz işlemi iptal etmek için belirteç.
İkinci olarak, IPerceptionSimulationManager'ı oluşturacaksınız. Bu, simülasyonu denetlemek için kullandığınız nesnedir. Bunun zaman uyumsuz bir yöntemde de yapılması gerekir.
Simülasyon insanını denetleme
IPerceptionSimulationManager,ISimulatedHuman nesnesi döndüren bir Human özelliğine sahiptir. Simülasyon insanını denetlemek için bu nesne üzerinde işlemler gerçekleştirin. Örnek:
manager.Human.Move(new Vector3(0.1f, 0.0f, 0.0f))
Temel Örnek C# konsol uygulaması
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using Microsoft.PerceptionSimulation;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
Task.Run(async () =>
{
RestSimulationStreamSink sink = null;
CancellationToken token = new System.Threading.CancellationToken();
try
{
sink = await RestSimulationStreamSink.Create(
// use the IP address for your device/emulator
new Uri("https://169.254.227.115"),
// no credentials are needed for the emulator
new System.Net.NetworkCredential("", ""),
// normal priorty
true,
// cancel token
token);
IPerceptionSimulationManager manager = PerceptionSimulationManager.CreatePerceptionSimulationManager(sink);
}
catch (Exception e)
{
Console.WriteLine(e);
}
// Always close the sink to return control to the previous application.
if (sink != null)
{
await sink.Close(token);
}
});
// If main exits, the process exits.
Console.WriteLine("Press any key to exit...");
Console.ReadLine();
}
}
}
Genişletilmiş Örnek C# konsol uygulaması
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using Microsoft.PerceptionSimulation;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
RestSimulationStreamSink sink = null;
CancellationToken token = new System.Threading.CancellationToken();
Task.Run(async () =>
{
try
{
sink = await RestSimulationStreamSink.Create(
// use the IP address for your device/emulator
new Uri("https://169.254.227.115"),
// no credentials are needed for the emulator
new System.Net.NetworkCredential("", ""),
// normal priorty
true,
// cancel token
token);
IPerceptionSimulationManager manager = PerceptionSimulationManager.CreatePerceptionSimulationManager(sink);
// Now, we'll simulate a sequence of actions.
// Sleeps in-between each action give time to the system
// to be able to properly react.
// This is just an example. A proper automated test should verify
// that the app has behaved correctly
// before proceeding to the next step, instead of using Sleeps.
// Activate the right hand
manager.Human.RightHand.Activated = true;
// Simulate Bloom gesture, which should cause Shell to disappear
manager.Human.RightHand.PerformGesture(SimulatedGesture.Home);
Thread.Sleep(2000);
// Simulate Bloom gesture again... this time, Shell should reappear
manager.Human.RightHand.PerformGesture(SimulatedGesture.Home);
Thread.Sleep(2000);
// Simulate a Head rotation down around the X axis
// This should cause gaze to aim about the center of the screen
manager.Human.Head.Rotate(new Rotation3(0.04f, 0.0f, 0.0f));
Thread.Sleep(300);
// Simulate a finger press & release
// Should cause a tap on the center tile, thus launching it
manager.Human.RightHand.PerformGesture(SimulatedGesture.FingerPressed);
Thread.Sleep(300);
manager.Human.RightHand.PerformGesture(SimulatedGesture.FingerReleased);
Thread.Sleep(2000);
// Simulate a second finger press & release
// Should activate the app that was launched when the center tile was clicked
manager.Human.RightHand.PerformGesture(SimulatedGesture.FingerPressed);
Thread.Sleep(300);
manager.Human.RightHand.PerformGesture(SimulatedGesture.FingerReleased);
Thread.Sleep(5000);
// Simulate a Head rotation towards the upper right corner
manager.Human.Head.Rotate(new Rotation3(-0.14f, 0.17f, 0.0f));
Thread.Sleep(300);
// Simulate a third finger press & release
// Should press the Remove button on the app
manager.Human.RightHand.PerformGesture(SimulatedGesture.FingerPressed);
Thread.Sleep(300);
manager.Human.RightHand.PerformGesture(SimulatedGesture.FingerReleased);
Thread.Sleep(2000);
// Simulate Bloom gesture again... bringing the Shell back once more
manager.Human.RightHand.PerformGesture(SimulatedGesture.Home);
Thread.Sleep(2000);
}
catch (Exception e)
{
Console.WriteLine(e);
}
});
// If main exits, the process exits.
Console.WriteLine("Press any key to exit...");
Console.ReadLine();
// Always close the sink to return control to the previous application.
if (sink != null)
{
sink.Close(token);
}
}
}
}
6-DOF denetleyicileriyle ilgili not
Simülasyon 6-DOF denetleyicisindeki yöntemlerde herhangi bir özelliği çağırmadan önce denetleyiciyi etkinleştirmeniz gerekir. Bunun yapılmaması bir özel durumla sonuçlanır. Windows 10 Mayıs 2019 Güncelleştirmesi başlayarak, ISimulatedSixDofController nesnesindeki Status özelliği SimulatedSixDofControllerStatus.Active olarak ayarlanarak sanal 6-DOF denetleyicileri yüklenebilir ve etkinleştirilebilir. Windows 10 Ekim 2018 Güncelleştirmesi ve önceki sürümlerde, \Windows\System32 klasöründe bulunan PerceptionSimulationDevice aracını çağırarak önce simülasyon 6-DOF denetleyicisini ayrı olarak yüklemeniz gerekir. Bu aracın kullanımı aşağıdaki gibidir:
PerceptionSimulationDevice.exe <action> 6dof <instance>
Örneğin:
PerceptionSimulationDevice.exe i 6dof 1
Desteklenen eylemler şunlardır:
- i = yükleme
- q = sorgu
- r = kaldır
Desteklenen örnekler şunlardır:
- 1 = sol 6 DOF denetleyicisi
- 2 = doğru 6 DOF denetleyicisi
İşlemin çıkış kodu başarıyı (sıfır dönüş değeri) veya başarısızlığı (sıfır olmayan bir dönüş değeri) gösterir. Bir denetleyicinin yüklü olup olmadığını sorgulamak için 'q' eylemini kullanırken, denetleyici yüklü değilse dönüş değeri sıfır (0) veya denetleyici yüklüyse bir (1) olur.
Windows 10 Ekim 2018 Güncelleştirmesi veya önceki bir sürümdeki denetleyiciyi kaldırırken, önce API aracılığıyla durumunu Kapalı olarak ayarlayın, ardından PerceptionSimulationDevice aracını çağırın.
Bu araç Yönetici olarak çalıştırılmalıdır.
API Başvurusu
Microsoft.PerceptionSimulation.SimulatedDeviceType
Simülasyon cihazı türünü açıklar
public enum SimulatedDeviceType
{
Reference = 0
}
Microsoft.PerceptionSimulation.SimulatedDeviceType.Reference
Kurgusal bir başvuru cihazı, PerceptionSimulationManager için varsayılan değerdir
Microsoft.PerceptionSimulation.HeadTrackerMode
Baş izleyici modunu açıklar
public enum HeadTrackerMode
{
Default = 0,
Orientation = 1,
Position = 2
}
Microsoft.PerceptionSimulation.HeadTrackerMode.Default
Varsayılan Baş İzleme. Bu, sistemin çalışma zamanı koşullarına göre en iyi baş izleme modunu seçebileceği anlamına gelir.
Microsoft.PerceptionSimulation.HeadTrackerMode.Orientation
Yönlendirme Yalnızca Baş İzleme. Bu, izlenen konumun güvenilir olmayabileceği ve baş konumuna bağlı bazı işlevlerin kullanılamayabileceği anlamına gelir.
Microsoft.PerceptionSimulation.HeadTrackerMode.Position
Konumsal Baş İzleme. Bu, izlenen baş konumunun ve yönlendirmenin hem güvenilir olduğu anlamına gelir
Microsoft.PerceptionSimulation.SimulatedGesture
Simülasyon hareketini açıklar
public enum SimulatedGesture
{
None = 0,
FingerPressed = 1,
FingerReleased = 2,
Home = 4,
Max = Home
}
Microsoft.PerceptionSimulation.SimulatedGesture.None
Hiçbir hareketi göstermek için kullanılan bir sentinel değeri.
Microsoft.PerceptionSimulation.SimulatedGesture.FingerPressed
Parmakla basılmış hareket.
Microsoft.PerceptionSimulation.SimulatedGesture.FingerReleased
Bir parmak serbest bırakıldı hareketi.
Microsoft.PerceptionSimulation.SimulatedGesture.Home
Ev/sistem hareketi.
Microsoft.PerceptionSimulation.SimulatedGesture.Max
En büyük geçerli hareket.
Microsoft.PerceptionSimulation.SimulatedSixDofControllerStatus
Simülasyon 6-DOF denetleyicisinin olası durumları.
public enum SimulatedSixDofControllerStatus
{
Off = 0,
Active = 1,
TrackingLost = 2,
}
Microsoft.PerceptionSimulation.SimulatedSixDofControllerStatus.Off
6-DOF denetleyicisi kapalı.
Microsoft.PerceptionSimulation.SimulatedSixDofControllerStatus.Active
6-DOF denetleyicisi açılır ve izlenir.
Microsoft.PerceptionSimulation.SimulatedSixDofControllerStatus.TrackingLost
6-DOF denetleyicisi açık ancak izlenemiyor.
Microsoft.PerceptionSimulation.SimulatedSixDofControllerButton
Sanal bir 6-DOF denetleyicisinde desteklenen düğmeler.
public enum SimulatedSixDofControllerButton
{
None = 0,
Home = 1,
Menu = 2,
Grip = 4,
TouchpadPress = 8,
Select = 16,
TouchpadTouch = 32,
Thumbstick = 64,
Max = Thumbstick
}
Microsoft.PerceptionSimulation.SimulatedSixDofControllerButton.None
Düğme olmadığını belirtmek için kullanılan bir sentinel değeri.
Microsoft.PerceptionSimulation.SimulatedSixDofControllerButton.Home
Giriş düğmesine basılır.
Microsoft.PerceptionSimulation.SimulatedSixDofControllerButton.Menu
Menü düğmesine basılır.
Microsoft.PerceptionSimulation.SimulatedSixDofControllerButton.Grip
Kavrama düğmesine basılır.
Microsoft.PerceptionSimulation.SimulatedSixDofControllerButton.TouchpadPress
TouchPad'e basılır.
Microsoft.PerceptionSimulation.SimulatedSixDofControllerButton.Select
Seç düğmesine basılır.
Microsoft.PerceptionSimulation.SimulatedSixDofControllerButton.TouchpadTouch
TouchPad'e dokunulduğunda.
Microsoft.PerceptionSimulation.SimulatedSixDofControllerButton.Thumbstick
Parmak çubuğuna basıldı.
Microsoft.PerceptionSimulation.SimulatedSixDofControllerButton.Max
Geçerli olan en büyük düğme.
Microsoft.PerceptionSimulation.SimulatedEyesCalibrationState
Simüle edilmiş gözlerin kalibrasyon durumu
public enum SimulatedGesture
{
Unavailable = 0,
Ready = 1,
Configuring = 2,
UserCalibrationNeeded = 3
}
Microsoft.PerceptionSimulation.SimulatedEyesCalibrationState.Unavailable
Göz kalibrasyonu kullanılamıyor.
Microsoft.PerceptionSimulation.SimulatedEyesCalibrationState.Ready
Gözler ayarlandı. Varsayılan değer budur.
Microsoft.PerceptionSimulation.SimulatedEyesCalibrationState.Configuring
Gözler ayarlanıyor.
Microsoft.PerceptionSimulation.SimulatedEyesCalibrationState.UserCalibrationNeeded
Gözlerin kalibre edilmesi gerekiyor.
Microsoft.PerceptionSimulation.SimulatedHandJointTrackingAccuracy
Elin bir ekleminin izleme doğruluğu.
public enum SimulatedHandJointTrackingAccuracy
{
Unavailable = 0,
Approximate = 1,
Visible = 2
}
Microsoft.PerceptionSimulation.SimulatedHandJointTrackingAccuracy.Unavailable
Eklem izlenmedi.
Microsoft.PerceptionSimulation.SimulatedHandJointTrackingAccuracy.Approximate
Eklem konumu çıkarsanır.
Microsoft.PerceptionSimulation.SimulatedHandJointTrackingAccuracy.Visible
Eklem tamamen izlendi.
Microsoft.PerceptionSimulation.SimulatedHandPose
Elin bir ekleminin izleme doğruluğu.
public enum SimulatedHandPose
{
Closed = 0,
Open = 1,
Point = 2,
Pinch = 3,
Max = Pinch
}
Microsoft.PerceptionSimulation.SimulatedHandPose.Closed
Elin parmak eklemleri kapalı bir pozu yansıtacak şekilde yapılandırılır.
Microsoft.PerceptionSimulation.SimulatedHandPose.Open
Elin parmak eklemleri açık bir pozu yansıtacak şekilde yapılandırılır.
Microsoft.PerceptionSimulation.SimulatedHandPose.Point
Elin parmak eklemleri, bir işaret pozunu yansıtacak şekilde yapılandırılır.
Microsoft.PerceptionSimulation.SimulatedHandPose.Pinch
Elin parmak eklemleri sıkıştırma pozunu yansıtacak şekilde yapılandırılmıştır.
Microsoft.PerceptionSimulation.SimulatedHandPose.Max
SimulatedHandPose için en büyük geçerli değer.
Microsoft.PerceptionSimulation.PlaybackState
Kayıttan yürütmenin durumunu açıklar.
public enum PlaybackState
{
Stopped = 0,
Playing = 1,
Paused = 2,
End = 3,
}
Microsoft.PerceptionSimulation.PlaybackState.Stopped
Kayıt şu anda durduruldu ve kayıttan yürütme için hazır.
Microsoft.PerceptionSimulation.PlaybackState.Playing
Kayıt şu anda yürütülüyor.
Microsoft.PerceptionSimulation.PlaybackState.Paused
Kayıt şu anda duraklatılmış durumda.
Microsoft.PerceptionSimulation.PlaybackState.End
Kayıt sona ulaştı.
Microsoft.PerceptionSimulation.Vector3
3B alanda bir noktayı veya vektöri tanımlayabilen üç bileşenli bir vektör açıklar.
public struct Vector3
{
public float X;
public float Y;
public float Z;
public Vector3(float x, float y, float z);
}
Microsoft.PerceptionSimulation.Vector3.X
Vektörünün X bileşeni.
Microsoft.PerceptionSimulation.Vector3.Y
Vektörünün Y bileşeni.
Microsoft.PerceptionSimulation.Vector3.Z
Vektörünün Z bileşeni.
Microsoft.PerceptionSimulation.Vector3.#ctor(System.Single,System.Single,System.Single)
Yeni bir Vector3 oluşturma.
Parametreler
- x - Vektörünün x bileşeni.
- y - Vektörünün y bileşeni.
- z - Vektörünün z bileşeni.
Microsoft.PerceptionSimulation.Rotation3
Üç bileşen döndürmeyi açıklar.
public struct Rotation3
{
public float Pitch;
public float Yaw;
public float Roll;
public Rotation3(float pitch, float yaw, float roll);
}
Microsoft.PerceptionSimulation.Rotation3.Pitch
Döndürme'nin Pitch bileşeni, X ekseninin etrafında aşağı doğru.
Microsoft.PerceptionSimulation.Rotation3.Yaw
Döndürme'nin Y ekseninin hemen etrafındaki Yaw bileşeni.
Microsoft.PerceptionSimulation.Rotation3.Roll
Döndürme'nin Roll bileşeni, Z ekseninin hemen çevresindedir.
Microsoft.PerceptionSimulation.Rotation3.#ctor(System.Single,System.Single,System.Single)
Yeni bir Rotation3 oluşturma.
Parametreler
- pitch - Döndürmenin perde bileşeni.
- yaw - Döndürmenin çiy bileşeni.
- roll - Döndürmenin rulo bileşeni.
Microsoft.PerceptionSimulation.SimulatedHandJointConfiguration
Simüle edilmiş bir eldeki bir eklemin yapılandırmasını açıklar.
public struct SimulatedHandJointConfiguration
{
public Vector3 Position;
public Rotation3 Rotation;
public SimulatedHandJointTrackingAccuracy TrackingAccuracy;
}
Microsoft.PerceptionSimulation.SimulatedHandJointConfiguration.Position
Eklemin konumu.
Microsoft.PerceptionSimulation.SimulatedHandJointConfiguration.Rotation
Eklemin dönüşü.
Microsoft.PerceptionSimulation.SimulatedHandJointConfiguration.TrackingAccuracy
Eklemin izleme doğruluğu.
Microsoft.PerceptionSimulation.Frustum
Genellikle kamera tarafından kullanılan görünüm frustum'larını açıklar.
public struct Frustum
{
float Near;
float Far;
float FieldOfView;
float AspectRatio;
}
Microsoft.PerceptionSimulation.Frustum.Near
Frustumda yer alan minimum uzaklık.
Microsoft.PerceptionSimulation.Frustum.Far
Frustumda yer alan maksimum uzaklık.
Microsoft.PerceptionSimulation.Frustum.FieldOfView
Radyan cinsinden (PI'den küçük) frustum yatay görünüm alanı.
Microsoft.PerceptionSimulation.Frustum.AspectRatio
Yatay görünüm alanının dikey görünüm alanına oranı.
Microsoft.PerceptionSimulation.SimulatedDisplayConfiguration
Simülasyon başlığı ekranının yapılandırmasını açıklar.
public struct SimulatedDisplayConfiguration
{
public Vector3 LeftEyePosition;
public Rotation3 LeftEyeRotation;
public Vector3 RightEyePosition;
public Rotation3 RightEyeRotation;
public float Ipd;
public bool ApplyEyeTransforms;
public bool ApplyIpd;
}
Microsoft.PerceptionSimulation.SimulatedDisplayConfiguration.LeftEyePosition
Stereo işleme amacıyla başın merkezinden sol göze dönüşüm.
Microsoft.PerceptionSimulation.SimulatedDisplayConfiguration.LeftEyeRotation
Stereo işleme amacıyla sol gözün dönüşü.
Microsoft.PerceptionSimulation.SimulatedDisplayConfiguration.RightEyePosition
Stereo işleme amacıyla başın merkezinden sağ göze dönüşüm.
Microsoft.PerceptionSimulation.SimulatedDisplayConfiguration.RightEyeRotation
Stereo işleme amacıyla sağ gözün dönmesi.
Microsoft.PerceptionSimulation.SimulatedDisplayConfiguration.Ipd
Stereo işleme amacıyla sistem tarafından bildirilen IPd değeri.
Microsoft.PerceptionSimulation.SimulatedDisplayConfiguration.ApplyEyeTransforms
Sol ve sağ göz dönüşümleri için sağlanan değerlerin geçerli kabul edilip edilmemesi ve çalışan sisteme uygulanması gerekir.
Microsoft.PerceptionSimulation.SimulatedDisplayConfiguration.ApplyIpd
Ipd için sağlanan değerin geçerli kabul edilip edilmeyeceği ve çalışan sisteme uygulanıp uygulanmayacağı.
Microsoft.PerceptionSimulation.IPerceptionSimulationManager
Bir cihazı denetlemek için kullanılan paketleri oluşturmak için kök.
public interface IPerceptionSimulationManager
{
ISimulatedDevice Device { get; }
ISimulatedHuman Human { get; }
void Reset();
}
Microsoft.PerceptionSimulation.IPerceptionSimulationManager.Device
Simülasyon insanını ve simülasyon dünyasını yorumlayan simülasyon cihazı nesnesini alın.
Microsoft.PerceptionSimulation.IPerceptionSimulationManager.Human
Simülasyon insanını denetleen nesneyi alın.
Microsoft.PerceptionSimulation.IPerceptionSimulationManager.Reset
Benzetimi varsayılan durumuna sıfırlar.
Microsoft.PerceptionSimulation.ISimulatedDevice
Simülasyon dünyasını ve simülasyon insanını yorumlayan cihazı açıklayan arabirim
public interface ISimulatedDevice
{
ISimulatedHeadTracker HeadTracker { get; }
ISimulatedHandTracker HandTracker { get; }
void SetSimulatedDeviceType(SimulatedDeviceType type);
}
Microsoft.PerceptionSimulation.ISimulatedDevice.HeadTracker
Simülasyon Cihazından Baş İzleyicisi'ni alın.
Microsoft.PerceptionSimulation.ISimulatedDevice.HandTracker
Simülasyon Cihazından El İzleyicisi'ni alın.
Microsoft.PerceptionSimulation.ISimulatedDevice.SetSimulatedDeviceType(Microsoft.PerceptionSimulation.SimulatedDeviceType)
Simülasyon cihazının özelliklerini sağlanan cihaz türüyle eşleşecek şekilde ayarlayın.
Parametreler
- type - Sanal Cihazın yeni türü
Microsoft.PerceptionSimulation.ISimulatedDevice2
ISimulatedDevice ISimulatedDevice2'ye türetilerek ek özellikler kullanılabilir
public interface ISimulatedDevice2
{
bool IsUserPresent { [return: MarshalAs(UnmanagedType.Bool)] get; [param: MarshalAs(UnmanagedType.Bool)] set; }
SimulatedDisplayConfiguration DisplayConfiguration { get; set; }
};
Microsoft.PerceptionSimulation.ISimulatedDevice2.IsUserPresent
Simülasyon cihazının mikrofonlu kulaklığı etkin bir şekilde takıp takmadığını alın veya ayarlayın.
Microsoft.PerceptionSimulation.ISimulatedDevice2.DisplayConfiguration
Simülasyon ekranının özelliklerini alın veya ayarlayın.
Microsoft.PerceptionSimulation.ISimulatedHeadTracker
Simülasyon cihazının simülasyon insanının başını izleyen kısmını açıklayan arabirim.
public interface ISimulatedHeadTracker
{
HeadTrackerMode HeadTrackerMode { get; set; }
};
Microsoft.PerceptionSimulation.ISimulatedHeadTracker.HeadTrackerMode
Geçerli baş izleyici modunu alır ve ayarlar.
Microsoft.PerceptionSimulation.ISimulatedHandTracker
Simülasyon cihazının simülasyon insanının ellerini izleyen kısmını açıklayan arabirim
public interface ISimulatedHandTracker
{
Vector3 WorldPosition { get; }
Vector3 Position { get; set; }
float Pitch { get; set; }
bool FrustumIgnored { [return: MarshalAs(UnmanagedType.Bool)] get; [param: MarshalAs(UnmanagedType.Bool)] set; }
Frustum Frustum { get; set; }
}
Microsoft.PerceptionSimulation.ISimulatedHandTracker.WorldPosition
Düğümün dünyayla ilişkili konumunu metreler halinde alın.
Microsoft.PerceptionSimulation.ISimulatedHandTracker.Position
Simülasyon el izleyicisinin konumunu başın merkezine göre alın ve ayarlayın.
Microsoft.PerceptionSimulation.ISimulatedHandTracker.Pitch
Simülasyon el izleyicisinin aşağı doğru perdesini alın ve ayarlayın.
Microsoft.PerceptionSimulation.ISimulatedHandTracker.FrustumIgnored
Sanal el izleyicisinin frustum değerinin yoksayılıp yoksayılmayacağını alın ve ayarlayın. Yoksayıldığında, her iki el de her zaman görünür durumdadır. Yoksayılmadığında (varsayılan) eller yalnızca el izleyicisinin frustumunun içinde olduklarında görünür.
Microsoft.PerceptionSimulation.ISimulatedHandTracker.Frustum
Ellerin simülasyon el izleyicisine görünür olup olmadığını belirlemek için kullanılan frustum özelliklerini alın ve ayarlayın.
Microsoft.PerceptionSimulation.ISimulatedHuman
Simülasyon insanını kontrol etmek için üst düzey arabirim.
public interface ISimulatedHuman
{
Vector3 WorldPosition { get; set; }
float Direction { get; set; }
float Height { get; set; }
ISimulatedHand LeftHand { get; }
ISimulatedHand RightHand { get; }
ISimulatedHead Head { get; }s
void Move(Vector3 translation);
void Rotate(float radians);
}
Microsoft.PerceptionSimulation.ISimulatedHuman.WorldPosition
Düğümün dünyayla ilişkili konumunu metreler halinde alın ve ayarlayın. Konum, insan ayaklarının ortasındaki bir noktaya karşılık gelir.
Microsoft.PerceptionSimulation.ISimulatedHuman.Direction
Dünyadaki simülasyon insan yüzlerinin yönünü alın ve ayarlayın. 0 radyan negatif Z ekseninin aşağı yüzleridir. Pozitif radyanlar Y ekseni hakkında saat yönünde döner.
Microsoft.PerceptionSimulation.ISimulatedHuman.Height
Simülasyon insanının yüksekliğini metre cinsinden alın ve ayarlayın.
Microsoft.PerceptionSimulation.ISimulatedHuman.LeftHand
Simülasyon yapılan insanın sol elini alın.
Microsoft.PerceptionSimulation.ISimulatedHuman.RightHand
Simülasyon insanının sağ elini alın.
Microsoft.PerceptionSimulation.ISimulatedHuman.Head
Simülasyon yapılan insanın başını alın.
Microsoft.PerceptionSimulation.ISimulatedHuman.Move(Microsoft.PerceptionSimulation.Vector3)
Simülasyon insanını geçerli konumuna göre metre olarak hareket ettirin.
Parametreler
- translation - Geçerli konuma göre taşınacak çeviri.
Microsoft.PerceptionSimulation.ISimulatedHuman.Rotate(System.Single)
Simülasyon insanını geçerli yönüne göre, Y eksenine göre saat yönünde döndürün
Parametreler
- radyan - Y ekseni etrafında döndürülecek miktar.
Microsoft.PerceptionSimulation.ISimulatedHuman2
ISimulatedHuman'ı ISimulatedHuman2'ye dönüştürerek ek özellikler kullanılabilir
public interface ISimulatedHuman2
{
/* New members in addition to those available on ISimulatedHuman */
ISimulatedSixDofController LeftController { get; }
ISimulatedSixDofController RightController { get; }
}
Microsoft.PerceptionSimulation.ISimulatedHuman2.LeftController
Sol 6-DOF denetleyicisini alın.
Microsoft.PerceptionSimulation.ISimulatedHuman2.RightController
Doğru 6-DOF denetleyicisini alın.
Microsoft.PerceptionSimulation.ISimulatedHand
Simülasyon insan elini açıklayan arabirim
public interface ISimulatedHand
{
Vector3 WorldPosition { get; }
Vector3 Position { get; set; }
bool Activated { [return: MarshalAs(UnmanagedType.Bool)] get; [param: MarshalAs(UnmanagedType.Bool)] set; }
bool Visible { [return: MarshalAs(UnmanagedType.Bool)] get; }
void EnsureVisible();
void Move(Vector3 translation);
void PerformGesture(SimulatedGesture gesture);
}
Microsoft.PerceptionSimulation.ISimulatedHand.WorldPosition
Düğümün dünyayla ilişkili konumunu metre olarak alın.
Microsoft.PerceptionSimulation.ISimulatedHand.Position
Simülasyon elinin insana göre konumunu metre olarak alın ve ayarlayın.
Microsoft.PerceptionSimulation.ISimulatedHand.Activated
Elin şu anda etkinleştirilip etkinleştirilmediğini alın ve ayarlayın.
Microsoft.PerceptionSimulation.ISimulatedHand.Visible
Elin şu anda SimulatedDevice tarafından görünür olup olmadığını (yani HandTracker tarafından algılanacak bir konumda olup olmadığını) alın.
Microsoft.PerceptionSimulation.ISimulatedHand.EnsureVisible
Eli SimulatedDevice'e görünür olacak şekilde hareket ettirin.
Microsoft.PerceptionSimulation.ISimulatedHand.Move(Microsoft.PerceptionSimulation.Vector3)
Simülasyon elinin konumunu, geçerli konumuna göre metre olarak hareket ettirin.
Parametreler
- translation - Benzetimi yapılan elin çevrilmesi için gereken miktar.
Microsoft.PerceptionSimulation.ISimulatedHand.PerformGesture(Microsoft.PerceptionSimulation.SimulatedGesture)
Simülasyon elini kullanarak bir hareket gerçekleştirin. Yalnızca el etkinse sistem tarafından algılanır.
Parametreler
- gesture - Gerçekleştirilecek hareket.
Microsoft.PerceptionSimulation.ISimulatedHand2
ISimulatedHand'ı ISimulatedHand2'ye dönüştürerek ek özellikler kullanılabilir.
public interface ISimulatedHand2
{
/* New members in addition to those available on ISimulatedHand */
Rotation3 Orientation { get; set; }
}
Microsoft.PerceptionSimulation.ISimulatedHand2.Orientation
Simülasyon elinin döndürmesini alın veya ayarlayın. Pozitif radyanlar eksen boyunca bakarken saat yönünde döner.
Microsoft.PerceptionSimulation.ISimulatedHand3
ISimulatedHand'ı ISimulatedHand3'e dönüştürerek ek özellikler sağlanır
public interface ISimulatedHand3
{
/* New members in addition to those available on ISimulatedHand and ISimulatedHand2 */
GetJointConfiguration(SimulatedHandJoint joint, out SimulatedHandJointConfiguration jointConfiguration);
SetJointConfiguration(SimulatedHandJoint joint, SimulatedHandJointConfiguration jointConfiguration);
SetHandPose(SimulatedHandPose pose, bool animate);
}
Microsoft.PerceptionSimulation.ISimulatedHand3.GetJointConfiguration
Belirtilen birleşim için birleşik yapılandırmayı alın.
Microsoft.PerceptionSimulation.ISimulatedHand3.SetJointConfiguration
Belirtilen birleşim için birleşim yapılandırmasını ayarlayın.
Microsoft.PerceptionSimulation.ISimulatedHand3.SetHandPose
Animasyon eklemek için isteğe bağlı bir bayrakla eli bilinen bir poza ayarlayın. Not: Animating, eklemlerin son birleşim yapılandırmalarını hemen yansıtmasına neden olmaz.
Microsoft.PerceptionSimulation.ISimulatedHead
Simülasyon insanının başını açıklayan arabirim.
public interface ISimulatedHead
{
Vector3 WorldPosition { get; }
Rotation3 Rotation { get; set; }
float Diameter { get; set; }
void Rotate(Rotation3 rotation);
}
Microsoft.PerceptionSimulation.ISimulatedHead.WorldPosition
Düğümün dünyayla ilişkili konumunu metre olarak alın.
Microsoft.PerceptionSimulation.ISimulatedHead.Rotation
Simülasyon başlığının döndürmesini alın. Pozitif radyanlar eksen boyunca bakarken saat yönünde döner.
Microsoft.PerceptionSimulation.ISimulatedHead.Diameter
Simülasyon kafasının çapını alın. Bu değer, başın merkezini (döndürme noktası) belirlemek için kullanılır.
Microsoft.PerceptionSimulation.ISimulatedHead.Rotate(Microsoft.PerceptionSimulation.Rotation3)
Simülasyon kafasını geçerli döndürmesine göre döndürün. Pozitif radyanlar eksen boyunca bakarken saat yönünde döner.
Parametreler
- rotation - Döndürülecek miktar.
Microsoft.PerceptionSimulation.ISimulatedHead2
ISimulatedHead'i ISimulatedHead2'ye dönüştürerek ek özellikler kullanılabilir
public interface ISimulatedHead2
{
/* New members in addition to those available on ISimulatedHead */
ISimulatedEyes Eyes { get; }
}
Microsoft.PerceptionSimulation.ISimulatedHead2.Eyes
Simülasyon yapılan insanın gözlerini alın.
Microsoft.PerceptionSimulation.ISimulatedSixDofController
Sanal insanla ilişkili bir 6-DOF denetleyicisini açıklayan arabirim.
public interface ISimulatedSixDofController
{
Vector3 WorldPosition { get; }
SimulatedSixDofControllerStatus Status { get; set; }
Vector3 Position { get; }
Rotation3 Orientation { get; set; }
void Move(Vector3 translation);
void PressButton(SimulatedSixDofControllerButton button);
void ReleaseButton(SimulatedSixDofControllerButton button);
void GetTouchpadPosition(out float x, out float y);
void SetTouchpadPosition(float x, float y);
}
Microsoft.PerceptionSimulation.ISimulatedSixDofController.WorldPosition
Düğümün dünyayla ilişkili konumunu metre olarak alın.
Microsoft.PerceptionSimulation.ISimulatedSixDofController.Status
Denetleyicinin geçerli durumunu alın veya ayarlayın. Taşıma, döndürme veya basma düğmelerinin başarılı olması için denetleyici durumu Kapalı dışında bir değere ayarlanmalıdır.
Microsoft.PerceptionSimulation.ISimulatedSixDofController.Position
Simülasyon denetleyicisinin metreler içinde insana göre konumunu alın veya ayarlayın.
Microsoft.PerceptionSimulation.ISimulatedSixDofController.Orientation
Simülasyon denetleyicisinin yönlendirmesini alın veya ayarlayın.
Microsoft.PerceptionSimulation.ISimulatedSixDofController.Move(Microsoft.PerceptionSimulation.Vector3)
Simülasyon denetleyicisinin konumunu geçerli konumuna göre metre olarak taşıyın.
Parametreler
- translation - Sanal denetleyicinin çevrilmesi için gereken tutar.
Microsoft.PerceptionSimulation.ISimulatedSixDofController.PressButton(SimulatedSixDofControllerButton)
Simülasyon denetleyicisindeki bir düğmeye basın. Yalnızca denetleyici etkinse sistem tarafından algılanır.
Parametreler
- button - Basacak düğme.
Microsoft.PerceptionSimulation.ISimulatedSixDofController.ReleaseButton(SimulatedSixDofControllerButton)
Sanal denetleyicide bir düğme bırakın. Yalnızca denetleyici etkinse sistem tarafından algılanır.
Parametreler
- button - Yayına açılan düğme.
Microsoft.PerceptionSimulation.ISimulatedSixDofController.GetTouchpadPosition(out float, out float)
Sanal bir parmağın simülasyon kumandasının dokunmatik yüzeyi üzerindeki konumunu alın.
Parametreler
- x - Parmağın yatay konumu.
- y - Parmağın dikey konumu.
Microsoft.PerceptionSimulation.ISimulatedSixDofController.SetTouchpadPosition(float, float)
Simülasyon cihazının dokunmatik yüzeyi üzerindeki simülasyon parmağının konumunu ayarlayın.
Parametreler
- x - Parmağın yatay konumu.
- y - Parmağın dikey konumu.
Microsoft.PerceptionSimulation.ISimulatedSixDofController2
ISimulatedSixDofController'ı ISimulatedSixDofController2'ye dönüştürerek ek özellikler ve yöntemler kullanılabilir
public interface ISimulatedSixDofController2
{
/* New members in addition to those available on ISimulatedSixDofController */
void GetThumbstickPosition(out float x, out float y);
void SetThumbstickPosition(float x, float y);
float BatteryLevel { get; set; }
}
Microsoft.PerceptionSimulation.ISimulatedSixDofController2.GetThumbstickPosition(out float, out float)
Simülasyon kumandası üzerindeki simülasyon kontrol çubuğunun konumunu alın.
Parametreler
- x - Parmak çubuğunun yatay konumu.
- y - Parmak çubuğunun dikey konumu.
Microsoft.PerceptionSimulation.ISimulatedSixDofController2.SetThumbstickPosition(float, float)
Simülasyon kontrol çubuğunun simülasyon kumandası üzerindeki konumunu ayarlayın.
Parametreler
- x - Parmak çubuğunun yatay konumu.
- y - Parmak çubuğunun dikey konumu.
Microsoft.PerceptionSimulation.ISimulatedSixDofController2.BatteryLevel
Simülasyon denetleyicisinin pil düzeyini alın veya ayarlayın. Değer 0,0'dan büyük ve 100,0'dan küçük veya buna eşit olmalıdır.
Microsoft.PerceptionSimulation.ISimulatedEyes
Simüle edilmiş insanın gözlerini açıklayan arabirim.
public interface ISimulatedEyes
{
Rotation3 Rotation { get; set; }
void Rotate(Rotation3 rotation);
SimulatedEyesCalibrationState CalibrationState { get; set; }
Vector3 WorldPosition { get; }
}
Microsoft.PerceptionSimulation.ISimulatedEyes.Rotation
Simülasyon gözlerinin dönüşünü alma. Pozitif radyanlar eksen boyunca bakarken saat yönünde döner.
Microsoft.PerceptionSimulation.ISimulatedEyes.Rotate(Microsoft.PerceptionSimulation.Rotation3)
Simülasyon gözlerini geçerli dönüşüne göre döndürün. Pozitif radyanlar eksen boyunca bakarken saat yönünde döner.
Parametreler
- rotation - Döndürülecek miktar.
Microsoft.PerceptionSimulation.ISimulatedEyes.CalibrationState
Simülasyon gözlerinin kalibrasyon durumunu alır veya ayarlar.
Microsoft.PerceptionSimulation.ISimulatedEyes.WorldPosition
Düğümün dünyayla ilişkili konumunu metre olarak alın.
Microsoft.PerceptionSimulation.ISimulationRecording
Kayıttan yürütme için yüklenen tek bir kayıtla etkileşime yönelik arabirim.
public interface ISimulationRecording
{
StreamDataTypes DataTypes { get; }
PlaybackState State { get; }
void Play();
void Pause();
void Seek(UInt64 ticks);
void Stop();
};
Microsoft.PerceptionSimulation.ISimulationRecording.DataTypes
Kayıttaki veri türlerinin listesini alır.
Microsoft.PerceptionSimulation.ISimulationRecording.State
Kaydın geçerli durumunu alır.
Microsoft.PerceptionSimulation.ISimulationRecording.Play
Kayıttan yürütmeyi başlatın. Kayıt duraklatıldıysa, kayıttan yürütme duraklatılan konumdan devam eder; durdurulursa, kayıttan yürütme en baştan başlar. Zaten yürütülüyorsa, bu çağrı yoksayılır.
Microsoft.PerceptionSimulation.ISimulationRecording.Pause
Kayıttan yürütmeyi geçerli konumunda duraklatır. Kayıt durdurulursa çağrı yoksayılır.
Microsoft.PerceptionSimulation.ISimulationRecording.Seek(System.UInt64)
Kaydı belirtilen zamana (başlangıçtan itibaren 100 nanosaniyelik aralıklarla) arar ve bu konumda duraklatır. Süre kaydın sonunun ötesindeyse, son karede duraklatılır.
Parametreler
- ticks - Aranacak zaman.
Microsoft.PerceptionSimulation.ISimulationRecording.Stop
Kayıttan yürütmeyi durdurur ve konumu başa sıfırlar.
Microsoft.PerceptionSimulation.ISimulationRecordingCallback
Kayıttan yürütme sırasında durum değişikliklerini almak için arabirim.
public interface ISimulationRecordingCallback
{
void PlaybackStateChanged(PlaybackState newState);
};
Microsoft.PerceptionSimulation.ISimulationRecordingCallback.PlaybackStateChanged(Microsoft.PerceptionSimulation.PlaybackState)
ISimulationRecording'in kayıttan yürütme durumu değiştiğinde çağrılır.
Parametreler
- newState - Kaydın yeni durumu.
Microsoft.PerceptionSimulation.PerceptionSimulationManager
Algı Benzetimi nesneleri oluşturmak için kök nesne.
public static class PerceptionSimulationManager
{
public static IPerceptionSimulationManager CreatePerceptionSimulationManager(ISimulationStreamSink sink);
public static ISimulationStreamSink CreatePerceptionSimulationRecording(string path);
public static ISimulationRecording LoadPerceptionSimulationRecording(string path, ISimulationStreamSinkFactory factory);
public static ISimulationRecording LoadPerceptionSimulationRecording(string path, ISimulationStreamSinkFactory factory, ISimulationRecordingCallback callback);
Microsoft.PerceptionSimulation.PerceptionSimulationManager.CreatePerceptionSimulationManager(Microsoft.PerceptionSimulation.ISimulationStreamSink)
Simülasyon paketleri oluşturmak ve bunları sağlanan havuza teslim etmek için nesne üzerinde oluşturun.
Parametreler
- sink - Oluşturulan tüm paketleri alacak olan havuz.
Döndürülen değer
Oluşturulan Yönetici.
Microsoft.PerceptionSimulation.PerceptionSimulationManager.CreatePerceptionSimulationRecording(System.String)
Alınan tüm paketleri belirtilen yolda bir dosyada depolayan bir havuz oluşturun.
Parametreler
- path - Oluşturulacak dosyanın yolu.
Döndürülen değer
Oluşturulan havuz.
Microsoft.PerceptionSimulation.PerceptionSimulationManager.LoadPerceptionSimulationRecording(System.String,Microsoft.PerceptionSimulation.ISimulationStreamSinkFactory)
Belirtilen dosyadan bir kayıt yükleyin.
Parametreler
- path - Yüklenemiyor dosyasının yolu.
- factory - Kayıt tarafından gerektiğinde ISimulationStreamSink oluşturmak için kullanılan fabrika.
Döndürülen değer
Yüklenen kayıt.
Microsoft.PerceptionSimulation.PerceptionSimulationManager.LoadPerceptionSimulationRecording(System.String,Microsoft.PerceptionSimulation.ISimulationStreamSinkFactory,Microsoft.PerceptionSimulation.ISimulationRecordingCallback)
Belirtilen dosyadan bir kayıt yükleyin.
Parametreler
- path - Yüklenemiyor dosyasının yolu.
- factory - Kayıt tarafından gerektiğinde ISimulationStreamSink oluşturmak için kullanılan fabrika.
- geri çağırma - Kaydın durumunu yeniden notlayan güncelleştirmeleri alan bir geri arama.
Döndürülen değer
Yüklenen kayıt.
Microsoft.PerceptionSimulation.StreamDataTypes
Farklı akış veri türlerini açıklar.
public enum StreamDataTypes
{
None = 0x00,
Head = 0x01,
Hands = 0x02,
SpatialMapping = 0x08,
Calibration = 0x10,
Environment = 0x20,
SixDofControllers = 0x40,
Eyes = 0x80,
DisplayConfiguration = 0x100
All = None | Head | Hands | SpatialMapping | Calibration | Environment | SixDofControllers | Eyes | DisplayConfiguration
}
Microsoft.PerceptionSimulation.StreamDataTypes.None
Akış verisi türünü belirtmek için kullanılan bir sentinel değeri.
Microsoft.PerceptionSimulation.StreamDataTypes.Head
Başın konumu ve yönlendirmesi için veri akışı.
Microsoft.PerceptionSimulation.StreamDataTypes.Hands
Ellerin konumu ve hareketleri için veri akışı.
Microsoft.PerceptionSimulation.StreamDataTypes.SpatialMapping
Ortamın uzamsal eşlemesi için veri akışı.
Microsoft.PerceptionSimulation.StreamDataTypes.Calibration
Cihazın kalibrasyonu için veri akışı. Kalibrasyon paketleri yalnızca Uzak Mod'daki bir sistem tarafından kabul edilir.
Microsoft.PerceptionSimulation.StreamDataTypes.Environment
Cihaz ortamı için veri akışı.
Microsoft.PerceptionSimulation.StreamDataTypes.SixDofControllers
Hareket denetleyicileri için veri akışı.
Microsoft.PerceptionSimulation.StreamDataTypes.Eyes
Simülasyon insanının gözleri ile veri akışı.
Microsoft.PerceptionSimulation.StreamDataTypes.DisplayConfiguration
Cihazın görüntü yapılandırmasıyla veri akışı.
Microsoft.PerceptionSimulation.StreamDataTypes.All
Tüm kayıtlı veri türlerini göstermek için kullanılan bir sentinel değeri.
Microsoft.PerceptionSimulation.ISimulationStreamSink
Simülasyon akışından veri paketleri alan nesne.
public interface ISimulationStreamSink
{
void OnPacketReceived(uint length, byte[] packet);
}
Microsoft.PerceptionSimulation.ISimulationStreamSink.OnPacketReceived(uint length, byte[] packet)
Dahili olarak yazılan ve sürümlenen tek bir paket alır.
Parametreler
- length - Paketin uzunluğu.
- packet - Paketin verileri.
Microsoft.PerceptionSimulation.ISimulationStreamSinkFactory
ISimulationStreamSink oluşturan bir nesne.
public interface ISimulationStreamSinkFactory
{
ISimulationStreamSink CreateSimulationStreamSink();
}
Microsoft.PerceptionSimulation.ISimulationStreamSinkFactory.CreateSimulationStreamSink()
ISimulationStreamSink'in tek bir örneğini oluşturur.
Döndürülen değer
Oluşturulan havuz.