Table of Contents

Namespace easyar

Klassen

Accelerometer

Accelerometer ruft den systembereitgestellten Beschleunigungsmesser auf und gibt AccelerometerResult aus. Wenn das Gerät nicht mehr benötigt wird, rufen Sie close auf, um es zu schließen. Nach close sollte es nicht verwendet werden. Es wird nicht empfohlen, es gleichzeitig mehrmals zu öffnen, da es möglicherweise nicht verfügbar ist oder an Genauigkeit verliert.

AccelerometerResult

Beschleunigungssensor-Messwerte. Die positive x-Achse zeigt vom Gerätemittelpunkt zur rechten Bildschirmseite. Die positive y-Achse zeigt vom Gerätemittelpunkt zur oberen Bildschirmseite. Die positive z-Achse zeigt vom Gerätemittelpunkt senkrecht zum Bildschirm nach außen. x, y, z werden in m/s^2 angegeben. timestamp wird in Sekunden angegeben.

AccelerometerResultSink

Eingangsport für Beschleunigungssensor-Ergebnisse. Wird verwendet, um den Eingangsport einer Komponente offenzulegen. Alle Member dieser Klasse sind threadsicher.

AccelerometerResultSource

Ausgabeport für Beschleunigungsmesserergebnis. Wird verwendet, um den Ausgabeport einer Komponente offenzulegen. Alle Member dieser Klasse sind threadsicher.

ARCoreCameraDevice

ARCoreCameraDevice implementiert ein ARCore-basiertes camera device und gibt InputFrame aus (einschließlich image, camera parameters, timestamp, 6DOF-Positionsinformationen und tracking status). Vor der Verwendung muss java.lang.System.loadLibrary verwendet werden, um libarcore_sdk_c.so zu laden. Nach der Erstellung kann start/stop aufgerufen werden, um das Sammeln von video stream-Daten zu starten und zu stoppen. Wenn das Gerät nicht mehr benötigt wird, kann close zum Schließen aufgerufen werden. Nach close sollte es nicht mehr verwendet werden. ARCoreCameraDevice gibt InputFrame über inputFrameSource aus; inputFrameSource sollte zur Verwendung mit InputFrameSink verbunden werden. bufferCapacity bezeichnet die Kapazität des InputFrame-Buffers. Wenn mehr als diese Anzahl von InputFrame aus dem Gerät ausgegeben und nicht freigegeben werden, gibt das Gerät keine neuen InputFrame mehr aus, bis vorherige InputFrame freigegeben wurden. Dies kann Probleme wie ein eingefrorenes Bild verursachen. Hinweis: Die aktuelle ARCore-Implementierung (v1.13.0) hat beim Erstellen und Zerstören von session ein Speicherleck. Wiederholtes Erstellen und Zerstören führt dazu, dass die Speichernutzung weiter steigt und nach der Zerstörung nicht freigegeben wird.

ARCoreDeviceListDownloader

ARCoreDeviceListDownloader wird verwendet, um aktualisierte Kalibrierungsparameter der Geräteliste herunterzuladen, die in ARCoreCameraDevice verwendet werden.

ARKitCameraDevice

ARKitCameraDevice implementiert ein ARKit-basiertes camera device und gibt InputFrame aus (einschließlich image, camera parameters, timestamp, 6DOF-Positionsinformationen und tracking status). Nach der Erstellung kann start/stop aufgerufen werden, um das Sammeln von video stream-Daten zu starten und zu stoppen. Wenn das Gerät nicht mehr benötigt wird, kann close zum Schließen aufgerufen werden. Nach close sollte es nicht mehr verwendet werden. ARKitCameraDevice gibt InputFrame über inputFrameSource aus; inputFrameSource sollte zur Verwendung mit InputFrameSink verbunden werden. bufferCapacity bezeichnet die Kapazität des InputFrame-Buffers. Wenn mehr als diese Anzahl von InputFrame aus dem Gerät ausgegeben und nicht freigegeben werden, gibt das Gerät keine neuen InputFrame mehr aus, bis vorherige InputFrame freigegeben wurden. Dies kann Probleme wie ein eingefrorenes Bild verursachen.

AttitudeSensor

AttitudeSensor ruft den systembereitgestellten Lagesensor auf und gibt AttitudeSensorResult aus. Wenn das Gerät nicht mehr benötigt wird, rufen Sie close auf, um es zu schließen. Nach close sollte es nicht verwendet werden. Es wird nicht empfohlen, es gleichzeitig mehrmals zu öffnen, da es möglicherweise nicht verfügbar ist oder an Genauigkeit verliert.

AttitudeSensorResult

Messwert des attitude sensor. Die positive x-Achse zeigt vom Geraetezentrum zur rechten Bildschirmseite. Die positive y-Achse zeigt vom Geraetezentrum zum oberen Bildschirmrand. Die positive z-Achse zeigt vom Geraetezentrum senkrecht zum Bildschirm nach aussen. Das Geraet rotiert um einen Winkel θ um die Achse (x, y, z). Das Einheits-Rotationsquaternion ist (cos(θ/2), x*sin(θ/2), y*sin(θ/2), z*sin(θ/2)). (v0, v1, v2, v3) = (cos(θ/2), x*sin(θ/2), y*sin(θ/2), z*sin(θ/2)). Das Referenzkoordinatensystem ist als Satz orientierter standardmaessiger Orthonormalbasen definiert, wobei

