Table of Contents

Class MotionTrackerCameraDevice

Namespace
easyar

MotionTrackerCameraDevice implementiert eine Kamera-Einrichtung mit 6DOF-Bewegungsverfolgung in echter Skala und gibt InputFrame aus (enthält Bild, Kameraparameter, Zeitstempel, 6DOF-Positionsinformationen und Tracking-Status). Nach der Erstellung können start/stop aufgerufen werden, um den Datenstrom zu starten und zu stoppen. Wenn die Einrichtung nicht mehr benötigt wird, kann close zum Schließen aufgerufen werden. Nach close sollte sie nicht weiter verwendet werden. MotionTrackerCameraDevice gibt InputFrame über inputFrameSource aus. inputFrameSource sollte zur Verwendung mit InputFrameSink verbunden werden.

MotionTrackerCameraDevice

Konstruktoren

MotionTrackerCameraDevice

Erstellt ein MotionTrackerCameraDevice-Objekt.

void easyar_MotionTrackerCameraDevice__ctor(easyar_MotionTrackerCameraDevice * * Return)
MotionTrackerCameraDevice()
public MotionTrackerCameraDevice()
constructor()
+ (easyar_MotionTrackerCameraDevice *) create
public convenience init()
public MotionTrackerCameraDevice()

Methoden

isAvailable

Überprüft, ob das Gerät Motion Tracking unterstützt. Gibt True zurück, wenn das Gerät Motion Tracking unterstützt, andernfalls False.

bool easyar_MotionTrackerCameraDevice_isAvailable(void)
static bool isAvailable()
public static boolean isAvailable()
companion object fun isAvailable(): Boolean
+ (bool)isAvailable
public static func isAvailable() -> Bool
public static bool isAvailable()

Rückgabewert

Typ Beschreibung
Boolean

getQualityLevel

Ruft die Qualität des Motion Tracking auf dem Gerät ab. Kombiniert mit dem Anwendungsszenario kann dieser Wert bestimmen, ob Motion Tracking gestartet werden soll.

easyar_MotionTrackerCameraDeviceQualityLevel easyar_MotionTrackerCameraDevice_getQualityLevel(void)
static MotionTrackerCameraDeviceQualityLevel getQualityLevel()
public static int getQualityLevel()
companion object fun getQualityLevel(): Int
+ (easyar_MotionTrackerCameraDeviceQualityLevel)getQualityLevel
public static func getQualityLevel() -> MotionTrackerCameraDeviceQualityLevel
public static MotionTrackerCameraDeviceQualityLevel getQualityLevel()

Rückgabewert

Typ Beschreibung
MotionTrackerCameraDeviceQualityLevel

setFrameRateType

Legt die aktuelle Bildrate für das Gerät fest. Vor start aufzurufen. Wenn nicht aufgerufen, beträgt die Standardeinstellung 30 fps.

bool easyar_MotionTrackerCameraDevice_setFrameRateType(easyar_MotionTrackerCameraDevice * This, easyar_MotionTrackerCameraDeviceFPS fps)
bool setFrameRateType(MotionTrackerCameraDeviceFPS fps)
public boolean setFrameRateType(int fps)
fun setFrameRateType(fps: Int): Boolean
- (bool)setFrameRateType:(easyar_MotionTrackerCameraDeviceFPS)fps
public func setFrameRateType(_ fps: MotionTrackerCameraDeviceFPS) -> Bool
public virtual bool setFrameRateType(MotionTrackerCameraDeviceFPS fps)

Parameter

Name Typ Beschreibung
fps MotionTrackerCameraDeviceFPS

Rückgabewert

Typ Beschreibung
Boolean

setFocusMode

Legt den Fokusmodus auf focusMode fest. Vor start aufzurufen. Wenn nicht aufgerufen, ist der kontinuierliche Autofokus die Standardeinstellung.

bool easyar_MotionTrackerCameraDevice_setFocusMode(easyar_MotionTrackerCameraDevice * This, easyar_MotionTrackerCameraDeviceFocusMode focusMode)
bool setFocusMode(MotionTrackerCameraDeviceFocusMode focusMode)
public boolean setFocusMode(int focusMode)
fun setFocusMode(focusMode: Int): Boolean
- (bool)setFocusMode:(easyar_MotionTrackerCameraDeviceFocusMode)focusMode
public func setFocusMode(_ focusMode: MotionTrackerCameraDeviceFocusMode) -> Bool
public virtual bool setFocusMode(MotionTrackerCameraDeviceFocusMode focusMode)

