P5ライブラリ 変数/関数日本語マニュアルβ

メーカー > Essential Reality
デベロッパーズページ > Essential Reality: Developers

訳 > bomber@xps.jp http://bomber.xps.jp/

P5dll.h
P5dll.hをインクルードすることにより下記関数が利用できます。
P5dll.hではP5を利用するための関数が含まれます。
class CP5DLL
P5を使うためのクラスです。
下記変数、関数が含まれます。
float m_fx, m_fy, m_fz;
手の3次元座標。(x,y,z)。
P5Motion_SetClipRegionで定めた範囲にはならない。
0を画面中央としているらしい。
右がX軸正方向、上がY軸正方向、前がZ軸正方向になる。
float m_fyaw, m_fpitch, m_froll;
手の角度。ヨウ、ピッチ、ロール。
90度なら90。
0を中心として-180〜180。
unsigned char m_byBendSensor_Data[5];
指の曲げ具合。0〜4は親指〜小指になる。
0が曲げていない状態〜63が曲がりきった状態。
unsigned char m_byButtons[4];
手の甲のボタンA〜Dの状態。
0〜3はA〜Dになるが、Dは電源なので使わない。
0なら押していない、1なら押している。
float m_fRotMat[3][3];
inverse kinematics用のマトリクス配列。
詳細不明。
void P5_CalibrateBendSensors(int P5Id);
指の角度センサーをリセットします。
IN
int P5Id:デバイスID。通常は0を指定。
void P5_SaveBendSensors(int P5Id);
指の角度センサー情報を保存します。
P5_CalibrateBendSensorsが呼ばれるまで維持されます。
IN
int P5Id:デバイスID。通常は0を指定。
void P5_CalibratePositionData(int P5Id);
位置データをリセットします。
IN
int P5Id:デバイスID。通常は0を指定。
void P5_Close();
CP5DLLクラスを終了します。
void P5_GetClickSensitivity(int P5Id, int *leftvalue, int *rightvalue, int *middlevalue);
クリック感度を取得します。
IN
int P5Id:デバイスID。通常は0を指定。
OUT
int *leftvalue:左クリックの感度。
int *rightvalue:右クリックの感度。
int *middlevalue:真ん中クリックの感度。
P5BOOL P5_GetLastError(int *P5Id, int *ErrorCode);
最後に出たエラーがErrorCodeならばTRUEを返します。
IN
int P5Id:デバイスID。通常は0を指定。
int *ErrorCode:調べるエラーコード。
RETURN
true:最後のエラーは指定のエラーだった。
false:最後のエラーは指定のエラーではない。
void P5_GetMouseButtonAllocation(int P5Id, int *leftclick, int *rightclick, int *middleclick);
デバイスからクリックの状態を取得します。
IN
int P5Id:デバイスID。通常は0を指定。
OUT
int *leftclick:左クリック位置
int *rightclick:右クリック位置
int *middleclick:真ん中クリック位置
P5BOOL P5_GetMouseState(int P5Id);
デバイスのマウスモードがONならばTRUEを返します。
IN
int P5Id:デバイスID。通常は0を指定。
RETURN
true:マウスモードはON。
false:マウスモードはOFF。
void P5_SetMouseState(int P5Id, P5BOOL state );
デバイスのマウスモードを設定します。
IN
int P5Id:デバイスID。通常は0を指定。
int P5_GetMouseStickTime(int P5Id);
クリック時に位置を一時的に固定する時間を返します。
IN
int P5Id:デバイスID。通常は0を指定。
RETURN
int:一時固定する時間。
P5BOOL P5_Init(void);
P5デバイスを初期化します。
RETURN
true:初期化成功。
false:初期化失敗。デバイスが無い等。
void P5_SetClickSensitivity(int P5Id, unsigned char leftvalue, unsigned char rightvalue, unsigned char middlevalue);
クリック速度を設定します。
IN
int P5Id:デバイスID。通常は0を指定。
unsigned char leftvalue:左クリック速度
unsigned char rightvalue:右クリック速度
unsigned char middlevalue:真ん中クリック速度

P5Bend.h
P5Bend.hをインクルードすることにより下記関数が利用できます。
P5Bend.hでは指の角度にかかわる関数が含まれます。
void P5Bend_Init( CP5DLL* device, int id );
指の角度情報を初期化します。
IN
CP5DLL* device:CP5DLLクラスへのポインタを指定します。
int id:デバイスID。通常は0を指定。
void P5Bend_Process(void);
指の角度情報を取得します。
この関数を実行するとセンサーが1度動きます。
指の角度情報を取得する前に1度実行します。
void P5Bend_SetClickSensitivity( int finger, unsigned char value );
指の角度センサーのクリック感度を設定します。
IN
int finger:どの指の感度を設定するか指定します。
指定方法は、P5_THUMB, P5INDEX, P5_MIDDLE, P5_RING, P5_PINKY、いづれかで
順に親指、人差指、中指、薬指、小指になり、0〜4になるので複数指定は出来ません。
unsigned char value:感度を指定します。0〜30

P5Motion.h
P5Motion.hをインクルードすることにより下記関数が利用できます。
P5Motion.hでは手の座標、手の角度(指ではなく手全体)にかかわる関数が含まれます。
void P5Motion_Init( CP5DLL* device, int id );
手の位置情報を初期化します。
IN
CP5DLL* device:CP5DLLクラスへのポインタを指定します。
int id:デバイスID。通常は0を指定。
void P5Motion_InvertMouse ( int xaxis, int yaxis, int zaxis );
手の位置(x,y,z)の正面方向を設定します。
上下方向でP5MOTION_INVERTAXISを指定すると、手を上げるとカーソルは下がります。
IN
int xaxis:左右方向の動きを指定します。通常はP5MOTION_NORMALAXIS、逆はP5MOTION_INVERTAXIS。
int yaxis:上下方向の動きを指定します。通常はP5MOTION_NORMALAXIS、逆はP5MOTION_INVERTAXIS。
int zaxis:前後方向の動きを指定します。通常はP5MOTION_NORMALAXIS、逆はP5MOTION_INVERTAXIS。
void P5Motion_Process(void);
手の位置角度情報を取得します。
この関数を実行するとセンサーが1度動きます。
手の位置角度情報を取得する前に1度実行します。
void P5Motion_SetClipRegion( int xstart, int xend, int ystart, int yend, int zstart, int zend );
手の位置情報の下限上限を指定します。
IN
int xstart:左右方向の下限。
int xend:左右方向の上限。
int ystart:上下方向の下限。
int yend:上下方向の上限。
int zstart:前後方向の下限。
int zend:前後方向の上限。