Z zum Himmel zeigt und parallel zum Boden ist.

(X, Y, Z) ein rechtshaendiges System bildet.

timestamp ist in Sekunden angegeben.

AttitudeSensorResultSink

Eingangsport für Ergebnisse des Attitude-Sensors. Wird verwendet, um den Eingangsport einer Komponente offenzulegen. Alle Member dieser Klasse sind threadsicher.

AttitudeSensorResultSource

Ausgabeport für Lagesensorergebnis. Wird verwendet, um den Ausgabeport einer Komponente offenzulegen. Alle Member dieser Klasse sind threadsicher.

BlockInfo

Das durch dense reconstruction erhaltene Modell wird durch ein Dreiecksnetz dargestellt, genannt mesh. Da mesh häufig aktualisiert wird, wird zur Effizienz das mesh des gesamten rekonstruierten Modells in viele mesh blocks unterteilt. Ein mesh block besteht aus einem Würfel mit einer Seitenlänge von etwa 1 Meter und enthält Elemente wie vertex und index. BlockInfo beschreibt den Inhalt eines mesh block. Dabei ist (x,y,z) der Index des mesh block. Durch Multiplizieren von (x,y,z) mit der physischen Größe jedes mesh block erhält man die Koordinaten des origin dieses mesh block im world coordinate system. Die anzuzeigenden Teile können anhand der Position des mesh block in der Welt vorab gefiltert werden, um Renderzeit zu sparen.

BlockPriorResult

Vorab-Karteninformationen. blockIds sind Karten-IDs. mode ist der Modus, in dem Vorabinformationen vom System verwendet werden, und kann soft oder hard sein. Siehe BlockPriorMode.

Buffer

Buffer speichert ein raw byte array und kann zum Zugriff auf image data verwendet werden. In the Java API, you can get the buffer from Image and then copy data to a Java byte array. In all versions of EasyAR Sense, you can access image data. Refer to Image.

BufferDictionary

Eine Zuordnung von Dateipfaden zu Buffer. Wird verwendet, um mehrere im Speicher abgelegte Dateien darzustellen.

BufferPool

BufferPool implementiert einen Speicherpool. Er kann für Funktionen verwendet werden, die wiederholt Speicher gleicher Größe zuweisen, z. B. benutzerdefinierter Kamerazugriff, und reduziert die Zeit für Speicherzuweisungen.

CalibrationDownloader

CalibrationDownloader wird verwendet, um aktualisierte Kalibrierungsparameter herunterzuladen, die in MotionTracker verwendet werden. MotionTracker muss nach dem Herunterladen neu erstellt werden, damit die Aktualisierung wirksam wird.

CallbackScheduler

Callback-Scheduler. Es gibt zwei Unterklassen, DelayedCallbackScheduler und ImmediateCallbackScheduler. DelayedCallbackScheduler wird verwendet, um Callbacks bis zum manuellen Aufruf zu verzögern, und kann in Single-Thread-Umgebungen wie verschiedenen UI-Umgebungen verwendet werden. ImmediateCallbackScheduler wird verwendet, um Callbacks sofort auszuführen, und kann in Multi-Thread-Umgebungen wie Servern oder Hintergrunddiensten verwendet werden.

CameraDevice

CameraDevice implements a camera device that outputs InputFrame (including image, camera parameters, and timestamp). It is available on Windows, Mac, Android, and iOS. After opening, start/stop can be called to start and stop data collection. start/stop do not affect previously set camera parameters. When the device is no longer needed, close can be called to close it. It should not be used after close. CameraDevice outputs InputFrame through inputFrameSource. inputFrameSource should be connected to InputFrameSink for use. bufferCapacity indicates the capacity of the InputFrame buffer. If more than this number of InputFrame objects are output from the device and not released, the device will stop outputting new InputFrame objects until previous InputFrame objects are released. This may cause problems such as a frozen image. When used on Android, the android.permission.CAMERA permission declaration must be added to AndroidManifest.xml. When used on iOS, the NSCameraUsageDescription permission declaration must be added to Info.plist.

CameraDeviceSelector

Wird verwendet, um die Camera API (camera1 oder camera2) unter Android auszuwählen. camera1 hat bessere Kompatibilität, enthält aber einige notwendige Informationen wie Zeitstempel nicht. camera2 hat auf einigen Geräten Kompatibilitätsprobleme. Verschiedene Optionen wählen je nach Verwendung camera1 oder camera2 aus.

CameraParameters

camera parameters, einschließlich Bildgroße, focal length, principal point, camera-Typ und Rotationswinkel der camera relativ zur device natural orientation.

CloudLocalizer

CloudLocalizer implementiert cloud localization.

CloudLocalizerBlockInstance

Eine Instanz eines von CloudLocalizer lokalisierten blocks.

CloudLocalizerResult
CloudRecognizationResult
CloudRecognizer