Parameter

Name Typ Beschreibung
focusMode MotionTrackerCameraDeviceFocusMode

Rückgabewert

Typ Beschreibung
Boolean

setFrameResolutionType

Legt die Bildauflösung fest. Vor start aufzurufen. Wenn nicht aufgerufen, ist die Standardeinstellung 1280x960 oder 1280x720.

bool easyar_MotionTrackerCameraDevice_setFrameResolutionType(easyar_MotionTrackerCameraDevice * This, easyar_MotionTrackerCameraDeviceResolution resolution)
bool setFrameResolutionType(MotionTrackerCameraDeviceResolution resolution)
public boolean setFrameResolutionType(int resolution)
fun setFrameResolutionType(resolution: Int): Boolean
- (bool)setFrameResolutionType:(easyar_MotionTrackerCameraDeviceResolution)resolution
public func setFrameResolutionType(_ resolution: MotionTrackerCameraDeviceResolution) -> Bool
public virtual bool setFrameResolutionType(MotionTrackerCameraDeviceResolution resolution)

Parameter

Name Typ Beschreibung
resolution MotionTrackerCameraDeviceResolution

Rückgabewert

Typ Beschreibung
Boolean

setTrackingMode

Legt den Tracking-Modus fest. Vor start aufzurufen. Wenn nicht aufgerufen, ist der Ankermodus die Standardeinstellung.

bool easyar_MotionTrackerCameraDevice_setTrackingMode(easyar_MotionTrackerCameraDevice * This, easyar_MotionTrackerCameraDeviceTrackingMode trackingMode)
bool setTrackingMode(MotionTrackerCameraDeviceTrackingMode trackingMode)
public boolean setTrackingMode(int trackingMode)
fun setTrackingMode(trackingMode: Int): Boolean
- (bool)setTrackingMode:(easyar_MotionTrackerCameraDeviceTrackingMode)trackingMode
public func setTrackingMode(_ trackingMode: MotionTrackerCameraDeviceTrackingMode) -> Bool
public virtual bool setTrackingMode(MotionTrackerCameraDeviceTrackingMode trackingMode)

Parameter

Name Typ Beschreibung
trackingMode MotionTrackerCameraDeviceTrackingMode

Rückgabewert

Typ Beschreibung
Boolean

setBufferCapacity

Legt die Kapazität des InputFrame-Puffers fest. bufferCapacity gibt die Kapazität des InputFrame-Puffers an. Wenn mehr InputFrame aus diesem Gerät ausgegeben werden als dieser Puffer aufnehmen kann und nicht freigegeben wurden, gibt das Gerät keine neuen InputFrame mehr aus, bis vorherige freigegeben wurden. Dies kann zu Einfrieren des Bildes oder anderen Problemen führen.

void easyar_MotionTrackerCameraDevice_setBufferCapacity(easyar_MotionTrackerCameraDevice * This, int capacity)
void setBufferCapacity(int capacity)
public void setBufferCapacity(int capacity)
fun setBufferCapacity(capacity: Int): Unit
- (void)setBufferCapacity:(int)capacity
public func setBufferCapacity(_ capacity: Int32) -> Void
public virtual void setBufferCapacity(int capacity)

Parameter

Name Typ Beschreibung
capacity Int32

Rückgabewert

Typ Beschreibung
Void

bufferCapacity

Ruft die Kapazität des InputFrame-Puffers ab. Der Standardwert ist 8.

int easyar_MotionTrackerCameraDevice_bufferCapacity(const easyar_MotionTrackerCameraDevice * This)
int bufferCapacity()
public int bufferCapacity()
fun bufferCapacity(): Int
- (int)bufferCapacity
public func bufferCapacity() -> Int32
public virtual int bufferCapacity()

Rückgabewert

Typ Beschreibung
Int32

inputFrameSource

Ausgabeport für InputFrame.

void easyar_MotionTrackerCameraDevice_inputFrameSource(easyar_MotionTrackerCameraDevice * This, easyar_InputFrameSource * * Return)
std::shared_ptr<InputFrameSource> inputFrameSource()
public @Nonnull InputFrameSource inputFrameSource()
fun inputFrameSource(): InputFrameSource
- (easyar_InputFrameSource *)inputFrameSource
public func inputFrameSource() -> InputFrameSource
public virtual InputFrameSource inputFrameSource()

Rückgabewert

Typ Beschreibung
InputFrameSource

start

