Class MotionTrackerCameraDevice
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()
+ (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
public static func isAvailable() -> Bool
public static bool isAvailable()
Retorna
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
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
Retorna
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
Retorna
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
Retorna
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
Retorna
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
bufferCapacity
Obtém a capacidade do buffer de InputFrame. O valor padrão é 8.
int easyar_MotionTrackerCameraDevice_bufferCapacity(const easyar_MotionTrackerCameraDevice * This)
public int bufferCapacity()
fun bufferCapacity(): Int
public func bufferCapacity() -> Int32
public virtual int bufferCapacity()
Retorna
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
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)
public func start() -> Bool
public virtual bool start()
Retorna
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)
public func stop() -> Void
public virtual void stop()
Retorna
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)
public func close() -> Void
public virtual void close()
Retorna
type
Tipo de câmera. Chame após start bem-sucedido.
easyar_CameraDeviceType easyar_MotionTrackerCameraDevice_type(const easyar_MotionTrackerCameraDevice * This)
- (easyar_CameraDeviceType)type
public func type() -> CameraDeviceType
public virtual CameraDeviceType type()
Retorna
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)
public int cameraOrientation()
fun cameraOrientation(): Int
public func cameraOrientation() -> Int32
public virtual int cameraOrientation()
Retorna
size
Obtém o tamanho atual da imagem. Chame após start bem-sucedido.
easyar_Vec2I easyar_MotionTrackerCameraDevice_size(const easyar_MotionTrackerCameraDevice * This)
public @Nonnull Vec2I size()
public func size() -> Vec2I
public virtual Vec2I size()
Retorna
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
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
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> |
|