Table of Contents

Class MotionTrackerCameraDevice

Espaço de nomes
easyar

MotionTrackerCameraDevice implementa um dispositivo de câmera com rastreamento de movimento 6DOF em escala real, produzindo InputFrame (contendo imagem, parâmetros da câmera, timestamp, informações de posição 6DOF e estado de rastreamento). Após a criação, chame start/stop para iniciar e parar o fluxo de dados. Quando o dispositivo não for mais necessário, chame close para encerrá-lo. Após o close, não deve continuar a ser usado. MotionTrackerCameraDevice produz InputFrame através do inputFrameSource, que deve ser conectado a um InputFrameSink para uso.

MotionTrackerCameraDevice

Construtores

MotionTrackerCameraDevice

Cria um objeto MotionTrackerCameraDevice.

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

Métodos

isAvailable

Verifica se o dispositivo suporta Motion Tracking. Retorna True quando o dispositivo suporta rastreamento de movimento, caso contrário, retorna 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()

Retorna

Tipo Descrição
Boolean

getQualityLevel

Obtém a qualidade do Motion Tracking no dispositivo. Combinado com o cenário de aplicação, este valor pode determinar se o Motion Tracking deve ser iniciado.

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

Retorna

Tipo Descrição
MotionTrackerCameraDeviceQualityLevel

setFrameRateType

Define a taxa de quadros atual do dispositivo. Chame antes do start. Se não chamado, o padrão é 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

Nome Tipo Descrição
fps MotionTrackerCameraDeviceFPS

Retorna

Tipo Descrição
Boolean

setFocusMode

Define o modo de foco como focusMode. Chame antes do start. Se não chamado, o padrão é foco automático contínuo.

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

Nome Tipo Descrição
focusMode MotionTrackerCameraDeviceFocusMode

Retorna

Tipo Descrição
Boolean

setFrameResolutionType

Define a resolução do quadro. Chame antes do start. Se não chamado, o padrão é 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)

Parâmetros

Nome Tipo Descrição
resolution MotionTrackerCameraDeviceResolution

Retorna

Tipo Descrição
Boolean

setTrackingMode

Define o modo de rastreamento. Chame antes do start. Se não chamado, o padrão é modo de âncora.

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

Nome Tipo Descrição
trackingMode MotionTrackerCameraDeviceTrackingMode

Retorna

Tipo Descrição
Boolean

setBufferCapacity

Define a capacidade do buffer de InputFrame. bufferCapacity indica a capacidade do buffer de InputFrame. Se mais InputFrame do que este número forem produzidos pelo dispositivo e não liberados, o dispositivo deixará de produzir novos InputFrame até que os anteriores sejam liberados. Isso pode causar problemas como congelamento de imagem.

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

Nome Tipo Descrição
capacity Int32

Retorna

Tipo Descrição
Void

bufferCapacity

Obtém a capacidade do buffer de InputFrame. O valor padrão é 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()

Retorna

Tipo Descrição
Int32

inputFrameSource

Porta de saída de 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()

Retorna

Tipo Descrição
InputFrameSource

start

Inicia o rastreamento de movimento ou aciona a relocalização a partir de uma pausa, continuando o rastreamento após o sucesso. Nota: Se o dispositivo estiver em pausa após chamar stop e depois chamar start, a relocalização será acionada. O rastreamento continuará apenas após a relocalização bem-sucedida.

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

Retorna

Tipo Descrição
Boolean

stop

Pausa o rastreamento de movimento. Chamar start aciona a relocalização, retomando o rastreamento após sucesso.

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

Retorna

Tipo Descrição
Void

close

Encerra o processo de rastreamento de movimento. Após close, não deve continuar a ser usado.

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

Retorna

Tipo Descrição
Void

type

Tipo de câmera. Chame após start bem-sucedido.

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

Retorna

Tipo Descrição
CameraDeviceType

cameraOrientation

Ângulo de rotação horária necessário para exibir a imagem da câmera na orientação natural do dispositivo. Chame após start bem-sucedido.

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

Retorna

Tipo Descrição
Int32

size

Obtém o tamanho atual da imagem. Chame após start bem-sucedido.

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

Retorna

Tipo Descrição
Vec2I

frameRateRangeLower

Obtém o limite inferior da faixa de taxa de quadros atual. Chame após open bem-sucedido.

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

Retorna

Tipo Descrição
Double

frameRateRangeUpper

Obtém o limite superior da faixa de taxa de quadros atual. Chame após open bem-sucedido.

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

Retorna

Tipo Descrição
Double

hitTestAgainstPointCloud

Realiza Hit Test na nuvem de pontos atual, obtendo as coordenadas do ponto 3D mais próximo ao longo de um raio da câmera (ordenado de perto para longe). O ponto é representado por três valores consecutivos, indicando coordenadas nos eixos X, Y e Z. O sistema de coordenadas da imagem de entrada ([0, 1]^2) tem x para a direita, y para baixo, origem no canto superior esquerdo. Use imageCoordinatesFromScreenCoordinates para converter coordenadas de tela em coordenadas de imagem.

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

Nome Tipo Descrição
cameraImagePoint Vec2F

Retorna

Tipo Descrição
List<Vec3F>

hitTestAgainstHorizontalPlane

Realiza Hit Test em planos horizontais detectados em tempo real no campo de visão atual. Ao clicar em um plano horizontal, retorna as coordenadas 3D do ponto mais próximo do raio de Hit Test nesse plano. O sistema de coordenadas da imagem de entrada ([0, 1]^2) tem x para a direita, y para baixo, origem no canto superior esquerdo. Use imageCoordinatesFromScreenCoordinates para converter coordenadas de tela em coordenadas de imagem. A saída são coordenadas no sistema de coordenadas mundial para pontos na nuvem de pontos do plano. Cada ponto é representado por três valores consecutivos, indicando coordenadas nos eixos X, Y e 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

Nome Tipo Descrição
cameraImagePoint Vec2F

Retorna

Tipo Descrição
List<Vec3F>

getLocalPointsCloud

Obtém dados de posição da nuvem de pontos atual. As posições da nuvem de pontos estão no sistema de coordenadas mundial, com cada ponto representado por três valores consecutivos, indicando coordenadas nos eixos X, Y e 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()

Retorna

Tipo Descrição
List<Vec3F>