Startet die Bewegungsverfolgung oder löst eine Relokalisierung nach einer Pause aus. Nach erfolgreicher Relokalisierung wird die Verfolgung fortgesetzt. Hinweis: Wenn das Gerät nach einem stop-Aufruf erneut mit start gestartet wird, löst dies eine Relokalisierung aus. Die Verfolgung wird erst fortgesetzt, nachdem die Relokalisierung erfolgreich war.

bool easyar_MotionTrackerCameraDevice_start(easyar_MotionTrackerCameraDevice * This)
bool start()
public boolean start()
fun start(): Boolean
- (bool)start
public func start() -> Bool
public virtual bool start()

Rückgabewert

Typ Beschreibung
Boolean

stop

Pausiert die Bewegungsverfolgung. Ein Aufruf von start löst eine Relokalisierung aus. Nach erfolgreicher Relokalisierung wird die Bewegungsverfolgung fortgesetzt.

void easyar_MotionTrackerCameraDevice_stop(easyar_MotionTrackerCameraDevice * This)
void stop()
public void stop()
fun stop(): Unit
- (void)stop
public func stop() -> Void
public virtual void stop()

Rückgabewert

Typ Beschreibung
Void

close

Beendet den Bewegungsverfolgungsprozess. Nach close sollte es nicht weiter verwendet werden.

void easyar_MotionTrackerCameraDevice_close(easyar_MotionTrackerCameraDevice * This)
void close()
public void close()
fun close(): Unit
- (void)close
public func close() -> Void
public virtual void close()

Rückgabewert

Typ Beschreibung
Void

type

Kameratyp. Nach erfolgreichem start aufzurufen.

easyar_CameraDeviceType easyar_MotionTrackerCameraDevice_type(const easyar_MotionTrackerCameraDevice * This)
CameraDeviceType type()
public int type()
fun type(): Int
- (easyar_CameraDeviceType)type
public func type() -> CameraDeviceType
public virtual CameraDeviceType type()

Rückgabewert

Typ Beschreibung
CameraDeviceType

cameraOrientation

Der Winkel, um den das Kamerabild im natürlichen Geräteorientierung im Uhrzeigersinn gedreht werden muss. Nach erfolgreichem start aufzurufen.

int easyar_MotionTrackerCameraDevice_cameraOrientation(const easyar_MotionTrackerCameraDevice * This)
int cameraOrientation()
public int cameraOrientation()
fun cameraOrientation(): Int
- (int)cameraOrientation
public func cameraOrientation() -> Int32
public virtual int cameraOrientation()

Rückgabewert

Typ Beschreibung
Int32

size

Ruft die aktuelle Bildgröße ab. Nach erfolgreichem start aufzurufen.

easyar_Vec2I easyar_MotionTrackerCameraDevice_size(const easyar_MotionTrackerCameraDevice * This)
Vec2I size()
public @Nonnull Vec2I size()
fun size(): Vec2I
- (easyar_Vec2I *)size
public func size() -> Vec2I
public virtual Vec2I size()

Rückgabewert

Typ Beschreibung
Vec2I

frameRateRangeLower

Ruft die untere Grenze des aktuellen Bildratenbereichs ab. Nach erfolgreichem open aufzurufen.

double easyar_MotionTrackerCameraDevice_frameRateRangeLower(const easyar_MotionTrackerCameraDevice * This)
double frameRateRangeLower()
public double frameRateRangeLower()
fun frameRateRangeLower(): Double
- (double)frameRateRangeLower
public func frameRateRangeLower() -> Double
public virtual double frameRateRangeLower()

Rückgabewert

Typ Beschreibung
Double

frameRateRangeUpper

Ruft die obere Grenze des aktuellen Bildratenbereichs ab. Nach erfolgreichem open aufzurufen.

double easyar_MotionTrackerCameraDevice_frameRateRangeUpper(const easyar_MotionTrackerCameraDevice * This)
double frameRateRangeUpper()
public double frameRateRangeUpper()
fun frameRateRangeUpper(): Double
- (double)frameRateRangeUpper
public func frameRateRangeUpper() -> Double
public virtual double frameRateRangeUpper()

Rückgabewert

Typ Beschreibung
Double

hitTestAgainstPointCloud

