Class MotionTrackerCameraDevice
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()
+ (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
public static func isAvailable() -> Bool
public static bool isAvailable()
Valore restituito
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
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
Valore restituito
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
Valore restituito
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
Valore restituito
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
Valore restituito
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
bufferCapacity
Ottiene la capacità del buffer di InputFrame. Il valore predefinito è 8.
int easyar_MotionTrackerCameraDevice_bufferCapacity(const easyar_MotionTrackerCameraDevice * This)
public int bufferCapacity()
fun bufferCapacity(): Int
public func bufferCapacity() -> Int32
public virtual int bufferCapacity()
Valore restituito
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
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)
public func start() -> Bool
public virtual bool start()
Valore restituito
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)
public func stop() -> Void
public virtual void stop()
Valore restituito
close
Chiude il processo di tracciamento del movimento. Dopo close non dovrebbe essere più utilizzato.
void easyar_MotionTrackerCameraDevice_close(easyar_MotionTrackerCameraDevice * This)
public func close() -> Void
public virtual void close()
Valore restituito
type
Tipo di fotocamera. Chiamare dopo un avvio riuscito.
easyar_CameraDeviceType easyar_MotionTrackerCameraDevice_type(const easyar_MotionTrackerCameraDevice * This)
- (easyar_CameraDeviceType)type
public func type() -> CameraDeviceType
public virtual CameraDeviceType type()
Valore restituito
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)
public int cameraOrientation()
fun cameraOrientation(): Int
public func cameraOrientation() -> Int32
public virtual int cameraOrientation()
Valore restituito
size
Ottiene le dimensioni correnti dell'immagine. Chiamare dopo un avvio riuscito.
easyar_Vec2I easyar_MotionTrackerCameraDevice_size(const easyar_MotionTrackerCameraDevice * This)
public @Nonnull Vec2I size()
public func size() -> Vec2I
public virtual Vec2I size()
Valore restituito
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
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
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> |
|