CloudRecognizer implementiert cloud recognition. Für cloud recognition muss vor der Verwendung eine cloud recognition-Bildbibliothek in der Cloud erstellt werden. Siehe EasyAR CRS-Dokumentation. Wenn diese Komponente nicht mehr benötigt wird, rufen Sie close auf, um sie zu schließen. Nach close sollte sie nicht weiter verwendet werden. Vor der Verwendung von CloudRecognizer muss ein ImageTracker eingerichtet und vorbereitet werden. Jeder zurückgegebene target sollte vor dem Tracking manuell mit loadTarget in ImageTracker geladen werden. Nach dem Laden sind recognition und tracking des target identisch mit der Verwendung eines lokalen target. Nachdem ein target erkannt wurde, können Sie ihn aus dem callback erhalten und sollten dann die target uid verwenden, um verschiedene targets zu unterscheiden. Die target runtimeID wird dynamisch erzeugt und eignet sich nicht als eindeutige Kennung für einen target bei cloud recognition.

DelayedCallbackScheduler

Scheduler für verzögerte Callbacks. Wird verwendet, um Callbacks bis zum manuellen Aufruf zu verzögern, und kann in Single-Thread-Umgebungen wie verschiedenen UI-Umgebungen verwendet werden. Alle Member dieser Klasse sind threadsicher.

DenseSpatialMap

DenseSpatialMap wird für die genaue dreidimensionale dichte Rekonstruktion der Umgebung verwendet. Das rekonstruierte Modell wird durch ein Dreiecksnetz dargestellt, genannt mesh. DenseSpatialMap belegt 1 camera buffer.

DeviceAuxiliaryInfo
Engine
EventDumpRecorder

Ereignisdump-Recorder. Wird verwendet, um einige wichtige Diagnoseinformationen in EED-Dateien zu speichern. Alle Member dieser Klasse sind threadsicher.

FeedbackFrame

Feedback-Frame. Enthält einen Eingabeframe und einen historischen Ausgabeframe und wird für feedbackbasierte synchrone Verarbeitungskomponenten wie ImageTracker verwendet.

FeedbackFrameFork

Feedback-Frame-Fork. Wird verwendet, um einen Feedback-Frame parallel an mehrere Komponenten zu übertragen. Alle Member dieser Klasse sind threadsicher.

FeedbackFrameSink

Eingangsport für Feedback-Frames. Wird verwendet, um den Eingangsport einer Komponente offenzulegen. Alle Member dieser Klasse sind threadsicher.

FeedbackFrameSource

Ausgabeport für Feedback-Frame. Wird verwendet, um den Ausgabeport einer Komponente offenzulegen. Alle Member dieser Klasse sind threadsicher.

FrameFilterResult

FrameFilterResult ist die Basisklasse für alle Ergebnisse von Komponenten, die synchrone Algorithmen verwenden.

Gyroscope

Gyroscope ruft das systembereitgestellte Gyroskop auf und gibt GyroscopeResult aus. Wenn das Gerät nicht mehr benötigt wird, rufen Sie close auf, um es zu schließen. Nach close sollte es nicht verwendet werden. Es wird nicht empfohlen, es gleichzeitig mehrmals zu öffnen, da es möglicherweise nicht verfügbar ist oder an Genauigkeit verliert.

GyroscopeResult

Gyroskop-Messwerte. Die positive x-Achse zeigt vom Gerätemittelpunkt zur rechten Bildschirmseite. Die positive y-Achse zeigt vom Gerätemittelpunkt zur oberen Bildschirmseite. Die positive z-Achse zeigt vom Gerätemittelpunkt senkrecht zum Bildschirm nach außen. x, y, z geben die Winkelgeschwindigkeit um die entsprechenden Achsen in Radiant/Sekunde an. Wenn man von einem Punkt in positiver Richtung einer Koordinatenachse auf das Gerät blickt, ist gegen den Uhrzeigersinn die positive Drehrichtung. timestamp wird in Sekunden angegeben.

GyroscopeResultSink

Eingangsport für Gyroskop-Ergebnisse. Wird verwendet, um den Eingangsport einer Komponente offenzulegen. Alle Member dieser Klasse sind threadsicher.

GyroscopeResultSource

Ausgabeport für Gyroskopergebnis. Wird verwendet, um den Ausgabeport einer Komponente offenzulegen. Alle Member dieser Klasse sind threadsicher.

Image

Image speichert Bilddaten und wird verwendet, um ein image im Speicher darzustellen. Image bietet Zugriff auf Rohdaten als Byte-Array und stellt außerdem Schnittstellen zum Zugriff auf Informationen wie width/height bereit. In allen Versionen von EasyAR Sense können Sie auf Bilddaten zugreifen. Unter iOS können Sie so darauf zugreifen

#import <easyar/buffer.oc.h>
#import <easyar/image.oc.h>

easyar_OutputFrame * outputFrame = [outputFrameBuffer peek];
if (outputFrame != nil) {
    easyar_Image * i = [[outputFrame inputFrame] image];
    easyar_Buffer * b = [i buffer];
    char * bytes = calloc([b size], 1);
    memcpy(bytes, [b data], [b size]);
    // use bytes here
    free(bytes);
}

Unter Android,

import cn.easyar.*;

