Class MotionTrackerCameraDevice
MotionTrackerCameraDevice는 실제 크기 6DOF 모션 추적 카메라 장치를 구현하며, InputFrame (이미지, 카메라 파라미터, 타임스탬프, 6DOF 위치 정보 및 추적 상태 포함)을 출력합니다.
생성 후, start/stop을 호출하여 데이터 스트림을 시작하고 중지할 수 있습니다.
해당 장치가 더 이상 필요하지 않은 경우 close를 호출하여 닫을 수 있습니다. close 이후에는 계속 사용해서는 안 됩니다.
MotionTrackerCameraDevice는 inputFrameSource를 통해 InputFrame을 출력하며, inputFrameSource를 InputFrameSink에 연결하여 사용해야 합니다.
MotionTrackerCameraDevice
생성자
MotionTrackerCameraDevice
MotionTrackerCameraDevice 객체 생성
void easyar_MotionTrackerCameraDevice__ctor(easyar_MotionTrackerCameraDevice * * Return)
MotionTrackerCameraDevice()
public MotionTrackerCameraDevice()
+ (easyar_MotionTrackerCameraDevice *) create
public convenience init()
public MotionTrackerCameraDevice()
메서드
isAvailable
기기가 모션 추적을 지원하는지 확인합니다. 기기가 모션 추적 기능을 지원할 경우 True를 반환하고, 그렇지 않으면 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()
반환 값
getQualityLevel
기기에서 모션 추적의 품질을 가져오고, 애플리케이션 시나리오와 결합하여 모션 추적을 시작할지 여부를 이 값을 통해 확인할 수 있습니다.
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()
반환 값
setFrameRateType
현재 장치의 현재 프레임 속도를 설정합니다. start 호출 전에 호출합니다. 이 기능이 호출되지 않으면 기본값은 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)
매개 변수
반환 값
setFocusMode
초점 모드를 focusMode로 설정합니다. start 전에 호출하세요. 이 기능이 호출되지 않을 경우 기본값은 연속 자동 초점입니다.
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)
매개 변수
반환 값
setFrameResolutionType
프레임 해상도를 설정합니다. start 전에 호출하십시오. 이 기능이 호출되지 않을 경우 기본값은 1280x960 또는 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)
매개 변수
반환 값
setTrackingMode
추적 모드 설정. 시작하기 전에 호출하세요. 이 기능을 호출하지 않으면 기본적으로 앵커 모드가 적용됩니다.
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)
매개 변수
반환 값
setBufferCapacity
<xref:n:easyar.InputFrame> 버퍼의 용량을 설정합니다.
bufferCapacity는 <xref:n:easyar.InputFrame> 버퍼의 용량을 나타냅니다. 이 장치에서 출력된 <xref:n:easyar.InputFrame> 중 해제되지 않은 것이 이 수량을 초과하면, 이전 <xref:n:easyar.InputFrame>이 해제될 때까지 이 장치는 새로운 <xref:n:easyar.InputFrame> 출력을 중지합니다. 이로 인해 화면이 멈추는 등의 문제가 발생할 수 있습니다.
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)
매개 변수
반환 값
bufferCapacity
int easyar_MotionTrackerCameraDevice_bufferCapacity(const easyar_MotionTrackerCameraDevice * This)
public int bufferCapacity()
fun bufferCapacity(): Int
public func bufferCapacity() -> Int32
public virtual int bufferCapacity()
반환 값
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()
반환 값
start
운동 추적을 시작하거나 일시 중지 상태에서 재위치 설정을 트리거하고 성공 후 추적을 계속합니다.
참고: 기기가 stop을 호출하여 일시 중지한 후 start를 호출하여 추적하는 경우 재위치 설정이 트리거되며, 재위치 설정이 성공한 후에야 추적이 계속됩니다.
bool easyar_MotionTrackerCameraDevice_start(easyar_MotionTrackerCameraDevice * This)
public func start() -> Bool
public virtual bool start()
반환 값
stop
운동 추적을 일시 중지합니다. start를 호출하여 재배치를 트리거하고, 재배치가 성공하면 운동 추적을 계속합니다.
void easyar_MotionTrackerCameraDevice_stop(easyar_MotionTrackerCameraDevice * This)
public func stop() -> Void
public virtual void stop()
반환 값
close
모션 추적 과정을 종료합니다. close 이후에는 사용해서는 안 됩니다.
void easyar_MotionTrackerCameraDevice_close(easyar_MotionTrackerCameraDevice * This)
public func close() -> Void
public virtual void close()
반환 값
type
카메라 유형. 성공적으로 start한 후에 호출하십시오.
easyar_CameraDeviceType easyar_MotionTrackerCameraDevice_type(const easyar_MotionTrackerCameraDevice * This)
- (easyar_CameraDeviceType)type
public func type() -> CameraDeviceType
public virtual CameraDeviceType type()
반환 값
cameraOrientation
카메라 이미지가 기기의 자연 방향으로 표시될 때 시계 방향으로 회전해야 하는 각도입니다. 성공적인 start 이후에 호출됩니다.
int easyar_MotionTrackerCameraDevice_cameraOrientation(const easyar_MotionTrackerCameraDevice * This)
public int cameraOrientation()
fun cameraOrientation(): Int
public func cameraOrientation() -> Int32
public virtual int cameraOrientation()
반환 값
size
현재 이미지 크기 가져오기. 성공적인 start 이후에 호출하세요.
easyar_Vec2I easyar_MotionTrackerCameraDevice_size(const easyar_MotionTrackerCameraDevice * This)
public @Nonnull Vec2I size()
public func size() -> Vec2I
public virtual Vec2I size()
반환 값
frameRateRangeLower
현재 프레임 속도 범위 하한값 가져오기. open이 성공한 후 호출.
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()
반환 값
frameRateRangeUpper
현재 프레임 속도 범위 상한을 가져옵니다. 성공적인 open 이후에 호출합니다.
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()
반환 값
hitTestAgainstPointCloud
현재 포인트 클라우드에서 히트 테스트를 수행하여 카메라로부터 가까운 곳에서 먼 곳으로 뻗는 광선 상의 가장 가까운 3D 점의 위치 좌표를 얻습니다. 이 점은 X, Y, Z축 좌표값을 각각 나타내는 세 개의 연속된 값으로 표시됩니다.
입력 이미지 좌표계 ([0, 1]^2)는 x축이 오른쪽, y축이 아래를 향하며 원점은 좌상단에 위치합니다. 화면 좌표를 이미지 좌표로 변환하기 위해 imageCoordinatesFromScreenCoordinates를 사용할 수 있습니다.
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)
매개 변수
| 이름 |
형식 |
설명 |
| cameraImagePoint |
Vec2F |
|
반환 값
hitTestAgainstHorizontalPlane
현재 시야 내에서 실시간으로 감지된 수평면에 대해 히트 테스트를 수행하며, 특정 평면을 클릭하면 해당 평면 위에서 히트 테스트 레이에 가장 가까운 3D 포인트의 위치 좌표를 반환합니다.
입력 이미지 좌표계([0, 1]^2)에서 x는 오른쪽, y는 아래쪽을 향하며 원점은 좌측 상단에 있습니다. 화면 좌표를 이미지 좌표로 변환할 때는 imageCoordinatesFromScreenCoordinates를 사용할 수 있습니다.
출력은 월드 좌표계에서 평면 위의 포인트 클라우드 좌표입니다. 각 포인트는 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)
매개 변수
| 이름 |
형식 |
설명 |
| cameraImagePoint |
Vec2F |
|
반환 값
getLocalPointsCloud
현재 포인트 클라우드 데이터의 위치 정보를 가져옵니다. 여기서 포인트 클라우드 위치는 월드 좌표계 상의 위치를 의미하며, 각 포인트는 세 개의 연속된 값으로 표현됩니다. 이 값들은 각각 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()
반환 값