SLProject  4.3.020
A platform independent 3D computer graphics framework for desktop OS, Android, iOS and online in web browsers
SENSARBaseCamera Class Referenceabstract

Provides interface for the AR frameworks such as ARKit and ARCore. More...

#include <SENSARBaseCamera.h>

Inheritance diagram for SENSARBaseCamera:
[legend]

Public Member Functions

 SENSARBaseCamera ()
 
virtual ~SENSARBaseCamera ()
 
virtual bool init (unsigned int textureId=0, bool retrieveCpuImg=false, int targetWidth=-1)=0
 
virtual bool isReady ()=0
 
virtual bool resume ()=0
 
virtual void reset ()=0
 
virtual void pause ()=0
 
virtual bool update (cv::Mat &view)
 
virtual void lightComponentIntensity (float *components)
 
virtual bool isInstalled ()
 
virtual bool isAvailable ()
 
virtual bool install ()
 
virtual bool installRefused ()
 
virtual void installRefused (bool b)
 
bool isRunning ()
 
void fetchPointCloud (bool s)
 
cv::Mat pointCloud ()
 
cv::Size inputFrameSize ()
 
cv::Size cpuFrameSize ()
 
- Public Member Functions inherited from SENSBaseCamera
SENSFrameBasePtr latestFrame () override
 Get the latest captured frame. If no frame was captured the frame will be empty (null). More...
 
const SENSCameraConfigconfig () const override
 defines how the camera was configured during start More...
 
void registerListener (SENSCameraListener *listener) override
 
void unregisterListener (SENSCameraListener *listener) override
 
bool started () const override
 
bool permissionGranted () const override
 
void setPermissionGranted () override
 
- Public Member Functions inherited from SENSCamera
virtual ~SENSCamera ()
 
virtual const SENSCameraConfigstart (std::string deviceId, const SENSCameraStreamConfig &streamConfig, bool provideIntrinsics=true)=0
 
virtual void stop ()=0
 Stop a started camera device. More...
 
virtual const SENSCapturePropscaptureProperties ()=0
 Get SENSCaptureProps which contains necessary information about all available camera devices and their capabilities. More...
 

Protected Attributes

bool _running = false
 
bool _pause = true
 
int _inputFrameW = 0
 
int _inputFrameH = 0
 
bool _retrieveCpuImg = false
 
int _cpuImgTargetWidth = -1
 
int _cpuImgTargetHeight = -1
 
bool _fetchPointCloud = false
 
cv::Mat _pointCloud
 
- Protected Attributes inherited from SENSBaseCamera
SENSCaptureProps _captureProperties
 
std::atomic< bool > _started {false}
 flags if camera was started More...
 
SENSCameraConfig _config
 indicates what is currently running More...
 
std::atomic< bool > _permissionGranted {false}
 
std::vector< SENSCameraListener * > _listeners
 
std::mutex _listenerMutex
 
SENSFrameBasePtr _frame
 current frame More...
 
std::mutex _frameMutex
 

Additional Inherited Members

- Protected Member Functions inherited from SENSBaseCamera
void updateFrame (cv::Mat bgrImg, cv::Mat intrinsics, int width, int height, bool intrinsicsChanged)
 
void processStart ()
 call from start function to do startup preprocessing More...
 

Detailed Description

Provides interface for the AR frameworks such as ARKit and ARCore.

Definition at line 26 of file SENSARBaseCamera.h.

Constructor & Destructor Documentation

◆ SENSARBaseCamera()

SENSARBaseCamera::SENSARBaseCamera ( )
inline

Definition at line 29 of file SENSARBaseCamera.h.

29 {}

◆ ~SENSARBaseCamera()

virtual SENSARBaseCamera::~SENSARBaseCamera ( )
inlinevirtual

Definition at line 30 of file SENSARBaseCamera.h.

30 {}

Member Function Documentation

◆ cpuFrameSize()

cv::Size SENSARBaseCamera::cpuFrameSize ( )
inline

Definition at line 54 of file SENSARBaseCamera.h.

◆ fetchPointCloud()

void SENSARBaseCamera::fetchPointCloud ( bool  s)
inline

Definition at line 51 of file SENSARBaseCamera.h.

51 { _fetchPointCloud = s; }
SLScene * s
Definition: SLScene.h:31

◆ init()

virtual bool SENSARBaseCamera::init ( unsigned int  textureId = 0,
bool  retrieveCpuImg = false,
int  targetWidth = -1 
)
pure virtual

