00001
00022 #ifndef __ARTOOLKITPLUS_TRACKERMULTIMARKERIMPL_HEADERFILE__
00023 #define __ARTOOLKITPLUS_TRACKERMULTIMARKERIMPL_HEADERFILE__
00024
00025 #include <ARToolKitPlus/Tracker.h>
00026
00027 namespace ARToolKitPlus {
00028
00039 class AR_EXPORT TrackerMultiMarker: public Tracker {
00040 public:
00058 TrackerMultiMarker(int imWidth, int imHeight, int maxImagePatterns = 8, int pattWidth = 6, int pattHeight = 6, int pattSamples = 6,
00059 int maxLoadPatterns = 0);
00060
00061 virtual ~TrackerMultiMarker();
00062
00069 virtual bool init(const char* nCamParamFile, const char* nMultiFile, ARFloat nNearClip, ARFloat nFarClip);
00070
00075 virtual int calc(const unsigned char* nImage);
00076
00077
00078
00079
00080 virtual int getNumDetectedMarkers() const {
00081 return numDetected;
00082 }
00083
00085
00091 virtual void setUseDetectLite(bool nEnable) {
00092 useDetectLite = nEnable;
00093 }
00094
00099 virtual void getDetectedMarkers(int*& nMarkerIDs);
00100
00101
00102
00103
00104 virtual const ARMarkerInfo& getDetectedMarker(int nWhich) const {
00105 return detectedMarkers[nWhich];
00106 }
00107
00113 virtual const ARMultiMarkerInfoT* getMultiMarkerConfig() const {
00114 return config;
00115 }
00116
00124 virtual void getARMatrix(ARFloat nMatrix[3][4]) const;
00125 protected:
00126 int numDetected;
00127 bool useDetectLite;
00128
00129 ARMultiMarkerInfoT *config;
00130 int *detectedMarkerIDs;
00131 ARMarkerInfo *detectedMarkers;
00132 };
00133
00134 }
00135 ;
00136
00137 #endif //__ARTOOLKITPLUS_TRACKERMULTIMARKERIMPL_HEADERFILE__