00001 // RC 4/24/2002 \HRandy95\Include\MCDriver.h 00002 00003 #define __MCDRIVER_H 00004 00005 #ifndef __VECTOR_H 00006 #include "Vector.h" 00007 #endif 00008 #ifndef __EXPORTS_H 00009 #include "EXPORTS.H" 00010 #endif 00011 #include "DLLPlugi.h" 00012 00013 class MCDevice; 00014 class Matrix34; 00015 class Time; 00016 00017 #define MCDLLVERSION 2 00018 00019 class PLUGINEXPORT MCDriver : public DLLPlugin { 00020 private: 00021 MCDevice *device; 00022 00023 public: 00024 // RETURN VALUES FOR LiveCaptureFrame() 00025 enum FrameError { FE_FAILED, FE_SUCCESS, FE_TRYAGAIN }; 00026 00027 // CHANNEL INDEXES FOR SETVALUE 00028 enum { XTRANS, YTRANS, ZTRANS, XSCALE, YSCALE, ZSCALE, XORIENT, YORIENT, ZORIENT, ROLL }; 00029 00030 MCDriver(HTreeObject *htreeobject) : DLLPlugin(htreeobject) {} 00031 00032 void SetDevice( MCDevice *pdevice ) { device = pdevice; } 00033 MCDevice *GetDevice() { return device; } 00034 00035 // UTILITY FUNCTIONS FOR LIVE & STATIC CAPTURE 00036 BOOL BuildSensorArray( int count ); 00037 BOOL InsertSensor( int index, char *name, int parentindex=-1 ); 00038 BOOL InsertSensor( int index, char *name, Vector start, Vector end, int parentindex=-1 ); 00039 void DoneInsertingSensors(); 00040 void FreeSensorArray(); 00041 BOOL SetValue( int sensorindex, int channelindex, float value ); 00042 BOOL StoreRotate( int sensorindex, const Matrix34 &matrix ); 00043 BOOL StoreRotateStandard( int sensorindex, const Matrix34 &matrix ); 00044 BOOL StoreTranslateStandard( int sensorindex, const Vector translate ); 00045 BOOL StorePose( MCDevice *device, char *name, float percent ); 00046 00047 // UTILITY FUNCTIONS FOR STATIC CAPTURE 00048 Time GetTime(); 00049 void SetTime( Time time ); 00050 float GetFrame(); 00051 void SetFrame( float frame ); 00052 float GetSystemRate(); 00053 float GetCaptureRate(); 00054 00055 void Redraw(); 00056 BOOL EscapeKeyDown(); 00057 00058 // CAPABILITIES 00059 virtual BOOL SupportsLiveCaptureSequence() { return FALSE; } 00060 virtual BOOL SupportsLiveCaptureFrame() { return FALSE; } 00061 virtual BOOL SupportsStaticCaptureSequence() { return FALSE; } 00062 00063 // IMPLEMENTATION OF LIVE CAPTURE 00064 virtual BOOL LiveCaptureInit() { return FALSE; } 00065 virtual FrameError LiveCaptureFrame() { return FE_FAILED; } 00066 virtual void LiveCaptureClose() {} 00067 00068 // IMPLEMENTATION OF STATIC CAPTURE 00069 virtual BOOL StaticCaptureSequence() { return FALSE; } 00070 };
Generated on Thu Oct 27 11:46:44 2005 with
1.4.5 written by Dimitri van Heesch,
© 1997-2001