ARX  1.0
The next-generation open source augmented reality toolkit.
Loading...
Searching...
No Matches
Public Member Functions | Public Attributes | List of all members
ARTrackableMultiSquareAuto Class Reference

An ARTrackable that auto-builds a map of matrix (2D barcode) markers. More...

#include <ARTrackableMultiSquareAuto.h>

Inheritance diagram for ARTrackableMultiSquareAuto:
[legend]
Collaboration diagram for ARTrackableMultiSquareAuto:
[legend]

Public Member Functions

 ARTrackableMultiSquareAuto ()
 
 ~ARTrackableMultiSquareAuto ()
 
bool initWithOriginMarkerUID (int originMarkerUID, ARdouble markerWidth)
 
bool updateWithDetectedMarkers (ARMarkerInfo *markerInfo, int markerNum, int videoWidth, int videoHeight, AR3DHandle *ar3DHandle)
 Updates the marker with new tracking info.
 
bool updateWithDetectedMarkersStereo (ARMarkerInfo *markerInfoL, int markerNumL, int videoWidthL, int videoHeightL, ARMarkerInfo *markerInfoR, int markerNumR, int videoWidthR, int videoHeightR, AR3DStereoHandle *handle, ARdouble transL2R[3][4])
 
ARMultiMarkerInfoTcopyMultiConfig ()
 Make a copy of the multi config.
 
int getPatternCount () override
 
std::pair< float, float > getPatternSize (int patternIndex) override
 
std::pair< int, int > getPatternImageSize (int patternIndex, AR_MATRIX_CODE_TYPE matrixCodeType) override
 
bool getPatternTransform (int patternIndex, ARdouble T[16]) override
 Get the transform, relative to this trackable's origin, of this pattern.
 
bool getPatternImage (int patternIndex, uint32_t *pattImageBuffer, AR_MATRIX_CODE_TYPE matrixCodeType) override
 
- Public Member Functions inherited from ARTrackable
 ARTrackable (TrackableType type)
 Constructor takes the type of this trackable.
 
 ARTrackable (const ARTrackable &)=delete
 Copy construction is undefined.
 
ARTrackableoperator= (const ARTrackable &)=delete
 Copy assignment is undefined.
 
virtual ~ARTrackable ()
 
void setPositionScalefactor (ARdouble scale)
 
ARdouble positionScalefactor ()
 
virtual bool update (const ARdouble transL2R[3][4]=NULL)
 Completes an update begun in the parent class, performing filtering, generating OpenGL view matrix and notifying listeners (just a log message at the moment).
 
virtual int getPatternCount ()=0
 
virtual std::pair< float, float > getPatternSize (int patternIndex)=0
 
virtual std::pair< int, int > getPatternImageSize (int patternIndex, AR_MATRIX_CODE_TYPE matrixCodeType)=0
 
virtual bool getPatternTransform (int patternIndex, ARdouble T[16])=0
 Get the transform, relative to this trackable's origin, of this pattern.
 
virtual bool getPatternImage (int patternIndex, uint32_t *pattImageBuffer, AR_MATRIX_CODE_TYPE matrixCodeType)=0
 
void setFiltered (bool flag)
 
bool isFiltered ()
 
ARdouble filterSampleRate ()
 
void setFilterSampleRate (ARdouble rate)
 
ARdouble filterCutoffFrequency ()
 
void setFilterCutoffFrequency (ARdouble freq)
 

Public Attributes

ARdouble m_ImageBorderZone = 0.2f
 The proportion of the image width/height to consider as an "border" zone in which markers are not to be detected. Set to 0.0f to allow markers to appear anywhere in the image.
 
bool m_robustFlag = true
 Flag specifying which pose estimation approach to use.
 
ARdouble m_maxErr = 4.0f
 The maximum allowable pose estimate error.
 
- Public Attributes inherited from ARTrackable
int UID
 Internal unique ID (note: not the same as artoolkitX pattern ID)
 
TrackableType type
 Type of trackable: single, multi, ...
 
bool visiblePrev
 Whether or not the trackable was visible prior to last update.
 
bool visible
 Whether or not the trackable is visible at current time.
 
ARdouble transformationMatrix [16]
 Transformation suitable for use in OpenGL.
 
ARdouble transformationMatrixR [16]
 Transformation suitable for use in OpenGL.
 

Additional Inherited Members

