Class MotionTrackerCameraDevice
MotionTrackerCameraDevice implementa un dispositivo de cámara con seguimiento de movimiento 6DOF a escala real, que produce InputFrame (contiene imagen, parámetros de cámara, marca de tiempo, información de posición 6DOF y estado de seguimiento).
Tras la creación, se puede llamar a start/stop para iniciar y detener el flujo de datos.
Cuando el dispositivo ya no sea necesario, se puede llamar a close para cerrarlo. Tras close, no debe seguir utilizándose.
MotionTrackerCameraDevice genera InputFrame a través de inputFrameSource, que debe conectarse a InputFrameSink para su uso.
MotionTrackerCameraDevice
Constructores
MotionTrackerCameraDevice
Crea un objeto MotionTrackerCameraDevice.
void easyar_MotionTrackerCameraDevice__ctor(easyar_MotionTrackerCameraDevice * * Return)
MotionTrackerCameraDevice()
public MotionTrackerCameraDevice()
+ (easyar_MotionTrackerCameraDevice *) create
public convenience init()
public MotionTrackerCameraDevice()
Métodos
isAvailable
Verifica si el dispositivo admite Motion Tracking. Retorna True cuando el dispositivo soporta seguimiento de movimiento, de lo contrario 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()
Devuelve
getQualityLevel
Obtiene la calidad del Motion Tracking en el dispositivo. Combinado con el escenario de aplicación, este valor puede determinar si iniciar 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()
Devuelve
setFrameRateType
Establece la tasa de fotogramas actual del dispositivo. Se llama antes de start. Si no se llama, el valor predeterminado es 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)
Parámetros
Devuelve
setFocusMode
Establece el modo de enfoque como focusMode. Se llama antes de start. Si no se llama, el valor predeterminado es enfoque automático 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)
Parámetros
Devuelve
setFrameResolutionType
Establece la resolución de fotogramas. Se llama antes de start. Si no se llama, el valor predeterminado es 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)
Parámetros
Devuelve
setTrackingMode
Establece el modo de seguimiento. Se llama antes de start. Si no se llama, el valor predeterminado es modo de anclaje
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)
Parámetros
Devuelve
setBufferCapacity
Establece la capacidad del búfer de InputFrame.
bufferCapacity indica la capacidad del búfer de InputFrame. Si se producen más InputFrame de este dispositivo que no se liberan, el dispositivo dejará de producir nuevos InputFrame hasta que se liberen los anteriores. Esto puede causar congelamientos u otros problemas.
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)
Parámetros
| Nombre |
Tipo |
Descripción |
| capacity |
Int32 |
|
Devuelve
bufferCapacity
Obtiene la capacidad del búfer de InputFrame. El valor predeterminado es 8.
int easyar_MotionTrackerCameraDevice_bufferCapacity(const easyar_MotionTrackerCameraDevice * This)
public int bufferCapacity()
fun bufferCapacity(): Int
public func bufferCapacity() -> Int32
public virtual int bufferCapacity()
Devuelve
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()
Devuelve
start
Inicia el seguimiento de movimiento o activa la relocalización desde una pausa, continuando el seguimiento tras éxito.
Nota: Si el dispositivo estaba en pausa por stop y luego se llama a start, se activará la relocalización. El seguimiento continuará solo después de una relocalización exitosa.
bool easyar_MotionTrackerCameraDevice_start(easyar_MotionTrackerCameraDevice * This)
public func start() -> Bool
public virtual bool start()
Devuelve
stop
Pausa el seguimiento de movimiento. Llamar a start activa la relocalización; tras éxito, el seguimiento continúa.
void easyar_MotionTrackerCameraDevice_stop(easyar_MotionTrackerCameraDevice * This)
public func stop() -> Void
public virtual void stop()
Devuelve
close
Cierra el proceso de seguimiento de movimiento. Tras close, no debe seguir utilizándose.
void easyar_MotionTrackerCameraDevice_close(easyar_MotionTrackerCameraDevice * This)
public func close() -> Void
public virtual void close()
Devuelve
type
Tipo de cámara. Se llama tras un start exitoso.
easyar_CameraDeviceType easyar_MotionTrackerCameraDevice_type(const easyar_MotionTrackerCameraDevice * This)
- (easyar_CameraDeviceType)type
public func type() -> CameraDeviceType
public virtual CameraDeviceType type()
Devuelve
cameraOrientation
Ángulo de rotación horaria necesario para mostrar la imagen de la cámara en la orientación natural del dispositivo. Se llama tras un start exitoso.
int easyar_MotionTrackerCameraDevice_cameraOrientation(const easyar_MotionTrackerCameraDevice * This)
public int cameraOrientation()
fun cameraOrientation(): Int
public func cameraOrientation() -> Int32
public virtual int cameraOrientation()
Devuelve
size
Obtiene el tamaño de imagen actual. Se llama tras un start exitoso.
easyar_Vec2I easyar_MotionTrackerCameraDevice_size(const easyar_MotionTrackerCameraDevice * This)
public @Nonnull Vec2I size()
public func size() -> Vec2I
public virtual Vec2I size()
Devuelve
frameRateRangeLower
Obtiene el límite inferior del rango de fps actual. Se llama tras un open exitoso.
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()
Devuelve
frameRateRangeUpper
Obtiene el límite superior del rango de fps actual. Se llama tras un open exitoso.
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()
Devuelve
hitTestAgainstPointCloud
Realiza una prueba de impacto (Hit Test) en la nube de puntos actual, obteniendo las coordenadas 3D del punto más cercano a lo largo de un rayo desde la cámara (de cerca a lejos). El punto se representa mediante tres valores consecutivos para las coordenadas X, Y, Z.
El sistema de coordenadas de imagen de entrada ([0,1]^2) tiene x hacia la derecha, y hacia abajo, origen en la esquina superior izquierda. Se puede usar imageCoordinatesFromScreenCoordinates para convertir coordenadas de pantalla a imagen.
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)
Parámetros
| Nombre |
Tipo |
Descripción |
| cameraImagePoint |
Vec2F |
|
Devuelve
| Tipo |
Descripción |
| List<Vec3F> |
|
hitTestAgainstHorizontalPlane
Realiza una prueba de impacto (Hit Test) en planos horizontales detectados en tiempo real dentro del campo de visión actual. Al hacer clic en un plano, retorna las coordenadas 3D del punto más cercano al rayo de prueba en ese plano.
El sistema de coordenadas de imagen de entrada ([0,1]^2) tiene x hacia la derecha, y hacia abajo, origen en la esquina superior izquierda. Se puede usar imageCoordinatesFromScreenCoordinates para convertir coordenadas de pantalla a imagen.
La salida son las coordenadas del punto en la nube de puntos en el sistema de coordenadas mundial. Cada punto se representa mediante tres valores consecutivos para 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)
Parámetros
| Nombre |
Tipo |
Descripción |
| cameraImagePoint |
Vec2F |
|
Devuelve
| Tipo |
Descripción |
| List<Vec3F> |
|
getLocalPointsCloud
Obtiene la información de posición de la nube de puntos actual. Las posiciones de la nube de puntos están en el sistema de coordenadas mundial. Cada punto se representa mediante tres valores consecutivos para las coordenadas 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()
Devuelve
| Tipo |
Descripción |
| List<Vec3F> |
|