Main Page   Namespace List   Class Hierarchy   Compound List   File List   Namespace Members   Compound Members   File Members  

MarkerObjectTracker.h

Go to the documentation of this file.
00001 
00042 #ifndef _AMIRE_COMMON_MARKER_OBJECT_TRACKER_H
00043 #define _AMIRE_COMMON_MARKER_OBJECT_TRACKER_H
00044 
00045 #include <amire/common/Defines.h>
00046 #include <amire/common/Tracker.h>
00047 #include <amire/common/Marker.h>
00048 #include <amire/common/MarkerDetector.h>
00049 
00050 namespace amire {
00051   namespace common {
00055     class AMIRE_EXPORT_API MarkerObjectTracker : public virtual Tracker {
00056     protected:
00060       osg::ref_ptr<Marker> marker;
00061 
00065       osg::ref_ptr<Tracker> cameraTracker;
00066 
00070       osg::ref_ptr<MarkerDetector> detector;
00071 
00072     private:
00073       amire::common::Matrix markerTransformation;
00074 
00075     public:
00079       MarkerObjectTracker(const osg::ref_ptr<Tracker> &cameraTracker, const osg::ref_ptr<MarkerDetector> &detector, const osg::ref_ptr<Marker> &marker);
00080 
00084       void setMarker(const osg::ref_ptr<Marker> &marker);
00085 
00089       const osg::ref_ptr<Marker> &getMarker();
00090 
00091       virtual ~MarkerObjectTracker();
00092 
00096       virtual void doUpdate();
00097 
00101       const amire::common::Matrix &getMarkerTransformation() const;
00102 
00103     protected:
00107       inline amire::common::Matrix &getMarkerTransformation() {
00108         return markerTransformation;
00109       }
00110     };
00111   }
00112 }
00113 #endif

Generated on Tue May 20 17:23:53 2003 for AMIRE-Framework by doxygen1.3