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

Multiple marker type of ARTrackable. More...

#include <ARTrackableMultiSquare.h>

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

Public Member Functions

 ARTrackableMultiSquare ()
 
 ~ARTrackableMultiSquare ()
 
bool load (const char *multiConfig, ARPattHandle *arPattHandle)
 
bool updateWithDetectedMarkers (ARMarkerInfo *markerInfo, int markerNum, AR3DHandle *ar3DHandle)
 Updates the marker with new tracking info.
 
bool updateWithDetectedMarkersStereo (ARMarkerInfo *markerInfoL, int markerNumL, ARMarkerInfo *markerInfoR, int markerNumR, AR3DStereoHandle *handle, ARdouble transL2R[3][4])
 
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

ARMultiMarkerInfoTconfig
 Structure holding information about the multimarker patterns.
 
bool robustFlag
 Flag specifying which pose estimation approach to use.
 
- 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.
 

Protected Member Functions

bool unload ()
 

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

Multiple marker type of ARTrackable.

Constructor & Destructor Documentation

◆ ARTrackableMultiSquare()

ARTrackableMultiSquare::ARTrackableMultiSquare ( )

◆ ~ARTrackableMultiSquare()

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

Member Function Documentation

◆ getPatternCount()

int ARTrackableMultiSquare::getPatternCount ( )
overridevirtual

Implements ARTrackable.

◆ getPatternImage()

bool ARTrackableMultiSquare::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 > ARTrackableMultiSquare::getPatternImageSize ( int  patternIndex,
AR_MATRIX_CODE_TYPE  matrixCodeType 
)
overridevirtual

Implements ARTrackable.

◆ getPatternSize()

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

Implements ARTrackable.

◆ getPatternTransform()

bool ARTrackableMultiSquare::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.

◆ load()

bool ARTrackableMultiSquare::load ( const char *  multiConfig,
ARPattHandle arPattHandle 
)
Here is the call graph for this function:

◆ unload()

bool ARTrackableMultiSquare::unload ( )
protected
Here is the call graph for this function:

◆ updateWithDetectedMarkers()

bool ARTrackableMultiSquare::updateWithDetectedMarkers ( ARMarkerInfo markerInfo,
int  markerNum,
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 ARTrackableMultiSquare::updateWithDetectedMarkersStereo ( ARMarkerInfo markerInfoL,
int  markerNumL,
ARMarkerInfo markerInfoR,
int  markerNumR,
AR3DStereoHandle handle,
ARdouble  transL2R[3][4] 
)
Here is the call graph for this function:

Member Data Documentation

◆ config

ARMultiMarkerInfoT* ARTrackableMultiSquare::config

Structure holding information about the multimarker patterns.

◆ robustFlag

bool ARTrackableMultiSquare::robustFlag

Flag specifying which pose estimation approach to use.


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