OutputFrame outputFrame = outputFrameBuffer.peek();
if (outputFrame != null) {
    InputFrame inputFrame = outputFrame.inputFrame();
    Image i = inputFrame.image();
    Buffer b = i.buffer();
    byte[] bytes = new byte[b.size()];
    b.copyToByteArray(0, bytes, 0, bytes.length);
    // use bytes here
    b.dispose();
    i.dispose();
    inputFrame.dispose();
    outputFrame.dispose();
}
ImageHelper

Image-Hilfsklasse.

ImageTarget

ImageTarget stellt ein target für ein planares Bild dar, das von ImageTracker getrackt werden kann. Werte in ImageTarget müssen zunächst mit Methoden wie create... gefüllt werden, bevor sie gelesen werden können. Nachdem es über loadTarget erfolgreich in ImageTracker geladen wurde, kann es von ImageTracker erkannt und getrackt werden.

ImageTargetParameters

ImageTargetParameters stellt die Parameter dar, die zum Erstellen von ImageTarget erforderlich sind.

ImageTracker

ImageTracker implements detection and tracking of planar cards. ImageTracker occupies (1 + SimultaneousNum) camera buffers. Use camera setBufferCapacity to set no less than the total number of camera buffers occupied by all components. After creation, start/stop can be called to start and stop running. start/stop are very lightweight calls. When the component is no longer needed, close can be called to close it. It should not be used after close. ImageTracker inputs FeedbackFrame through feedbackFrameSink. FeedbackFrameSource should be connected to feedbackFrameSink for use. Before a Target can be tracked by ImageTracker, you need to load it with loadTarget/unloadTarget. The result of load/unload can be obtained through the callback passed to the interface.

ImageTrackerConfig

Erstellungskonfiguration für ImageTracker.

ImageTrackerResult

Ergebnis von ImageTracker.

ImmediateCallbackScheduler

Scheduler für sofortige Callbacks. Wird verwendet, um Callbacks sofort auszuführen, und kann in Multi-Thread-Umgebungen wie Servern oder Hintergrunddiensten verwendet werden. Alle Member dieser Klasse sind threadsicher.

InertialCameraDevice

InertialCameraDevice implements a camera device based on motion inertia, outputting InputFrame whose CameraTransformType is FiveDofRotXZ (including image, camera parameters, timestamp, pose transform matrix, and tracking status). After creation, start/stop can be called to start and stop video stream data collection. When the device is no longer needed, close can be called to close it. It should not be used after close. InertialCameraDevice outputs InputFrame through inputFrameSource. inputFrameSource should be connected to InputFrameSink for use. bufferCapacity indicates the capacity of the InputFrame buffer. If more than this number of InputFrame objects are output from the device and not released, the device will stop outputting new InputFrame objects until previous InputFrame objects are released. This may cause problems such as a frozen image.

InputFrame

Input frame. Enthält image, camera parameters, timestamp, camera transform relativ zum world coordinate system und tracking status. Davon sind camera parameters, timestamp, camera transform relativ zum world coordinate system und tracking status optional, aber bestimmte Algorithmuskomponenten stellen bestimmte Anforderungen an den input.

InputFrameFork

Eingabeframe-Fork. Wird verwendet, um einen Eingabeframe parallel an mehrere Komponenten zu übertragen. Alle Member dieser Klasse sind threadsicher.

InputFramePlayer

Eingabeframe-Player. Hat einen Eingabeframe-Ausgabeport, der verwendet wird, um Eingabeframes aus einer EIF-Datei abzurufen. Alle Member dieser Klasse sind threadsicher.

InputFrameRecorder

Eingabeframe-Recorder. Hat einen Eingabeframe-Eingabeport und einen Eingabeframe-Ausgabeport und wird verwendet, um durchlaufende Eingabeframes in einer EIF-Datei zu speichern. Alle Member dieser Klasse sind threadsicher.

InputFrameSink

Eingangsport für Input-Frames. Wird verwendet, um den Eingangsport einer Komponente offenzulegen. Alle Member dieser Klasse sind threadsicher.

InputFrameSource

Ausgabeport für Eingabeframes. Wird verwendet, um den Ausgabeport einer Komponente offenzulegen. Alle Member dieser Klasse sind threadsicher.

InputFrameThrottler

Input frame throttler. It has one input frame input port and one input frame output port, used to prevent new input frames from entering an algorithm component while the component has not finished processing the previous frame. InputFrameThrottler occupies one camera buffer. Use camera setBufferCapacity to set no fewer camera buffers than the total number occupied by all components. All members of this class are thread-safe. Note that connecting and disconnecting signalInput should not be performed while data is flowing in, otherwise it may enter a state where it cannot output. It is recommended to complete data-flow connections before starting the Camera.

InputFrameToFeedbackFrameAdapter

Adapter von Eingabeframe zu Feedback-Frame. Hat einen Eingabeframe-Eingabeport, einen Eingabeport für historische Ausgabeframes und einen Feedback-Frame-Ausgabeport. Er kombiniert einen Eingabeframe und einen historischen Ausgabeframe zu einem Feedback-Frame und leitet ihn an Algorithmuskomponenten weiter, die Feedback-Frame-Eingabe benötigen, z. B. ImageTracker. Jedes Mal, wenn ein Eingabeframe eingegeben wird, wird er mit dem vorherigen historischen Ausgabeframe zu einem Feedback-Frame kombiniert. Wenn noch kein historischer Ausgabeframe eingegeben wurde, ist der historische Ausgabeframe im Feedback-Frame leer. InputFrameToFeedbackFrameAdapter belegt 1 camera buffer. Verwenden Sie setBufferCapacity der camera, um mindestens die Anzahl der von allen Komponenten belegten camera buffer festzulegen. Alle Member dieser Klasse sind threadsicher.

