| 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])
ARMultiMarkerInfoT * | copyMultiConfig ()
| 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.
ARTrackable & | operator= (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 | ( |  | ) |
| override virtual

Implements ARTrackable.

## ◆ getPatternImage()

bool ARTrackableMultiSquareAuto::getPatternImage | ( | int | patternIndex,
|  | uint32_t * | pattImageBuffer,
|  | AR_MATRIX_CODE_TYPE | matrixCodeType
| ) |  |
| override virtual

Implements ARTrackable.

Here is the call graph for this function:

## ◆ getPatternImageSize()

std::pair< int, int > ARTrackableMultiSquareAuto::getPatternImageSize | ( | int | patternIndex,
|  | AR_MATRIX_CODE_TYPE | matrixCodeType
| ) |  |
| override virtual

Implements ARTrackable.

## ◆ getPatternSize()

std::pair< float, float > ARTrackableMultiSquareAuto::getPatternSize | ( | int | patternIndex | ) |
| override virtual

Implements ARTrackable.

## ◆ getPatternTransform()

bool ARTrackableMultiSquareAuto::getPatternTransform | ( | int | patternIndex,
|  | ARdouble | T[16]
| ) |  |
| override virtual

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

  markerInfo | Array containing detected marker information
  markerNum | Number of items in the array
  ar3DHandle | AR3DHandle 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:

- Source/ARX/include/ARX/ARTrackableMultiSquareAuto.h
- Source/ARX/ARTrackableMultiSquareAuto.cpp