Führt einen Hit-Test in der aktuellen Punktwolke durch, um die Position des nächstgelegenen 3D-Punkts entlang eines Strahls von nah nach fern von der Kamera zu erhalten. Der Punkt wird durch drei aufeinanderfolgende Werte dargestellt, die die Koordinaten auf der X-, Y- und Z-Achse angeben. Das Eingabebildkoordinatensystem ([0, 1]^2) hat x nach rechts, y nach unten, mit dem Ursprung oben links. Verwenden Sie imageCoordinatesFromScreenCoordinates, um Bildschirmkoordinaten in Bildkoordinaten umzuwandeln.

void easyar_MotionTrackerCameraDevice_hitTestAgainstPointCloud(easyar_MotionTrackerCameraDevice * This, easyar_Vec2F cameraImagePoint, easyar_ListOfVec3F * * Return)
std::vector<Vec3F> hitTestAgainstPointCloud(Vec2F cameraImagePoint)
public java.util.@Nonnull ArrayList<@Nonnull Vec3F> hitTestAgainstPointCloud(@Nonnull Vec2F cameraImagePoint)
fun hitTestAgainstPointCloud(cameraImagePoint: Vec2F): ArrayList<Vec3F>
- (NSArray<easyar_Vec3F *> *)hitTestAgainstPointCloud:(easyar_Vec2F *)cameraImagePoint
public func hitTestAgainstPointCloud(_ cameraImagePoint: Vec2F) -> [Vec3F]
public virtual List<Vec3F> hitTestAgainstPointCloud(Vec2F cameraImagePoint)

Parameter

Name Typ Beschreibung
cameraImagePoint Vec2F

Rückgabewert

Typ Beschreibung
List<Vec3F>

hitTestAgainstHorizontalPlane

Führt einen Hit-Test auf den horizontalen Ebenen durch, die im aktuellen Sichtfeld in Echtzeit erkannt werden. Nach dem Klicken auf eine horizontale Ebene wird die Position des 3D-Punkts auf dieser Ebene zurückgegeben, der dem Hit-Test-Strahl am nächsten liegt. Das Eingabebildkoordinatensystem ([0, 1]^2) hat x nach rechts, y nach unten, mit dem Ursprung oben links. Verwenden Sie imageCoordinatesFromScreenCoordinates, um Bildschirmkoordinaten in Bildkoordinaten umzuwandeln. Die Ausgabe sind die Koordinaten des Punkts auf der Ebene im Weltkoordinatensystem. Jeder Punkt wird durch drei aufeinanderfolgende Werte dargestellt, die die Koordinaten auf der X-, Y- und Z-Achse angeben.

void easyar_MotionTrackerCameraDevice_hitTestAgainstHorizontalPlane(easyar_MotionTrackerCameraDevice * This, easyar_Vec2F cameraImagePoint, easyar_ListOfVec3F * * Return)
std::vector<Vec3F> hitTestAgainstHorizontalPlane(Vec2F cameraImagePoint)
public java.util.@Nonnull ArrayList<@Nonnull Vec3F> hitTestAgainstHorizontalPlane(@Nonnull Vec2F cameraImagePoint)
fun hitTestAgainstHorizontalPlane(cameraImagePoint: Vec2F): ArrayList<Vec3F>
- (NSArray<easyar_Vec3F *> *)hitTestAgainstHorizontalPlane:(easyar_Vec2F *)cameraImagePoint
public func hitTestAgainstHorizontalPlane(_ cameraImagePoint: Vec2F) -> [Vec3F]
public virtual List<Vec3F> hitTestAgainstHorizontalPlane(Vec2F cameraImagePoint)

Parameter

Name Typ Beschreibung
cameraImagePoint Vec2F

Rückgabewert

Typ Beschreibung
List<Vec3F>

getLocalPointsCloud

Ruft die Positionsinformationen der aktuellen Punktwolken-Daten ab. Die Positionen der Punkte sind im Weltkoordinatensystem angegeben. Jeder Punkt wird durch drei aufeinanderfolgende Werte dargestellt, die die Koordinaten auf der X-, Y- und Z-Achse angeben.

void easyar_MotionTrackerCameraDevice_getLocalPointsCloud(easyar_MotionTrackerCameraDevice * This, easyar_ListOfVec3F * * Return)
std::vector<Vec3F> getLocalPointsCloud()
public java.util.@Nonnull ArrayList<@Nonnull Vec3F> getLocalPointsCloud()
fun getLocalPointsCloud(): ArrayList<Vec3F>
- (NSArray<easyar_Vec3F *> *)getLocalPointsCloud
public func getLocalPointsCloud() -> [Vec3F]
public virtual List<Vec3F> getLocalPointsCloud()

Rückgabewert

Typ Beschreibung
List<Vec3F>