Table of Contents

Class MotionTrackerCameraDevice

Spazio dei nomi
easyar

MotionTrackerCameraDevice implementa un dispositivo fotocamera con tracciamento del movimento 6DOF a scala reale, che emette InputFrame (inclusa immagine, parametri della fotocamera, timestamp, informazioni sulla posizione 6DOF e stato di tracciamento). Dopo la creazione, è possibile chiamare start/stop per avviare e interrompere il flusso di dati. Quando il dispositivo non è più necessario, chiamare close per chiuderlo. Dopo close non dovrebbe essere più utilizzato. MotionTrackerCameraDevice emette InputFrame tramite inputFrameSource; inputFrameSource deve essere collegato a InputFrameSink per l'utilizzo.

MotionTrackerCameraDevice

Costruttori

MotionTrackerCameraDevice

Crea un oggetto MotionTrackerCameraDevice.

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

Metodi

isAvailable

Verifica se il dispositivo supporta il Motion Tracking. Restituisce True quando il dispositivo supporta la funzionalità di tracciamento del movimento, altrimenti 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()

Valore restituito

Tipo Descrizione
Boolean

getQualityLevel

Ottiene la qualità del Motion Tracking sul dispositivo. In combinazione con lo scenario applicativo, questo valore può determinare se avviare il 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()

Valore restituito

Tipo Descrizione
MotionTrackerCameraDeviceQualityLevel

setFrameRateType

Imposta la frequenza fotogrammi corrente per il dispositivo. Chiamare prima di start. Se non chiamato, il valore predefinito è 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)

Parametri

Nome Tipo Descrizione
fps MotionTrackerCameraDeviceFPS

Valore restituito

Tipo Descrizione
Boolean

setFocusMode

Imposta la modalità di messa a fuoco su focusMode. Chiamare prima di start. Se non chiamato, il valore predefinito è autofocus continuo.

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)

Parametri

Nome Tipo Descrizione
focusMode MotionTrackerCameraDeviceFocusMode

Valore restituito

Tipo Descrizione
Boolean

setFrameResolutionType

Imposta la risoluzione dei fotogrammi. Chiamare prima di start. Se non chiamato, il valore predefinito è 1280x960 o 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)

Parametri

Nome Tipo Descrizione
resolution MotionTrackerCameraDeviceResolution

Valore restituito

Tipo Descrizione
Boolean

setTrackingMode

Imposta la modalità di tracciamento. Chiamare prima di start. Se non chiamato, il valore predefinito è modalità anchor.

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)

Parametri

Nome Tipo Descrizione
trackingMode MotionTrackerCameraDeviceTrackingMode

Valore restituito

Tipo Descrizione
Boolean

setBufferCapacity

Imposta la capacità del buffer per InputFrame. bufferCapacity indica la capacità del buffer di InputFrame. Se vengono emessi dal dispositivo più InputFrame di questo numero e non vengono rilasciati, il dispositivo smetterà di emettere nuovi InputFrame finché quelli precedenti non vengono rilasciati. Ciò può causare problemi come il blocco dell'immagine.

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)

Parametri

Nome Tipo Descrizione
capacity Int32

Valore restituito

Tipo Descrizione
Void

bufferCapacity

Ottiene la capacità del buffer di InputFrame. Il valore predefinito è 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()

Valore restituito

Tipo Descrizione
Int32

inputFrameSource

Porta di output per 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()

Valore restituito

Tipo Descrizione
InputFrameSource

start

Avvia il tracciamento del movimento o attiva il relocalizzamento da una pausa, continuando il tracciamento dopo il successo. Nota: se il dispositivo è stato messo in pausa chiamando stop e poi viene chiamato start, si attiverà il relocalizzamento. Il tracciamento riprenderà solo dopo il successo del relocalizzamento.

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

Valore restituito

Tipo Descrizione
Boolean

stop

Mette in pausa il tracciamento del movimento. Chiamare start per attivare il relocalizzamento; dopo il successo, il tracciamento del movimento riprende.

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

Valore restituito

Tipo Descrizione
Void

close

Chiude il processo di tracciamento del movimento. Dopo close non dovrebbe essere più utilizzato.

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

Valore restituito

Tipo Descrizione
Void

type

Tipo di fotocamera. Chiamare dopo un avvio riuscito.

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

Valore restituito

Tipo Descrizione
CameraDeviceType

cameraOrientation

Angolo di rotazione in senso orario necessario per visualizzare l'immagine della fotocamera nell'orientamento naturale del dispositivo. Chiamare dopo un avvio riuscito.

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

Valore restituito

Tipo Descrizione
Int32

size

Ottiene le dimensioni correnti dell'immagine. Chiamare dopo un avvio riuscito.

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

Valore restituito

Tipo Descrizione
Vec2I

frameRateRangeLower

Ottiene il limite inferiore dell'intervallo di frequenza fotogrammi corrente. Chiamare dopo un'apertura riuscita.

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

Valore restituito

Tipo Descrizione
Double

frameRateRangeUpper

Ottiene il limite superiore dell'intervallo di frequenza fotogrammi corrente. Chiamare dopo un'apertura riuscita.

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

Valore restituito

Tipo Descrizione
Double

hitTestAgainstPointCloud

Esegue un Hit Test sulla nuvola di punti corrente, ottenendo le coordinate 3D del punto più vicino su un raggio che parte dalla fotocamera e procede da vicino a lontano. Il punto è rappresentato da tre valori consecutivi, corrispondenti alle coordinate sugli assi X, Y, Z. Il sistema di coordinate dell'immagine di input ([0, 1]^2) ha x verso destra, y verso il basso, con l'origine in alto a sinistra. Utilizzare imageCoordinatesFromScreenCoordinates per convertire le coordinate dello schermo in coordinate immagine.

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)

Parametri

Nome Tipo Descrizione
cameraImagePoint Vec2F

Valore restituito

Tipo Descrizione
List<Vec3F>

hitTestAgainstHorizontalPlane

Esegue un Hit Test su un piano orizzontale rilevato in tempo reale nel campo visivo corrente. Dopo aver toccato un piano orizzontale, restituisce le coordinate 3D del punto più vicino al raggio di Hit Test su quel piano. Il sistema di coordinate dell'immagine di input ([0, 1]^2) ha x verso destra, y verso il basso, con l'origine in alto a sinistra. Utilizzare imageCoordinatesFromScreenCoordinates per convertire le coordinate dello schermo in coordinate immagine. L'output sono le coordinate nel sistema mondiale del punto sulla nuvola di punti sul piano. Ogni punto è rappresentato da tre valori consecutivi, corrispondenti alle coordinate sugli assi X, Y, 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)

Parametri

Nome Tipo Descrizione
cameraImagePoint Vec2F

Valore restituito

Tipo Descrizione
List<Vec3F>

getLocalPointsCloud

Ottiene le informazioni di posizione dei dati correnti della nuvola di punti. Le posizioni della nuvola di punti sono nel sistema di coordinate mondiale; ogni punto è rappresentato da tre valori consecutivi, corrispondenti alle coordinate sugli assi X, Y, 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()

Valore restituito

Tipo Descrizione
List<Vec3F>