Class MotionTrackerCameraDevice
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()
+ (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
public static func isAvailable() -> Bool
public static bool isAvailable()
Rückgabewert
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
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
Rückgabewert
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
Rückgabewert
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
Rückgabewert
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
Rückgabewert
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
bufferCapacity
Ruft die Kapazität des InputFrame-Puffers ab. Der Standardwert ist 8.
int easyar_MotionTrackerCameraDevice_bufferCapacity(const easyar_MotionTrackerCameraDevice * This)
public int bufferCapacity()
fun bufferCapacity(): Int
public func bufferCapacity() -> Int32
public virtual int bufferCapacity()
Rückgabewert
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
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)
public func start() -> Bool
public virtual bool start()
Rückgabewert
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)
public func stop() -> Void
public virtual void stop()
Rückgabewert
close
Beendet den Bewegungsverfolgungsprozess. Nach close sollte es nicht weiter verwendet werden.
void easyar_MotionTrackerCameraDevice_close(easyar_MotionTrackerCameraDevice * This)
public func close() -> Void
public virtual void close()
Rückgabewert
type
Kameratyp. Nach erfolgreichem start aufzurufen.
easyar_CameraDeviceType easyar_MotionTrackerCameraDevice_type(const easyar_MotionTrackerCameraDevice * This)
- (easyar_CameraDeviceType)type
public func type() -> CameraDeviceType
public virtual CameraDeviceType type()
Rückgabewert
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)
public int cameraOrientation()
fun cameraOrientation(): Int
public func cameraOrientation() -> Int32
public virtual int cameraOrientation()
Rückgabewert
size
Ruft die aktuelle Bildgröße ab. Nach erfolgreichem start aufzurufen.
easyar_Vec2I easyar_MotionTrackerCameraDevice_size(const easyar_MotionTrackerCameraDevice * This)
public @Nonnull Vec2I size()
public func size() -> Vec2I
public virtual Vec2I size()
Rückgabewert
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
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
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> |
|