InputFrameToOutputFrameAdapter

Adapter von Eingabeframe zu Ausgabeframe. Hat einen Eingabeframe-Eingabeport und einen Ausgabeframe-Ausgabeport. Er kapselt Eingabeframes als Ausgabeframes und ermöglicht direktes Rendering ohne Verbindung zu Algorithmuskomponenten. Alle Member dieser Klasse sind threadsicher.

JniUtility

JNI utility class. Used to wrap Java arrays and ByteBuffer in Unity. iOS is not supported.

LocationResult

Positionsmessung. latitude und longitude sind in Grad. altitude ist in Metern. horizontalAccuracy ist die horizontale Genauigkeit in Metern. verticalAccuracy ist die Genauigkeit in Gravitationsrichtung in Metern.

LocationResultSink

Eingangsport für Standortergebnisse. Wird verwendet, um den Eingangsport einer Komponente offenzulegen. Alle Member dieser Klasse sind threadsicher.

LocationResultSource

Ausgabeport für Positionsergebnis. Wird verwendet, um den Ausgabeport einer Komponente offenzulegen. Alle Member dieser Klasse sind threadsicher.

Log

Log-Klasse. Wird verwendet, um Logs auszugeben oder eine benutzerdefinierte Log-Ausgabefunktion festzulegen.

Magnetometer

Magnetometer ruft das systembereitgestellte Magnetometer auf und gibt MagnetometerResult aus. Wenn das Gerät nicht mehr benötigt wird, rufen Sie close auf, um es zu schließen. Nach close sollte es nicht verwendet werden. Es wird nicht empfohlen, es gleichzeitig mehrmals zu öffnen, da es möglicherweise nicht verfügbar ist oder an Genauigkeit verliert.

MagnetometerResult

Magnetometer-Messwerte. Die positive x-Achse zeigt vom Gerätemittelpunkt zur rechten Bildschirmseite. Die positive y-Achse zeigt vom Gerätemittelpunkt zur oberen Bildschirmseite. Die positive z-Achse zeigt vom Gerätemittelpunkt senkrecht zum Bildschirm nach außen. x, y, z werden in uT (Mikrotesla) angegeben. timestamp wird in Sekunden angegeben.

MagnetometerResultSink

Eingangsport für Magnetometerergebnisse. Wird verwendet, um den Eingangsport einer Komponente offenzulegen. Alle Member dieser Klasse sind threadsicher.

MagnetometerResultSource

Ausgabeport für Magnetometerergebnis. Wird verwendet, um den Ausgabeport einer Komponente offenzulegen. Alle Member dieser Klasse sind threadsicher.

Matrix33F

Quadratische Matrix dritter Ordnung. Die Daten sind in row-major-Reihenfolge angeordnet.

Matrix44F

Quadratische Matrix vierter Ordnung. Die Daten sind in row-major-Reihenfolge angeordnet.

MegaGoBlockInfo

Block-Informationen im Mega Go-Kartenpaket.

MegaGoTargetLoadResult

Ergebnis des Ladens von target in Mega Go.

MegaGoTracker

Stellt bereit device-side localization. MegaGoTracker occupies 2 camera buffers.

MegaGoTrackerBlockInstance

Eine Instanz eines von MegaGoTracker lokalisierten blocks.

MegaGoTrackerLocalizationResponse

MegaGoTracker-Lokalisierungsantwort.

MegaGoTrackerResult

Ausgabeergebnis von MegaGoTracker. Im asynchronen Modus wird das Ergebnis über OutputFrame ausgegeben.

MegaLandmarkFilter

MegaLandmarkFilter implementiert VPS cloud localization-Filterung.

MegaLandmarkFilterResult
MegaTracker

Stellt cloud localization bereit. MegaTracker occupies 1 camera buffer.

MegaTrackerBlockInstance

Eine Instanz eines von MegaTracker lokalisierten blocks.

MegaTrackerLocalizationResponse

Antwort auf eine MegaTracker localization-Anfrage.

MegaTrackerResult

Ausgabe von MegaTracker, aktualisiert mit der Frequenz von OutputFrame.

MotionInputData

Bewegungseingabedaten. Enthaelt timestamp, transform relativ zum Weltkoordinatensystem und tracking-Status.

MotionTrackerCameraDevice

MotionTrackerCameraDevice implements a camera device for real-scale 6DOF motion tracking, outputting InputFrame (including image, camera parameters, timestamp, 6DOF position information, and tracking status). After creation, start/stop can be called to start and stop the data stream. When the device is no longer needed, close can be called to close it. It should not be used after close. MotionTrackerCameraDevice outputs InputFrame through inputFrameSource. inputFrameSource should be connected to InputFrameSink for use.

ObjectTarget