Implemented in SENSiOSARKit, and SENSAndroidARCore.

◆ inputFrameSize()

cv::Size SENSARBaseCamera::inputFrameSize ( )
inline

Definition at line 53 of file SENSARBaseCamera.h.

53 { return cv::Size(_inputFrameW, _inputFrameH); }

◆ install()

virtual bool SENSARBaseCamera::install ( )
inlinevirtual

Reimplemented in SENSiOSARKit, and SENSAndroidARCore.

Definition at line 46 of file SENSARBaseCamera.h.

46 { return false; };

◆ installRefused() [1/2]

virtual bool SENSARBaseCamera::installRefused ( )
inlinevirtual

Reimplemented in SENSAndroidARCore.

Definition at line 47 of file SENSARBaseCamera.h.

47 { return false; };

◆ installRefused() [2/2]

virtual void SENSARBaseCamera::installRefused ( bool  b)
inlinevirtual

Reimplemented in SENSAndroidARCore.

Definition at line 48 of file SENSARBaseCamera.h.

48 {};

◆ isAvailable()

virtual bool SENSARBaseCamera::isAvailable ( )
inlinevirtual

Reimplemented in SENSiOSARKit, and SENSAndroidARCore.

Definition at line 45 of file SENSARBaseCamera.h.

45 { return false; };

◆ isInstalled()

virtual bool SENSARBaseCamera::isInstalled ( )
inlinevirtual

Reimplemented in SENSiOSARKit, and SENSAndroidARCore.

Definition at line 44 of file SENSARBaseCamera.h.

44 { return false; };

◆ isReady()

virtual bool SENSARBaseCamera::isReady ( )
pure virtual

◆ isRunning()

bool SENSARBaseCamera::isRunning ( )
inline

Definition at line 49 of file SENSARBaseCamera.h.

49 { return !_pause; }

◆ lightComponentIntensity()

virtual void SENSARBaseCamera::lightComponentIntensity ( float *  components)
inlinevirtual

Reimplemented in SENSAndroidARCore.

Definition at line 42 of file SENSARBaseCamera.h.

42 {}

◆ pause()

virtual void SENSARBaseCamera::pause ( )
pure virtual

◆ pointCloud()

cv::Mat SENSARBaseCamera::pointCloud ( )
inline

Definition at line 52 of file SENSARBaseCamera.h.

52 { return _pointCloud; }

◆ reset()

virtual void SENSARBaseCamera::reset ( )
pure virtual

◆ resume()

virtual bool SENSARBaseCamera::resume ( )
pure virtual

◆ update()

virtual bool SENSARBaseCamera::update ( cv::Mat &  view)
inlinevirtual

Returns true if in tracking state. If correctly initialized, it will update the camera frame that may be retrieved with latestFrame()

Reimplemented in SENSiOSARKit, SENSAndroidARCoreJava, and SENSAndroidARCore.

Definition at line 41 of file SENSARBaseCamera.h.

41 { return false; }

Member Data Documentation

◆ _cpuImgTargetHeight

int SENSARBaseCamera::_cpuImgTargetHeight = -1
protected

Definition at line 63 of file SENSARBaseCamera.h.

◆ _cpuImgTargetWidth

int SENSARBaseCamera::_cpuImgTargetWidth = -1
protected

Definition at line 62 of file SENSARBaseCamera.h.

◆ _fetchPointCloud

bool SENSARBaseCamera::_fetchPointCloud = false
protected

Definition at line 64 of file SENSARBaseCamera.h.

◆ _inputFrameH

int SENSARBaseCamera::_inputFrameH = 0
protected

Definition at line 60 of file SENSARBaseCamera.h.

◆ _inputFrameW

int SENSARBaseCamera::_inputFrameW = 0
protected

Definition at line 59 of file SENSARBaseCamera.h.

◆ _pause

bool SENSARBaseCamera::_pause = true
protected

Definition at line 58 of file SENSARBaseCamera.h.

◆ _pointCloud

cv::Mat SENSARBaseCamera::_pointCloud
protected

Definition at line 65 of file SENSARBaseCamera.h.

◆ _retrieveCpuImg

bool SENSARBaseCamera::_retrieveCpuImg = false
protected

Definition at line 61 of file SENSARBaseCamera.h.

◆ _running

bool SENSARBaseCamera::_running = false
protected

Definition at line 57 of file SENSARBaseCamera.h.


The documentation for this class was generated from the following file: