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

Base class for supported trackable types. More...

#include <ARTrackable.h>

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

Public Types

enum  TrackableType {
  SINGLE , MULTI , NFT , TwoD ,
  MULTI_AUTO
}
 

Public Member Functions

 ARTrackable (TrackableType type)
 Constructor takes the type of this trackable. More...
 
 ARTrackable (const ARTrackable &)=delete
 Copy construction is undefined. More...
 
ARTrackableoperator= (const ARTrackable &)=delete
 Copy assignment is undefined. More...
 
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). More...
 
ARPatterngetPattern (int n)
 Returns the specified pattern within this trackable. More...
 
void setFiltered (bool flag)
 
bool isFiltered ()
 
ARdouble filterSampleRate ()
 
void setFilterSampleRate (ARdouble rate)
 
ARdouble filterCutoffFrequency ()
 
void setFilterCutoffFrequency (ARdouble freq)
 

Public Attributes

int UID
 Internal unique ID (note: not the same as artoolkitX pattern ID) More...
 
TrackableType type
 Type of trackable: single, multi, ... More...
 
bool visiblePrev
 Whether or not the trackable was visible prior to last update. More...
 
bool visible
 Whether or not the trackable is visible at current time. More...
 
ARdouble transformationMatrix [16]
 Transformation suitable for use in OpenGL. More...
 
ARdouble transformationMatrixR [16]
 Transformation suitable for use in OpenGL. More...
 
int patternCount
 If this trackable has a surface appearance, the number of patterns that it has (1 for single). More...
 
ARPattern ** patterns
 Array of pointers to patterns. More...
 

Protected Member Functions

void allocatePatterns (int count)
 Allocates space for patterns within this trackable. More...
 
void freePatterns ()
 Frees allocated patterns and resets the pattern count to zero. More...
 

Protected Attributes

ARdouble trans [3][4]
 Transformation from camera to this trackable. If stereo, transform from left camera to this trackable. More...
 
ARdouble m_positionScaleFactor
 

Detailed Description

Base class for supported trackable types.

Member Enumeration Documentation

◆ TrackableType

Enumerator
SINGLE 

A standard single square marker.

MULTI 

A composite marker made up of multiple square markers.

NFT 

A rectangular textured marker backed by an NFT data set.

TwoD 

A 2D textured marker backed by an image.

MULTI_AUTO 

An automatically mapped composite marker made up of multiple square matrix (2D barcode) markers.

Constructor & Destructor Documentation

◆ ARTrackable() [1/2]

ARTrackable::ARTrackable ( TrackableType  type)

Constructor takes the type of this trackable.

◆ ARTrackable() [2/2]

ARTrackable::ARTrackable ( const ARTrackable )
delete

Copy construction is undefined.

◆ ~ARTrackable()

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

Member Function Documentation

◆ allocatePatterns()

void ARTrackable::allocatePatterns ( int  count)
protected

Allocates space for patterns within this trackable.

Parameters
countThe number of patterns to allocate
Here is the call graph for this function:

◆ filterCutoffFrequency()

ARdouble ARTrackable::filterCutoffFrequency ( )

◆ filterSampleRate()

ARdouble ARTrackable::filterSampleRate ( )

◆ freePatterns()

void ARTrackable::freePatterns ( )
protected

Frees allocated patterns and resets the pattern count to zero.

◆ getPattern()

ARPattern * ARTrackable::getPattern ( int  n)

Returns the specified pattern within this trackable.

Parameters
nThe pattern to retrieve

◆ isFiltered()

bool ARTrackable::isFiltered ( )

◆ operator=()

ARTrackable & ARTrackable::operator= ( const ARTrackable )
delete

Copy assignment is undefined.

◆ positionScalefactor()

ARdouble ARTrackable::positionScalefactor ( )

◆ setFilterCutoffFrequency()

void ARTrackable::setFilterCutoffFrequency ( ARdouble  freq)
Here is the call graph for this function:

◆ setFiltered()

void ARTrackable::setFiltered ( bool  flag)
Here is the call graph for this function:

◆ setFilterSampleRate()

void ARTrackable::setFilterSampleRate ( ARdouble  rate)
Here is the call graph for this function:

◆ setPositionScalefactor()

void ARTrackable::setPositionScalefactor ( ARdouble  scale)

◆ update()

bool ARTrackable::update ( const ARdouble  transL2R[3][4] = NULL)
virtual

Completes an update begun in the parent class, performing filtering, generating OpenGL view matrix and notifying listeners (just a log message at the moment).

Subclasses should first do their required updates, set visible, visiblePrev, and trans[3][4] then call ARTrackable::update().

Returns
true if successful, false if an error occurred
Here is the call graph for this function:

Member Data Documentation

◆ m_positionScaleFactor

ARdouble ARTrackable::m_positionScaleFactor
protected

◆ patternCount

int ARTrackable::patternCount

If this trackable has a surface appearance, the number of patterns that it has (1 for single).

◆ patterns

ARPattern** ARTrackable::patterns

Array of pointers to patterns.

◆ trans

ARdouble ARTrackable::trans[3][4]
protected

Transformation from camera to this trackable. If stereo, transform from left camera to this trackable.

◆ transformationMatrix

ARdouble ARTrackable::transformationMatrix[16]

Transformation suitable for use in OpenGL.

◆ transformationMatrixR

ARdouble ARTrackable::transformationMatrixR[16]

Transformation suitable for use in OpenGL.

◆ type

TrackableType ARTrackable::type

Type of trackable: single, multi, ...

◆ UID

int ARTrackable::UID

Internal unique ID (note: not the same as artoolkitX pattern ID)

◆ visible

bool ARTrackable::visible

Whether or not the trackable is visible at current time.

◆ visiblePrev

bool ARTrackable::visiblePrev

Whether or not the trackable was visible prior to last update.


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