- Public Types inherited from ARTrackable
enum  TrackableType {
  SINGLE , MULTI , NFT , TwoD ,
  MULTI_AUTO
}
 
- Static Public Attributes inherited from ARTrackable
static const int NO_ID = -1
 Value of UID that indicates no ID.
 
- Protected Attributes inherited from ARTrackable
ARdouble trans [3][4]
 Transformation from camera to this trackable. If stereo, transform from left camera to this trackable.
 
ARdouble m_positionScaleFactor
 
- Static Protected Attributes inherited from ARTrackable
static std::atomic< int > nextUID {0}
 

Detailed Description

An ARTrackable that auto-builds a map of matrix (2D barcode) markers.

Constructor & Destructor Documentation

◆ ARTrackableMultiSquareAuto()

ARTrackableMultiSquareAuto::ARTrackableMultiSquareAuto ( )
Here is the call graph for this function:

◆ ~ARTrackableMultiSquareAuto()

ARTrackableMultiSquareAuto::~ARTrackableMultiSquareAuto ( )
Here is the call graph for this function:

Member Function Documentation

◆ copyMultiConfig()

ARMultiMarkerInfoT * ARTrackableMultiSquareAuto::copyMultiConfig ( )

Make a copy of the multi config.

Caller must call arMultiFreeConfig() on the returned value when done.

Here is the call graph for this function:

◆ getPatternCount()

int ARTrackableMultiSquareAuto::getPatternCount ( )
overridevirtual

Implements ARTrackable.

◆ getPatternImage()

bool ARTrackableMultiSquareAuto::getPatternImage ( int  patternIndex,
uint32_t *  pattImageBuffer,
AR_MATRIX_CODE_TYPE  matrixCodeType 
)
overridevirtual

Implements ARTrackable.

Here is the call graph for this function:

◆ getPatternImageSize()

std::pair< int, int > ARTrackableMultiSquareAuto::getPatternImageSize ( int  patternIndex,
AR_MATRIX_CODE_TYPE  matrixCodeType 
)
overridevirtual

Implements ARTrackable.

◆ getPatternSize()

std::pair< float, float > ARTrackableMultiSquareAuto::getPatternSize ( int  patternIndex)
overridevirtual

Implements ARTrackable.

◆ getPatternTransform()

bool ARTrackableMultiSquareAuto::getPatternTransform ( int  patternIndex,
ARdouble  T[16] 
)
overridevirtual

Get the transform, relative to this trackable's origin, of this pattern.

Fills T with the transform in column-major (OpenGL) order.

Implements ARTrackable.

◆ initWithOriginMarkerUID()

bool ARTrackableMultiSquareAuto::initWithOriginMarkerUID ( int  originMarkerUID,
ARdouble  markerWidth 
)

◆ updateWithDetectedMarkers()

bool ARTrackableMultiSquareAuto::updateWithDetectedMarkers ( ARMarkerInfo markerInfo,
int  markerNum,
int  videoWidth,
int  videoHeight,
AR3DHandle ar3DHandle 
)

Updates the marker with new tracking info.

Then calls ARTrackable::update()

Parameters
markerInfoArray containing detected marker information
markerNumNumber of items in the array
ar3DHandleAR3DHandle used to extract marker pose.
Here is the call graph for this function:

◆ updateWithDetectedMarkersStereo()

bool ARTrackableMultiSquareAuto::updateWithDetectedMarkersStereo ( ARMarkerInfo markerInfoL,
int  markerNumL,
int  videoWidthL,
int  videoHeightL,
ARMarkerInfo markerInfoR,
int  markerNumR,
int  videoWidthR,
int  videoHeightR,
AR3DStereoHandle handle,
ARdouble  transL2R[3][4] 
)
Here is the call graph for this function:

Member Data Documentation

◆ m_ImageBorderZone

ARdouble ARTrackableMultiSquareAuto::m_ImageBorderZone = 0.2f

The proportion of the image width/height to consider as an "border" zone in which markers are not to be detected. Set to 0.0f to allow markers to appear anywhere in the image.

◆ m_maxErr

ARdouble ARTrackableMultiSquareAuto::m_maxErr = 4.0f

The maximum allowable pose estimate error.

◆ m_robustFlag

bool ARTrackableMultiSquareAuto::m_robustFlag = true

Flag specifying which pose estimation approach to use.


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