ObjectTarget stellt ein 3D object target dar, das von ObjectTracker getrackt werden kann. Die Größe von ObjectTarget wird durch die obj-Datei bestimmt. Die Größe kann durch Ändern von scale geändert werden. scale ist standardmäßig 1. Nachdem ObjectTarget über loadTarget erfolgreich in ObjectTracker geladen wurde, kann es von ObjectTracker erkannt und getrackt werden.

ObjectTargetParameters

ObjectTargetParameters stellt die Parameter dar, die zum Erstellen von ObjectTarget erforderlich sind.

ObjectTracker

ObjectTracker implementiert Erkennung und Tracking von 3D object targets. ObjectTracker belegt (1 + SimultaneousNum) camera-Buffer. setBufferCapacity der camera sollte verwendet werden, um mindestens die Anzahl der camera-Buffer festzulegen, die von allen Komponenten belegt werden. Nach der Erstellung kann start/stop aufgerufen werden, um den Betrieb zu starten und zu stoppen; start/stop sind sehr leichte Aufrufe. Wenn die Komponente nicht mehr benötigt wird, kann close zum Schließen aufgerufen werden. Nach close sollte sie nicht mehr verwendet werden. ObjectTracker gibt FeedbackFrame über feedbackFrameSink ein; FeedbackFrameSource sollte zur Verwendung mit feedbackFrameSink verbunden werden. Bevor ein Target von ObjectTracker getrackt werden kann, müssen Sie es über loadTarget/unloadTarget laden. Das Ergebnis von load/unload kann über callbacks ermittelt werden, die an die Schnittstelle übergeben werden.

ObjectTrackerResult

Ergebnis von ObjectTracker.

OutputFrame

Ausgabeframe. Enthält den Eingabeframe und die Ausgabeergebnisse synchroner Verarbeitungskomponenten.

OutputFrameBuffer

Ausgabeframe-Puffer. Hat einen Ausgabeframe-Eingabeport und eine Ausgabeframe-Abruffunktion, um das Abrufen von Ausgabeframes von asynchron auf synchrones Polling umzustellen, geeignet für Frame-für-Frame-Rendering. OutputFrameBuffer belegt 1 camera buffer. Verwenden Sie setBufferCapacity der camera, um mindestens die Anzahl der von allen Komponenten belegten camera buffer festzulegen. Alle Member dieser Klasse sind threadsicher.

OutputFrameFork

Ausgabeframe-Fork. Wird verwendet, um einen Ausgabeframe parallel an mehrere Komponenten zu übertragen. Alle Member dieser Klasse sind threadsicher.

OutputFrameJoin

Ausgabeframe-Joiner. Wird verwendet, um Ausgabeframes mehrerer Komponenten zu einem Ausgabeframe zusammenzuführen. Alle Member dieser Klasse sind threadsicher. Beachten Sie, dass das Verbinden und Trennen der mehreren Eingaben nicht erfolgen sollte, während Daten einfließen; andernfalls kann es in einem Zustand hängen bleiben, in dem keine Ausgabe möglich ist. (Es wird empfohlen, Datenflussverbindungen vor dem Start von Camera abzuschließen.)

OutputFrameSink

Eingangsport für Output-Frames. Wird verwendet, um den Eingangsport einer Komponente offenzulegen. Alle Member dieser Klasse sind threadsicher.

OutputFrameSource

Ausgabeport für Ausgabeframes. Wird verwendet, um den Ausgabeport einer Komponente offenzulegen. Alle Member dieser Klasse sind threadsicher.

PlaneData
PoseUtility
ProximityLocationResult

Näherungspositionsmessung. x, y und z sind in Metern. Der Ursprung ist der map block-Ursprung. y zeigt nach oben. accuracy ist in Metern. timestamp und validTime sind in Sekunden. is2d gibt an, ob y nicht verwendet wird.

ProximityLocationResultSink

Eingangsport für Näherungspositions-Ergebnisse. Wird verwendet, um den Eingangsport einer Komponente offenzulegen. Alle Member dieser Klasse sind threadsicher.

ProximityLocationResultSource

Ausgabeport für Näherungspositionsergebnis. Wird verwendet, um den Ausgabeport einer Komponente offenzulegen. Alle Member dieser Klasse sind threadsicher.

Recorder

Recorder implementiert Bildschirmaufzeichnung für die aktuelle Rendering-Umgebung. Der aktuelle Recorder funktioniert nur unter Android (4.3 oder neuer) und in der OpenGL ES 3.0-Umgebung unter iOS. Da er von OpenGLES abhängt, müssen alle Funktionen dieser Klasse (außer requestPermissions, einschließlich Destruktor) in einem einzelnen Thread aufgerufen werden, der einen OpenGLES-Kontext enthält. Unity Only Wenn in Unity Multi-threaded rendering verwendet wird, wird der Skript-Thread vom Rendering-Thread getrennt, und updateFrame kann nicht im Rendering-Thread aufgerufen werden. Wenn Bildschirmaufzeichnung benötigt wird, sollte Multi-threaded rendering daher deaktiviert werden. Bei Verwendung unter Android muss die Berechtigungsdeklaration android.permission.RECORD_AUDIO zu AndroidManifest.xml hinzugefügt werden. Bei Verwendung unter iOS muss die Berechtigungsdeklaration NSMicrophoneUsageDescription zu Info.plist hinzugefügt werden.

