メインページ | ネームスペース一覧 | クラス階層 | 構成 | Directories | ファイル一覧 | ネームスペースメンバ | 構成メンバ | ファイルメンバ | 関連ページ

DRTokin3D.h

00001 #ifndef DEVICE_TOKIN3D_H
00002 #define DEVICE_TOKIN3D_H
00003 
00004 #if _MSC_VER > 1000
00005 #pragma once
00006 #endif // _MSC_VER > 1000
00007 #include "DRRealDevice.h"
00008 #include "DVOrientationBase.h"
00009 #include "DVPioBase.h"
00010 #include <base/Affine.h>
00011 
00012 namespace Spr {
00013 class SPR_DLL DRTokin3D: public DRRealDevice{
00014 public:
00015     /// 仮想デバイス
00016     class DVOrientation:public DVOrientationBase{
00017     protected:
00018         DRTokin3D* realDevice;
00019     public:
00020         DVOrientation(DRTokin3D* r):realDevice(r){}
00021         virtual DRRealDevice* RealDevice() { return realDevice; }
00022         virtual const char* Name() const{ return realDevice->Name(); }
00023         virtual void GetOrientationMatrix(Matrix3f& ori){
00024             realDevice->GetMatrix(ori);
00025         }
00026         virtual void GetMatrix(Matrix3f& ori){
00027             realDevice->GetMatrix(ori);
00028         }
00029         virtual Vec3f GetEuler(){
00030             return realDevice->GetEuler();
00031         }
00032     };
00033     class DVInputPort:public DVInputPortBase{
00034     protected:
00035         DRTokin3D* realDevice;
00036         int ch;
00037         char name[256];
00038     public:
00039         DVInputPort(DRTokin3D* r, int c);
00040         virtual DRRealDevice* RealDevice() { return realDevice; }
00041         virtual const char* Name() const{ return name; }
00042         virtual int Get(){
00043             return realDevice->GetPort(ch);
00044         }
00045     };
00046 protected:
00047     void* intf;
00048     char name[1024];
00049 public:
00050     ///
00051     DRTokin3D();
00052     ///
00053     virtual ~DRTokin3D();
00054     /// 初期化
00055     virtual bool Init();
00056     /// 登録
00057     virtual void Register(DVVirtualDevicePool& vpool);
00058     /// 名前
00059     virtual const char* Name() const { return name; }
00060     /// 方向行列
00061     virtual void GetMatrix(Matrix3f& ori);
00062     /// オイラー角の取得
00063     virtual Vec3f GetEuler();
00064     /// ポート
00065     virtual int GetPort(int ch);
00066 };
00067 
00068 }   //  namespace Spr
00069 
00070 #endif

Springheadに対してSun Apr 16 01:57:50 2006に生成されました。  doxygen 1.4.1