Table of Contents

Class MotionTrackerCameraDevice

Espace de noms
easyar

MotionTrackerCameraDevice implémente un appareil photo avec suivi de mouvement 6DOF à l'échelle réelle, produisant un InputFrame (contenant l'image, les paramètres de la caméra, l'horodatage, les informations de position 6DOF et l'état de suivi).
Après création, vous pouvez appeler start/stop pour démarrer et arrêter le flux de données.
Lorsque l'appareil n'est plus nécessaire, appelez close pour le fermer. Il ne doit plus être utilisé après close.
MotionTrackerCameraDevice produit des InputFrame via inputFrameSource. Connectez inputFrameSource à un InputFrameSink pour l'utiliser.

MotionTrackerCameraDevice

Constructeurs

MotionTrackerCameraDevice

Créer l'objet MotionTrackerCameraDevice.

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

Méthodes

isAvailable

Vérifiez si l'appareil prend en charge le suivi de mouvement. Renvoie True lorsque l'appareil prend en charge la fonction de suivi de mouvement, sinon renvoie 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()

Retours

Type Description
Boolean

getQualityLevel

Obtenir la qualité du Motion Tracking sur l'appareil, combiné au scénario d'application, cette valeur permet de déterminer s'il faut démarrer le Motion Tracking.

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()

Retours

Type Description
MotionTrackerCameraDeviceQualityLevel

setFrameRateType

Définissez le taux de rafraîchissement actuel de l'appareil actuel. Appelez avant de démarrer. Si la fonction n'est pas appelée, la valeur par défaut est 30fps.

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)

Paramètres

Nom Type Description
fps MotionTrackerCameraDeviceFPS

Retours

Type Description
Boolean

setFocusMode

Définir le mode de mise au point sur focusMode. Appeler avant start. Si cette fonction n'est pas appelée, la valeur par défaut est la mise au point automatique continue.

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)

Paramètres

Nom Type Description
focusMode MotionTrackerCameraDeviceFocusMode

Retours

Type Description
Boolean

setFrameResolutionType

Définir la résolution de l'image. À appeler avant start. Si cette fonction n'est pas appelée, la valeur par défaut est 1280x960 ou 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)

Paramètres

Nom Type Description
resolution MotionTrackerCameraDeviceResolution

Retours

Type Description
Boolean

setTrackingMode

Configuration du mode de suivi. À appeler avant le démarrage. Si cette fonction n'est pas appelée, le mode par défaut est le mode d'ancrage.

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)

Paramètres

Nom Type Description
trackingMode MotionTrackerCameraDeviceTrackingMode

Retours

Type Description
Boolean

setBufferCapacity

Définit la capacité de la mémoire tampon pour InputFrame.
bufferCapacity représente la capacité de la mémoire tampon des InputFrame. Si plus de InputFrame que cette capacité sont produits par l'appareil et n'ont pas été libérés, l'appareil cessera de produire de nouveaux InputFrame jusqu'à ce que les précédents soient libérés. Cela peut entraîner des problèmes tels que le gel de l'image.

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)

Paramètres

Nom Type Description
capacity Int32

Retours

Type Description
Void

bufferCapacity

Obtenir la capacité des InputFrame mis en mémoire tampon, la valeur par défaut est 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()

Retours

Type Description
Int32

inputFrameSource

InputFrame port de sortie

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()

Retours

Type Description
InputFrameSource

start

Démarrez le suivi de mouvement ou déclenchez la relocalisation depuis une pause, puis poursuivez le suivi après réussite.
Remarque : Si l'appareil est mis en pause par un appel à stop, puis relancé par un appel à start, cela déclenchera une relocalisation. Le suivi ne reprendra qu'après la réussite de cette relocalisation.

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()

Retours

Type Description
Boolean

stop

Suspendre le suivi de mouvement. Appeler start pour déclencher la relocalisation, reprendre le suivi de mouvement après une relocalisation réussie.

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()

Retours

Type Description
Void

close

Fermeture du processus de suivi de mouvement. close ne doit pas être utilisé par la suite.

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()

Retours

Type Description
Void

type

type de camera. Appelé après un start réussi.

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()

Retours

Type Description
CameraDeviceType

cameraOrientation

L'angle de rotation horaire nécessaire pour afficher l'image de la camera dans l'orientation naturelle de l'appareil. Appelé après un start réussi.

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()

Retours

Type Description
Int32

size

Obtenir la taille actuelle de l'image. Appeler après un démarrage réussi.

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()

Retours

Type Description
Vec2I

frameRateRangeLower

Obtenir la limite inférieure de la plage de fréquence d'images actuelle. Appeler après un open réussi.

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()

Retours

Type Description
Double

frameRateRangeUpper

Obtenir la limite supérieure de la plage de fréquence d'images actuelle. À appeler après un open réussi.

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()

Retours

Type Description
Double

hitTestAgainstPointCloud

Effectuez un test de collision (Hit Test) dans le nuage de points actuel pour obtenir la position 3D du point le plus proche le long d'un rayon allant de la caméra du plus proche au plus éloigné. Ce point est représenté par trois valeurs consécutives indiquant respectivement les coordonnées sur les axes X, Y et Z.
Le système de coordonnées d'image d'entrée ([0, 1]^2) a x vers la droite et y vers le bas, avec l'origine en haut à gauche. Utilisez imageCoordinatesFromScreenCoordinates pour convertir des coordonnées d'écran en coordonnées d'image.

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)

Paramètres

Nom Type Description
cameraImagePoint Vec2F

Retours

Type Description
List<Vec3F>

hitTestAgainstHorizontalPlane

Détection de test d'impact en temps réel sur les plans horizontaux détectés dans le champ de vision actuel. Lorsque vous cliquez sur un plan horizontal, la position 3D du point le plus proche du rayon du test d'impact sur ce plan est renvoyée.
Le système de coordonnées de l'image d'entrée ([0, 1]^2) a x vers la droite, y vers le bas, avec l'origine dans le coin supérieur gauche. Vous pouvez utiliser imageCoordinatesFromScreenCoordinates pour convertir les coordonnées d'écran en coordonnées d'image.
La sortie correspond aux coordonnées dans l'espace monde du nuage de points sur le plan. Chaque point est représenté par trois valeurs consécutives, indiquant respectivement les coordonnées sur les axes X, Y et Z.

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)

Paramètres

Nom Type Description
cameraImagePoint Vec2F

Retours

Type Description
List<Vec3F>

getLocalPointsCloud

Obtenir les informations de position des données de nuage de points actuelles. La position du nuage de points correspond à la position dans le système de coordonnées mondial. Chaque point est représenté par trois valeurs consécutives, indiquant respectivement les coordonnées sur les axes X, Y et Z.

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()

Retours

Type Description
List<Vec3F>