RecorderConfiguration

RecorderConfiguration ist die Startkonfiguration fuer Recorder.

SceneMesh
SignalSink

Signaleingangsport. Wird verwendet, um den Eingangsport einer Komponente offenzulegen. Alle Member dieser Klasse sind threadsicher.

SignalSource

Signalausgabeport. Wird verwendet, um den Ausgabeport einer Komponente offenzulegen. Alle Member dieser Klasse sind threadsicher.

SparseSpatialMap

Stellt bereit the main functions of the SparseSpatialMap system: map generation and storage, map loading and localization, and access to environment information such as point clouds and planes for hit Test. SparseSpatialMap occupies 2 camera buffers. Use camera setBufferCapacity to set no less than the total number of camera buffers occupied by all components.

SparseSpatialMapConfig

Wird verwendet, um die Lokalisierungsstrategie im Sparse-Spatial-Mapping zu konfigurieren.

SparseSpatialMapManager

SparseSpatialMap-Managerklasse zur Verwaltung der Freigabefunktion von SparseSpatialMap.

SparseSpatialMapResult

Ruft die Ausgabe des sparse mapping- und localization-Systems ab, aktualisiert mit der Frequenz von OutputFrame.

Storage
SurfaceTracker

SurfaceTracker implementiert tracking von Umgebungsoberflächen. SurfaceTracker belegt 1 camera buffer. Verwenden Sie setBufferCapacity der camera, um mindestens die Gesamtzahl der von allen Komponenten belegten camera buffers festzulegen. Nach der Erstellung können start/stop aufgerufen werden, um die Ausführung zu starten und zu stoppen. start/stop sind sehr leichte Aufrufe. Wenn diese Komponente nicht mehr benötigt wird, rufen Sie close auf, um sie zu schließen. Nach close sollte sie nicht weiter verwendet werden. SurfaceTracker gibt InputFrame über inputFrameSink ein. Verbinden Sie InputFrameSource zur Verwendung mit inputFrameSink.

SurfaceTrackerResult

Ergebnis von SurfaceTracker.

Target

Target is the base class of all targets in EasyAR that can be tracked by ImageTracker or other algorithms.

TargetInstance

TargetInstance ist ein von einem tracker verfolgtes target. TargetInstance enthaelt das urspruengliche verfolgte Target sowie den aktuellen status und die pose dieses Target.

TargetTrackerResult

TargetTrackerResult ist die Basisklasse von ImageTrackerResult und ObjectTrackerResult.

TextureId

TextureId kapselt Texturobjekte in Grafik-APIs. Für OpenGL/OpenGLES verwenden Sie getInt und fromInt. Für Direct3D verwenden Sie getPointer und fromPointer.

ThreeDofCameraDevice

ThreeDofCameraDevice implementiert ein three dof camera device und gibt InputFrame aus, dessen CameraTransformType ThreeDofRotOnly ist (einschließlich image, camera parameters, timestamp, pose-Transformationsmatrix und tracking status). Nach der Erstellung kann start/stop aufgerufen werden, um das Sammeln von video stream-Daten zu starten und zu stoppen. Wenn das Gerät nicht mehr benötigt wird, kann close zum Schließen aufgerufen werden. Nach close sollte es nicht mehr verwendet werden. ThreeDofCameraDevice gibt InputFrame über inputFrameSource aus; inputFrameSource sollte zur Verwendung mit InputFrameSink verbunden werden. bufferCapacity bezeichnet die Kapazität des InputFrame-Buffers. Wenn mehr als diese Anzahl von InputFrame aus dem Gerät ausgegeben und nicht freigegeben werden, gibt das Gerät keine neuen InputFrame mehr aus, bis vorherige InputFrame freigegeben wurden. Dies kann Probleme wie ein eingefrorenes Bild verursachen.

Vec2F

Zweidimensionaler float-Vektor.

Vec2I

Zweidimensionaler int-Vektor.

Vec3D

Dreidimensionaler double-Vektor.

Vec3F

Dreidimensionaler float-Vektor.

Vec4F

Vierdimensionaler float-Vektor.

Vec4I

Vierdimensionaler int-Vektor.

VideoInputFramePlayer

Input-frame-Player. Er besitzt einen input frame-Ausgabeport, der input frames aus EIF MKV-Dateien extrahiert. Alle Member dieser Klasse sind thread-safe.

VideoInputFrameRecorder

Input frame recorder. Besitzt einen input frame input port und einen input frame output port, um durchlaufende input frames in einer EIF MKV-Datei zu speichern. Alle Mitglieder dieser Klasse sind thread-safe.

VideoPlayer

