Class MegaGoTracker
Fournit la fonction de localisation au niveau du périphérique.
MegaGoTracker occupe 2 tampons de caméra.
MegaGoTracker
Méthodes
isAvailable
Vérifiez si le composant est disponible. Sur Android, il est requis d'avoir un niveau d'API 24 ou supérieur ; toutes les plateformes doivent satisfaire aux dépendances d'exécution nécessaires.
bool easyar_MegaGoTracker_isAvailable(void)
static bool isAvailable()
public static boolean isAvailable()
companion object fun isAvailable(): Boolean
public static func isAvailable() -> Bool
public static bool isAvailable()
Retours
Port de saisie de trames. Les trames d'entrée doivent contenir des images, des paramètres de caméra et des horodatages. Les informations spatiales 6DoF doivent inclure cameraTransform et trackingStatus. Voir InputFrameSink.
void easyar_MegaGoTracker_inputFrameSink(easyar_MegaGoTracker * This, easyar_InputFrameSink * * Return)
std::shared_ptr<InputFrameSink> inputFrameSink()
public @Nonnull InputFrameSink inputFrameSink()
fun inputFrameSink(): InputFrameSink
- (easyar_InputFrameSink *)inputFrameSink
public func inputFrameSink() -> InputFrameSink
public virtual InputFrameSink inputFrameSink()
Retours
accelerometerResultSink
void easyar_MegaGoTracker_accelerometerResultSink(easyar_MegaGoTracker * This, easyar_AccelerometerResultSink * * Return)
std::shared_ptr<AccelerometerResultSink> accelerometerResultSink()
public @Nonnull AccelerometerResultSink accelerometerResultSink()
fun accelerometerResultSink(): AccelerometerResultSink
- (easyar_AccelerometerResultSink *)accelerometerResultSink
public func accelerometerResultSink() -> AccelerometerResultSink
public virtual AccelerometerResultSink accelerometerResultSink()
Retours
bufferRequirement
Nombre de tampons de la caméra occupés par le composant actuel.
int easyar_MegaGoTracker_bufferRequirement(const easyar_MegaGoTracker * This)
public int bufferRequirement()
fun bufferRequirement(): Int
public func bufferRequirement() -> Int32
public virtual int bufferRequirement()
Retours
outputFrameSource
void easyar_MegaGoTracker_outputFrameSource(easyar_MegaGoTracker * This, easyar_OutputFrameSource * * Return)
std::shared_ptr<OutputFrameSource> outputFrameSource()
public @Nonnull OutputFrameSource outputFrameSource()
fun outputFrameSource(): OutputFrameSource
- (easyar_OutputFrameSource *)outputFrameSource
public func outputFrameSource() -> OutputFrameSource
public virtual OutputFrameSource outputFrameSource()
Retours
create
void easyar_MegaGoTracker_create(easyar_MegaGoTracker * * Return)
static std::shared_ptr<MegaGoTracker> create()
public static @Nonnull MegaGoTracker create()
companion object fun create(): MegaGoTracker
+ (easyar_MegaGoTracker *)create
public static func create() throws -> MegaGoTracker
public static MegaGoTracker create()
Retours
Extraire les informations sur les blocs à partir du fichier de carte.
void easyar_MegaGoTracker_extractBlockInfoFromFile(easyar_String * path, easyar_OptionalOfMegaGoBlockInfo * Return)
static std::optional<std::shared_ptr<MegaGoBlockInfo>> extractBlockInfoFromFile(std::string path)
public static @Nullable MegaGoBlockInfo extractBlockInfoFromFile(java.lang.@Nonnull String path)
companion object fun extractBlockInfoFromFile(path: String): MegaGoBlockInfo?
+ (easyar_MegaGoBlockInfo *)extractBlockInfoFromFile:(NSString *)path
public static func extractBlockInfoFromFile(_ path: String) -> MegaGoBlockInfo?
public static Optional<MegaGoBlockInfo> extractBlockInfoFromFile(string path)
Paramètres
| Nom |
Type |
Description |
| path |
String |
|
Retours
Extraire les informations de bloc à partir des données de mémoire de la carte.
void easyar_MegaGoTracker_extractBlockInfoFromBuffer(easyar_Buffer * buffer, easyar_OptionalOfMegaGoBlockInfo * Return)
static std::optional<std::shared_ptr<MegaGoBlockInfo>> extractBlockInfoFromBuffer(std::shared_ptr<Buffer> buffer)
public static @Nullable MegaGoBlockInfo extractBlockInfoFromBuffer(@Nonnull Buffer buffer)
companion object fun extractBlockInfoFromBuffer(buffer: Buffer): MegaGoBlockInfo?
+ (easyar_MegaGoBlockInfo *)extractBlockInfoFromBuffer:(easyar_Buffer *)buffer
public static func extractBlockInfoFromBuffer(_ buffer: Buffer) -> MegaGoBlockInfo?
public static Optional<MegaGoBlockInfo> extractBlockInfoFromBuffer(Buffer buffer)
Paramètres
| Nom |
Type |
Description |
| buffer |
Buffer |
|
Retours
setEnableStatelessLocalization
Définissez si le positionnement stateless est activé. Lorsque le positionnement stateless est activé, le résultat de la précédente positionnement ne sera pas utilisé lors du positionnement. La valeur par défaut est false.
void easyar_MegaGoTracker_setEnableStatelessLocalization(easyar_MegaGoTracker * This, bool enableStatelessLocalization)
void setEnableStatelessLocalization(bool enableStatelessLocalization)
public void setEnableStatelessLocalization(boolean enableStatelessLocalization)
fun setEnableStatelessLocalization(enableStatelessLocalization: Boolean): Unit
- (void)setEnableStatelessLocalization:(bool)enableStatelessLocalization
public func setEnableStatelessLocalization(_ enableStatelessLocalization: Bool) -> Void
public virtual void setEnableStatelessLocalization(bool enableStatelessLocalization)
Paramètres
| Nom |
Type |
Description |
| enableStatelessLocalization |
Boolean |
|
Retours
setResultAsyncMode
Définir le mode asynchrone des résultats. Si les résultats sont affichés via outputFrameSource, cela devrait être défini sur true ; si les résultats sont obtenus via getSyncResult, cela devrait être défini sur false. La valeur par défaut est true. Le mode synchrone n'est disponible que lors de l'utilisation de la XR License. Retourne true si le mode demandé est appliqué avec succès ; retourne false si le mode synchrone n'est pas pris en charge, et conserve le mode asynchrone.
bool easyar_MegaGoTracker_setResultAsyncMode(easyar_MegaGoTracker * This, bool enableAsync)
bool setResultAsyncMode(bool enableAsync)
public boolean setResultAsyncMode(boolean enableAsync)
fun setResultAsyncMode(enableAsync: Boolean): Boolean
- (bool)setResultAsyncMode:(bool)enableAsync
public func setResultAsyncMode(_ enableAsync: Bool) -> Bool
public virtual bool setResultAsyncMode(bool enableAsync)
Paramètres
| Nom |
Type |
Description |
| enableAsync |
Boolean |
|
Retours
status
Retourne l'état actuel d'exécution de MegaGoTracker.
easyar_MegaGoTrackerStatus easyar_MegaGoTracker_status(const easyar_MegaGoTracker * This)
MegaGoTrackerStatus status()
- (easyar_MegaGoTrackerStatus)status
public func status() -> MegaGoTrackerStatus
public virtual MegaGoTrackerStatus status()
Retours
error
Retourne l'erreur actuelle de MegaGoTracker. Vide lorsqu'il n'y a pas d'erreur.
easyar_OptionalOfMegaGoTrackerError easyar_MegaGoTracker_error(const easyar_MegaGoTracker * This)
std::optional<MegaGoTrackerError> error()
public @Nullable Integer error()
public func error() -> MegaGoTrackerError?
public virtual Optional<MegaGoTrackerError> error()
Retours
setLocalizationCallback
Configurer le rappel de localisation. Lorsque l'état d'exécution est Detecting ou Tracking, chaque réponse de localisation valide et non annulée rapporte si elle a mis à jour la sortie ainsi que le horodatage de la trame d'entrée correspondante.
void easyar_MegaGoTracker_setLocalizationCallback(easyar_MegaGoTracker * This, easyar_CallbackScheduler * callbackScheduler, easyar_FunctorOfVoidFromMegaGoTrackerLocalizationResponse callback)
void setLocalizationCallback(std::shared_ptr<CallbackScheduler> callbackScheduler, std::function<void(std::shared_ptr<MegaGoTrackerLocalizationResponse>)> callback)
public void setLocalizationCallback(@Nonnull CallbackScheduler callbackScheduler, @Nonnull FunctorOfVoidFromMegaGoTrackerLocalizationResponse callback)
fun setLocalizationCallback(callbackScheduler: CallbackScheduler, callback: FunctorOfVoidFromMegaGoTrackerLocalizationResponse): Unit
- (void)setLocalizationCallback:(easyar_CallbackScheduler *)callbackScheduler callback:(void (^)(easyar_MegaGoTrackerLocalizationResponse * response))callback
public func setLocalizationCallback(_ callbackScheduler: CallbackScheduler, _ callback: @escaping (MegaGoTrackerLocalizationResponse) -> Void) -> Void
public virtual void setLocalizationCallback(CallbackScheduler callbackScheduler, Action<MegaGoTrackerLocalizationResponse> callback)
Paramètres
Retours
setCameraPositionOverride
Définissez la valeur de recouvrement de la position de la caméra par rapport au bloc de carte. Après avoir effectué la configuration, le MegaGoTracker affichera la valeur de recouvrement au lieu d'utiliser les coordonnées correspondantes dans les données de trame d'entrée. Cela peut être utilisé pour améliorer la précision de la pose de sortie lorsque les informations de carte sont connues et que les capteurs sont limités.
void easyar_MegaGoTracker_setCameraPositionOverride(easyar_MegaGoTracker * This, easyar_OptionalOfFloat x, easyar_OptionalOfFloat y, easyar_OptionalOfFloat z)
void setCameraPositionOverride(std::optional<float> x, std::optional<float> y, std::optional<float> z)
public void setCameraPositionOverride(java.lang.@Nullable Float x, java.lang.@Nullable Float y, java.lang.@Nullable Float z)
fun setCameraPositionOverride(x: Float?, y: Float?, z: Float?): Unit
- (void)setCameraPositionOverride:(NSNumber *)x y:(NSNumber *)y z:(NSNumber *)z
public func setCameraPositionOverride(_ x: Float?, _ y: Float?, _ z: Float?) -> Void
public virtual void setCameraPositionOverride(Optional<float> x, Optional<float> y, Optional<float> z)
Paramètres
| Nom |
Type |
Description |
| x |
Optional<Single> |
|
| y |
Optional<Single> |
|
| z |
Optional<Single> |
|
Retours
loadTargetFromFile
Chargez de manière asynchrone une cible (target) à partir d'un fichier. La cible ne peut être utilisée pour la localisation qu'une fois chargée avec succès.
Seule une cible peut être active à la fois. L'appel de cette méthode effacera immédiatement l'instance de bloc actuellement localisée par le Tracker et l'état de suivi accumulé. Si le chargement actuel échoue ou est annulé, la cible et l'instance de localisation précédentes ne seront pas restaurées.
L'appel de cette méthode remplacera les demandes de chargement non terminées. Le chargement en cours peut ne pas s'arrêter immédiatement ; la fonction de rappel (callback) de la demande remplacée sera appelée à la fin de l'opération, avec l'état de résultat MegaGoTargetLoadStatus.Canceled.
Si la cible ne peut être analysée ou si son contenu est endommagé, l'état de résultat sera MegaGoTargetLoadStatus.InvalidTarget.
Cette méthode renverra immédiatement. Une fois le chargement terminé, la fonction de rappel sera appelée sur le thread spécifié par CallbackScheduler ; en cas de succès, le résultat contiendra les informations sur le bloc chargé. MegaGoTargetLoadStatus.Success indique seulement que les données de la cible ont été chargées avec succès. Des vérifications ultérieures peuvent toujours être effectuées ou échouer. Vous devez vérifier l'état de traitement et les erreurs actuels de MegaGoTracker via le statut et les erreurs. Les fonctions de rappel non exécutées ne seront plus appelées après la fermeture de MegaGoTracker.
void easyar_MegaGoTracker_loadTargetFromFile(easyar_MegaGoTracker * This, easyar_String * path, easyar_CallbackScheduler * callbackScheduler, easyar_FunctorOfVoidFromMegaGoTargetLoadResult callback)
void loadTargetFromFile(std::string path, std::shared_ptr<CallbackScheduler> callbackScheduler, std::function<void(std::shared_ptr<MegaGoTargetLoadResult>)> callback)
public void loadTargetFromFile(java.lang.@Nonnull String path, @Nonnull CallbackScheduler callbackScheduler, @Nonnull FunctorOfVoidFromMegaGoTargetLoadResult callback)
fun loadTargetFromFile(path: String, callbackScheduler: CallbackScheduler, callback: FunctorOfVoidFromMegaGoTargetLoadResult): Unit
- (void)loadTargetFromFile:(NSString *)path callbackScheduler:(easyar_CallbackScheduler *)callbackScheduler callback:(void (^)(easyar_MegaGoTargetLoadResult * result))callback
public func loadTargetFromFile(_ path: String, _ callbackScheduler: CallbackScheduler, _ callback: @escaping (MegaGoTargetLoadResult) -> Void) -> Void
public virtual void loadTargetFromFile(string path, CallbackScheduler callbackScheduler, Action<MegaGoTargetLoadResult> callback)
Paramètres
Retours
loadTargetFromBuffer
Chargez de manière asynchrone une cible (target) à partir de la mémoire. La cible ne peut être utilisée pour la localisation qu'une fois chargée avec succès.
Seule une cible peut être active à la fois. L'appel de cette méthode efface immédiatement l'instance de bloc actuellement localisée par le Tracker et l'état de suivi accumulé. Si le chargement actuel échoue ou est annulé, la cible et l'instance de localisation précédentes ne seront pas restaurées.
L'appel de cette méthode remplace les requêtes de chargement en cours. Le chargement en cours peut ne pas s'arrêter immédiatement ; la fonction de rappel (callback) de la requête remplacée sera appelée à la fin de l'opération, avec l'état de résultat MegaGoTargetLoadStatus.Canceled.
Lorsque la cible ne peut pas être analysée ou que son contenu est endommagé, l'état de résultat est MegaGoTargetLoadStatus.InvalidTarget.
Cette méthode renvoie immédiatement. Une fois le chargement terminé, la fonction de rappel sera appelée sur le thread spécifié par CallbackScheduler ; en cas de succès, le résultat inclut les informations sur le bloc chargé. MegaGoTargetLoadStatus.Success indique seulement que les données de la cible ont été chargées avec succès. Des vérifications supplémentaires peuvent encore être effectuées ou échouer. Vous devez vérifier l'état de traitement actuel et les erreurs de MegaGoTracker via le statut (status) et l'erreur (error). Les fonctions de rappel en attente ne seront plus appelées après la fermeture de MegaGoTracker.
void easyar_MegaGoTracker_loadTargetFromBuffer(easyar_MegaGoTracker * This, easyar_Buffer * buffer, easyar_CallbackScheduler * callbackScheduler, easyar_FunctorOfVoidFromMegaGoTargetLoadResult callback)
void loadTargetFromBuffer(std::shared_ptr<Buffer> buffer, std::shared_ptr<CallbackScheduler> callbackScheduler, std::function<void(std::shared_ptr<MegaGoTargetLoadResult>)> callback)
public void loadTargetFromBuffer(@Nonnull Buffer buffer, @Nonnull CallbackScheduler callbackScheduler, @Nonnull FunctorOfVoidFromMegaGoTargetLoadResult callback)
fun loadTargetFromBuffer(buffer: Buffer, callbackScheduler: CallbackScheduler, callback: FunctorOfVoidFromMegaGoTargetLoadResult): Unit
- (void)loadTargetFromBuffer:(easyar_Buffer *)buffer callbackScheduler:(easyar_CallbackScheduler *)callbackScheduler callback:(void (^)(easyar_MegaGoTargetLoadResult * result))callback
public func loadTargetFromBuffer(_ buffer: Buffer, _ callbackScheduler: CallbackScheduler, _ callback: @escaping (MegaGoTargetLoadResult) -> Void) -> Void
public virtual void loadTargetFromBuffer(Buffer buffer, CallbackScheduler callbackScheduler, Action<MegaGoTargetLoadResult> callback)
Paramètres
Retours
unloadTarget
Désinstallez le target actuel et effacez l'instance de localisation actuelle et l'état de suivi accumulé. L'état logique du target passera immédiatement à non chargé.
L'appel de cette méthode remplacera également toutes les requêtes de chargement non terminées. Le chargement en cours peut ne pas s'arrêter immédiatement ; la callback de la requête remplacée sera appelée après la fin de l'opération, avec l'état de résultat MegaGoTargetLoadStatus.Canceled.
Cette méthode n'a pas de callback et n'attendra pas la fin de l'opération de désinstallation. Si aucun target n'est chargé ou en cours de chargement, l'appel de cette méthode n'aura aucun effet supplémentaire.
void easyar_MegaGoTracker_unloadTarget(easyar_MegaGoTracker * This)
public void unloadTarget()
public func unloadTarget() -> Void
public virtual void unloadTarget()
Retours
start
Commence le traitement des trames d'entrée et produit le résultat. Renvoie true en cas d'appel réussi ; renvoie false si le MegaGoTracker est fermé. Un appel répété n'a pas d'effet supplémentaire.
Appeler cette méthode après l'appel de stop permet de continuer à utiliser la cible (target) déjà chargée, sans avoir besoin de la recharger.
bool easyar_MegaGoTracker_start(easyar_MegaGoTracker * This)
public func start() -> Bool
public virtual bool start()
Retours
stop
Arrêtez le traitement des trames d'entrée et effacez l'instance de bloc actuellement localisée ainsi que l'état de suivi accumulé. Les résultats de traitement non terminés seront abandonnés.
Les cibles (target) chargées ne seront pas déchargées, et le chargement des cibles non terminé ne sera pas annulé. Leur callback sera toujours appelé. À ce moment, l'état de fonctionnement est « Idle » ; vous pouvez appeler la fonction start pour continuer à utiliser les cibles chargées.
void easyar_MegaGoTracker_stop(easyar_MegaGoTracker * This)
public func stop() -> Void
public virtual void stop()
Retours
close
Fermer définitivement MegaGoTracker, arrêter le traitement des trames d'entrée, effacer les instances de bloc actuellement localisées et l'état de suivi accumulé, décharger la cible (target) et libérer les ressources associées. Les appels répétés de cette méthode n'auront aucun effet supplémentaire.
Toutes les opérations de localisation non terminées et de chargement de la cible (target) seront annulées, et les callbacks non exécutés ne seront plus appelés. Cette méthode peut attendre la fin des opérations en cours avant de retourner. Après avoir appelé la méthode close, il ne faut plus utiliser MegaGoTracker. L'appel de la méthode start retournera false.
void easyar_MegaGoTracker_close(easyar_MegaGoTracker * This)
public func close() -> Void
public virtual void close()
Retours
getSyncResult
Obtenir le résultat de sortie synchronisé. motionInputData ne doit pas être vide et le mode synchrone doit être activé via setResultAsyncMode. Lorsque le MegaGoTracker est en pause, fermé, dans un état d'erreur ou incapable de générer un résultat synchronisé actuellement, la valeur de retour est vide.
void easyar_MegaGoTracker_getSyncResult(easyar_MegaGoTracker * This, easyar_MotionInputData * motionInputData, easyar_OptionalOfMegaGoTrackerResult * Return)
std::optional<std::shared_ptr<MegaGoTrackerResult>> getSyncResult(std::shared_ptr<MotionInputData> motionInputData)
public @Nullable MegaGoTrackerResult getSyncResult(@Nonnull MotionInputData motionInputData)
fun getSyncResult(motionInputData: MotionInputData): MegaGoTrackerResult?
- (easyar_MegaGoTrackerResult *)getSyncResult:(easyar_MotionInputData *)motionInputData
public func getSyncResult(_ motionInputData: MotionInputData) -> MegaGoTrackerResult?
public virtual Optional<MegaGoTrackerResult> getSyncResult(MotionInputData motionInputData)
Paramètres
Retours