VideoPlayer ist eine Klasse für video playback. EasyAR unterstützt normales Video, transparentes Video und streaming playback. Der Videoinhalt wird auf die an setRenderTexture übergebene texture gerendert. Diese Klasse unterstützt nur OpenGLES 3.0-texture. Da sie von OpenGLES abhängt, müssen alle Funktionen dieser Klasse (einschließlich destructor) in einem einzelnen thread mit OpenGLES-Kontext aufgerufen werden. Die aktuelle Version verlangt, dass Breite und Höhe Vielfache von 16 sind. Unterstützte Videodateiformate Windows: Media Foundation-kompatible Formate. Durch Installieren zusätzlicher Decoder können mehr Formate unterstützt werden. Siehe Supported Media Formats in Media Foundation . DirectShow wird nicht unterstützt. Mac: Nicht unterstützt. Android: Vom System unterstützte Formate. Siehe Supported media formats . iOS: Vom System unterstützte Formate. Derzeit gibt es kein gültiges Referenzdokument.

VisionOSARKitCameraDevice

VisionOSARKitCameraDevice implementiert ein auf VisionOS ARKit basierendes camera device, das InputFrame mit image, camera parameters, timestamp, 6DOF-Pose-Informationen und tracking status ausgibt. Nach der Erstellung können start/stop aufgerufen werden, um die Erfassung von video stream-Daten zu starten und zu stoppen. Wenn das device nicht mehr benötigt wird, rufen Sie close auf, um es zu schließen. Nach close sollte es nicht weiter verwendet werden. VisionOSARKitCameraDevice gibt InputFrame über inputFrameSource aus. Verbinden Sie inputFrameSource zur Verwendung mit InputFrameSink. bufferCapacity gibt die Kapazität des InputFrame-Buffers an. Wenn mehr als diese Anzahl von InputFrame von diesem device ausgegeben und nicht freigegeben werden, gibt das device keine neuen InputFrame mehr aus, bis die vorherigen InputFrame freigegeben wurden. Dies kann Probleme wie ein eingefrorenes Bild verursachen.

XREALCameraDevice

XREALCameraDevice implementiert ein auf XREAL Enterprise Native SDK Plugin basierendes camera device und gibt InputFrame aus (image, camera parameters, timestamp, 6DOF-Positionsinformationen und tracking status können nicht abgerufen werden). Nach der Erstellung kann start/stop aufgerufen werden, um das Sammeln von video stream-Daten zu starten und zu stoppen. Stellen Sie sicher, dass start erst aufgerufen wird, nachdem isDeviceSupported true zurückgibt. Wenn das Gerät nicht mehr benötigt wird, kann close zum Schließen aufgerufen werden. Nach close sollte es nicht mehr verwendet werden. XREALCameraDevice gibt InputFrame über inputFrameSource aus; inputFrameSource sollte zur Verwendung mit InputFrameSink verbunden werden. bufferCapacity bezeichnet die Kapazität des InputFrame-Buffers. Wenn mehr als diese Anzahl von InputFrame aus dem Gerät ausgegeben und nicht freigegeben werden, gibt das Gerät keine neuen InputFrame mehr aus, bis vorherige InputFrame freigegeben wurden. Dies kann Probleme wie ein eingefrorenes Bild verursachen.

Enumerationen

AndroidCameraApiType
ARCoreCameraDeviceFocusMode
ARCoreDeviceListDownloadStatus
ARKitCameraDeviceFocusMode
BlockPriorMode

Arbeitsmodus der vorherigen Karteninformationen

CalibrationDownloadStatus
CameraDeviceFocusMode
CameraDevicePreference
CameraDevicePresetProfile
CameraDeviceType

Kameragerätetyp.

CameraModelType

Kameramodelltyp.

CameraState
CameraTransformType

Kameratransformationstyp.

CloudLocalizerStatus

Cloud-Lokalisierungsstatus.

CloudRecognizationStatus
EngineOperatingSystem
ImageTrackerMode
InertialCameraDeviceFocusMode
LocalizationMode
LogLevel
MegaApiType

MEGA API-Typ.

MegaGoTargetLoadStatus

Ladestatus des Mega Go target.

MegaGoTrackerError

MegaGoTracker-Fehler.

MegaGoTrackerOutputUpdateStatus

Aktualisierungsstatus der MegaGoTracker-Lokalisierungsantwort für die Ausgabe.

MegaGoTrackerStatus

Ausführungsstatus von MegaGoTracker.

MegaLandmarkFilterStatus
MegaTrackerLocalizationStatus
MotionTrackerCameraDeviceFocusMode
MotionTrackerCameraDeviceFPS
MotionTrackerCameraDeviceQualityLevel
MotionTrackerCameraDeviceResolution
MotionTrackerCameraDeviceTrackingMode
MotionTrackingStatus

Beschreibt die Qualität des Bewegungs-Trackings des Geräts.

PermissionStatus
PixelFormat

PixelFormat stellt das Bildpixelformat dar. Die Pixelrichtung aller Formate verläuft von links nach rechts und von oben nach unten.

PlaneType
RecordProfile
RecordStatus
RecordVideoOrientation
RecordVideoSize
RecordZoomMode
StorageType

StorageType gibt an, wo Bilder, json-Dateien, Videos oder andere Dateien gespeichert werden. StorageType legt das Stammverzeichnis fest, in dem Dateien gespeichert werden. In allen zugehörigen Schnittstellen können relative Pfade von diesem Stammverzeichnis aus verwendet werden.

TargetStatus
ThreeDofCameraDeviceFocusMode
ValidationState
VideoInputFrameRecorderCompletionReason
VideoInputFrameRecorderVideoCodec
VideoStatus
VideoType