Classes | |
class | CContrastDLG |
class | CInputNumDLG |
class | CInputFloatNumDLG |
class | CInputMultiFloatNumDLG |
class | CMessageBoxDLG |
class | CProgressBarDLG |
class | CProgressTextDLG |
class | CReadFilesDLG |
class | CSetHeaderDLG |
class | CWriteFilesDLG |
class | CDxBaseView |
class | CDxVTXBaseView |
class | CAppCallBack |
class | CExDocument |
class | CExFrame |
class | CExTextFrame |
class | CExTextView |
class | CExToolBar |
class | CExView |
class | CDx2DView |
class | CDxDirectView |
class | CDxGraphDoc |
class | CDxMGRView |
class | CDxSRenderView |
class | CDxVScrollView |
class | CLogWndDoc |
class | CLogWndFrame |
class | CLogWndView |
class | CDx3DDirectView |
class | CExSMPLDisp |
class | CRwGRDoc |
class | CvThumbNailDoc |
class | CvThumbNailFrame |
class | CWinAudioStream |
class | CWinAudioTool |
class | DLLModule |
class | DLLModuleTBL |
class | CWinMediaBuffer |
class | CWinSharedMemory |
class | EventHandler |
struct | BVHSaveParam |
class | CNiBVHTool |
class | CNiFileTool |
class | CNiJoints |
class | CBaseFrameTool |
class | CNiJTextTool |
class | CNiVMDTool |
Typedefs | |
typedef char *(* | FUNC_STRING )(int) |
typedef std::stack < CWinMediaBuffer * > | MediaBufferStack |
typedef std::queue < CWinMediaBuffer * > | MediaBufferQueue |
Enumerations | |
enum | SENDKEY_Action { SENDKEY_TapAction, SENDKEY_DownAction, SENDKEY_UpAction } |
enum | NiSDK_Lib { NiSDK_Default, NiSDK_None, NiSDK_Kinect, NiSDK_OpenNI, NiSDK_OpenNI2 } |
Functions | |
BOOL | InputNumDLG (LPCTSTR title, int *val) |
BOOL | InputFloatNumDLG (LPCTSTR title, double *val) |
BOOL | InputMultiFloatNumDLG (LPCTSTR t0, double *v0, LPCTSTR t1=NULL, double *v1=NULL, LPCTSTR t2=NULL, double *v2=NULL, LPCTSTR t3=NULL, double *v3=NULL, LPCTSTR t4=NULL, double *v4=NULL, LPCTSTR t5=NULL, double *v5=NULL) |
CMessageBoxDLG * | MessageBoxDLG (int ttl, int msg, CWnd *wnd=NULL) |
CMessageBoxDLG * | MessageBoxDLG (LPCTSTR ttl, int msg, CWnd *wnd=NULL) |
CMessageBoxDLG * | MessageBoxDLG (int ttl, LPCTSTR msg, CWnd *wnd=NULL) |
CMessageBoxDLG * | MessageBoxDLG (LPCTSTR ttl, LPCTSTR msg, CWnd *wnd=NULL) |
int | MessageBoxDLG (int ttl, int msg, UINT type, CWnd *wnd=NULL) |
int | MessageBoxDLG (LPCTSTR ttl, int msg, UINT type, CWnd *wnd=NULL) |
int | MessageBoxDLG (int ttl, LPCTSTR msg, UINT type, CWnd *wnd=NULL) |
int | MessageBoxDLG (LPCTSTR ttl, LPCTSTR msg, UINT type, CWnd *wnd=NULL) |
HRESULT | ResetDx9Device (LPDIRECT3DDEVICE9, D3DPRESENT_PARAMETERS *, CDxBaseView *pviw=NULL) |
int | ExecTemplate (CMultiDocTemplate *ptemp, ExMSGraph< sWord > *pmsGraph=NULL, ExCmnHead *pcmnHead=NULL, CExFrame *prntFrm=NULL, int vPoint=0) |
CExFrame * | CreateDocFrmView (CMultiDocTemplate *pDocTemp, CAppCallBack *papp=NULL) |
int | ExecDocFrmView (CExFrame *pfrm, LPCTSTR fname=NULL) |
void | ExecDocFrmViewError (HWND hwnd, int ret) |
BOOL | InitialDocView (CExFrame *pfrm, LPCTSTR fname) |
bool | SetExLink (CExDocument *pdoc, CExFrame *pfrm, CExView *pview, CAppCallBack *papp) |
CString | EasyGetOpenFileName (LPCTSTR title=NULL, HWND hWnd=NULL) |
CString | EasyGetSaveFileName (LPCTSTR title=NULL, LPCTSTR extnt=NULL, HWND hWnd=NULL) |
CString | EasyGetSaveFolderName (LPCTSTR folder=_T(""), LPCTSTR title=NULL, HWND hWnd=NULL) |
int CALLBACK | EasyGetSaveFolderNameCallBack (HWND hwnd, UINT uMsg, LPARAM lParam, LPARAM lpData) |
int | copyFileWithCounter (LPCTSTR src, LPCTSTR dst) |
int | copyFPWithCounter (FILE *src, FILE *dst, unsigned long int sz) |
int | writeGraphicFileWithCounter (LPCTSTR fname, MSGraph< sWord > vp, int kind, BOOL mlt=FALSE, int fn=0, int tn=0) |
CMenu * | GetMenu_byID (CMenu *pMenu, UINT id) |
CMenu * | GetMenu_byStringID (CMenu *pMenu, UINT id) |
CMenu * | GetMenu_byName (CMenu *pMenu, LPCTSTR name) |
void | RebootProgram (void) |
BOOL | WaitPidTerm (int tm) |
CLogWndFrame * | ExecLogWnd (CMultiDocTemplate *pDocTempl, LPCTSTR title, CAppCallBack *app) |
BOOL | Dx9CreateInterface (CWinApp *wapp) |
void | Dx9ReleaseInterface () |
LPDIRECT3DDEVICE9 | Dx9CreateGraphic (LPDIRECT3D9, D3DPRESENT_PARAMETERS *, HWND) |
LPDIRECTINPUTDEVICE8 | Dx9CreateMouse (LPDIRECTINPUT8, HWND) |
LPDIRECTINPUTDEVICE8 | Dx9CreateKeyBoard (LPDIRECTINPUT8, HWND) |
POINT | Dx9GetBackBuffer (LPDIRECT3DDEVICE9, LPDIRECT3DSURFACE9 *) |
BOOL | Dx9SurfaceFromMemory (LPDIRECT3DDEVICE9, LPDIRECT3DSURFACE9 *, CmnHead) |
BOOL | Dx9TextureFromMemory (LPDIRECT3DDEVICE9, LPDIRECT3DTEXTURE9 *, CmnHead) |
BOOL | Dx9SurfaceFromByteMemory (LPDIRECT3DDEVICE9, LPDIRECT3DSURFACE9 *, CmnHead) |
BOOL | Dx9SurfaceFromMemoryFile (LPDIRECT3DDEVICE9, LPDIRECT3DSURFACE9 *, CmnHead) |
BOOL | Dx9TextureFromByteMemory (LPDIRECT3DDEVICE9, LPDIRECT3DTEXTURE9 *, CmnHead) |
BOOL | Dx9TextureFromMemoryFile (LPDIRECT3DDEVICE9, LPDIRECT3DTEXTURE9 *, CmnHead) |
HRESULT | Dx9DrawPrimitive (LPDIRECT3DDEVICE9, D3DPRIMITIVETYPE, UINT, UINT) |
POINT | Dx9GetSurfaceSize (LPDIRECT3DSURFACE9 *lpsf) |
D3DCOLOR | Dx9Word2RGBA (uWord pp) |
D3DCOLOR | Dx9Word2ARGB (uWord pp) |
D3DCOLOR | Dx9Word2RGB (uWord pp) |
Buffer | tc2Buffer (TCHAR *tchar, int size=-1) |
locale が正しくないと,日本語の変換は失敗する. ex.) setlocale(LC_CTYPE,"jpn") or setSystemLocale() | |
Buffer | ts2Buffer (LPCTSTR str, int size=-1) |
CString | mbs2ts (char *str) |
char * | ts2mbs (LPCTSTR str) |
int | copy_ts2Buffer (LPCTSTR str, Buffer *buf) |
int | cat_ts2Buffer (LPCTSTR str, Buffer *buf) |
unsigned long int | file_size_t (LPCTSTR fn) |
BOOL | file_exist_t (LPCTSTR fn) |
CString | get_file_name_t (LPCTSTR str) |
CString | make_file_path_t (LPCTSTR str) |
CString | cut_file_extension_t (LPCTSTR str) |
tList * | read_index_tList_file_t (LPCTSTR fn, char cc) |
tList * | get_dir_files_t (LPCTSTR dirn) |
tList * | get_dir_files_rcsv_t (LPCTSTR dirn) |
CString | numbering_name_t (LPCTSTR fmt, int n) |
CString | get_tstr_param_tList (tList *lt, char *key, LPCTSTR dflt) |
void | setResourceLocale (void) |
CString | getResourceLocale (void) |
void | setSystemLocale (LPCTSTR locale=_T("")) |
CString | GetCurrentUserHomeFolder (void) |
CString | GetDefaultUserHomeFolder (void) |
CString | MakeWorkingFolderPath (LPCTSTR fnm, BOOL local, LPCTSTR dir=NULL, BOOL make=FALSE) |
CString | GetProgramFolder (void) |
char * | GetProgramFolderA (void) |
CString | GetCurrentFolder (void) |
void | SendWinMessage (UINT mesg, WPARAM wparam=NULL, LPARAM lparam=NULL) |
void | SendKeyAction (WORD key, SENDKEY_Action action) |
void | SendKeyActionTap (WORD key) |
void | SendKeyActionTap (WORD key1, WORD key2) |
void | SendKeyActionTap (WORD key1, WORD key2, WORD key3) |
void | SendKeyActionTapAlt (WORD key) |
void | SendKeyActionTapShift (WORD key) |
void | SendKeyActionTapCtrl (WORD key) |
BOOL | DoSystemKeyAction (LPCTSTR com, BOOL child=FALSE) |
TCHAR * | GetMouseCursorType (void) |
unsigned short | GetMsecondsTimer (void) |
unsigned short | GetMsecondsLapTimer (unsigned short pm, unsigned short *nt=NULL) |
CString | LoadString_byID (UINT id) |
int | MessageDLG (LPCTSTR ttl, LPCTSTR msg, UINT type, HWND hWnd) |
void | WinSystem (char *command, DWORD flag, BOOL wait) |
template<class T > | |
void | releaseNull (T *&ptr) |
template<class T > | |
void | deleteNull (T *&ptr) |
tList * | setBVHJointName (void) |
tList * | addBVHJointName (char *fname, tList *lt) |
int | BVHJoint2NiJointNum (tList *lt, Buffer joint_name) |
tTree * | makeBVH_SLHierarchy (void) |
tTree * | makeBVH_QAvHierarchy (void) |
tTree * | makeBVH_NiHierarchy (void) |
vector | getQAvBVHOffset (int joint) |
std::string | NiJointName (int n) |
int | NiJointNum (char *name) |
std::string | NiSDK2JointName (int joint, NiSDK_Lib lib) |
int | NiSDKMirrorJointNum (int joint, NiSDK_Lib lib) |
int | JointName2NiSDK (char *jname, NiSDK_Lib lib) |
int | Ni2SDKPosJointNum (int joint, NiSDK_Lib lib) |
int | Ni2SDKRotJointNum (int joint, NiSDK_Lib lib) |
void | NiSetKinectJointNums (void) |
void | NiSetOpenNIJointNums (void) |
void | NiSetOpenNI2JointNums (void) |
NiFrameData * | makeFramesData (int frame, int joint_num, int *frame_num) |
void | freeFramesData (NiFrameData *frmdata, int frm_num) |
void | NiInitRBoundJointsRotation (void) |
void | NiCorrectJointsRotation (Quaternion< double > *quat, NiSDK_Lib lib) |
void | NiCorrectJointEuler (int joint, Quaternion< double > *quat, RBound< double > rb) |
void | NiGetJointEuler (int joint, Quaternion< double > *quat, Vector< double > *vect) |
void | NiSetJointEuler (int joint, Vector< double > *vect, Quaternion< double > *quat) |
void | NiSetUserColor (int label, uByte *ptr, BOOL use_image=TRUE) |
unsigned int | NiGetSkeletonColor (int label) |
std::string | VMDJointName (int n) |
int | VMDJointNum (char *name) |
int | VMD2NiJointNum (int joint) |
Variables | |
CSetHeaderDLG | SetHeaderDLG |
UINT | TimerID = 1 |
LPDIRECT3D9 | GpD3D = NULL |
LPDIRECTINPUT8 | GpDInput = NULL |
LPDIRECTINPUTDEVICE8 | GpDMouse = NULL |
LPDIRECTINPUTDEVICE8 | GpDKeyBoard = NULL |
BOOL | Dx9DividePrimitiveMode = TRUE |
BOOL | Dx9ReverseZMode = FALSE |
static const WORD | WinAudioToolFormat = WAVE_FORMAT_PCM |
static const WORD | WinAudioToolChannels = 1 |
static const DWORD | WinAudioToolSamplesPerSec = 16000 |
static const WORD | WinAudioToolBitsPerSample = 16 |
pview->vMin 〜 pview->vMax の間で,pview->cMin, pview->cMin を変更する.
呼び出しウィンドウをレンダリングする場合は,pview->cMin, pview->cMinの値が変更される度に 呼び出しウィンドウを再描画する.
マルチスライス読み込み設定ダイアログ
CExDocument クラス
ファイルを読み込むためのテンプレートクラス.
制御用変数 BOOL hasReadData; // 読み込みデータを持っているか? BOOL hasViewData; // 表示用データに加工済みか?
予め cmnHeadにデータがある場合は,hasReadData=TRUE にしてOnNewDocument(void)を呼び出す. データを読み込む場合は OnOpenDocument(LPCTSTR) を呼ぶ.
OnOpenDocument(LPCTSTR) で実際にデータを読み込むためには ReadDataFile(LPCTSTR) をオーバーライドする. この際データは msGraph, cmnHeadの両方(別々の領域)に読み込むようにすると良い.
データ加工用の関数は MakeData(void) である.これをオーバーライドして,cmnHeadを表示用データ に加工し,CExViewに渡す.
データの書き込みは 未実装.
CExFrame クラス
CExView とCExDocument を繋ぐためのフレームテンプレートクラス.
マウス制御機能(簡易版)あり. GetMousePos() (クライアント領域でのマウスの座標) デフォルトで最大化ボックスは無効である.
CExTextFrame クラス
CExTextView とCExDocument を繋ぐためのフレームテンプレートクラス.
マウス制御機能(簡易版)あり. GetMousePos() (クライアント領域でのマウスの座標) デフォルトで最大化ボックスは無効である.
ウィンドウのリサイズ時,移動時のちらつき防止効果付きツールバー
MFCLib 用入出力関数
CDx2DView クラス
CDxBaseViewクラスからの継承クラス. 対応する Document の cmnHead (pDoc->cmnHead) からデータを受け取り DirectXの機能を使って 2D画像表示を行う.静止画用.
cmnHead.kind==UN_KNOWN の場合は,ExDocumentクラスで DirectXの機能を 使用して,画像フォーマットの解析を行っておかなければならない.
また,cmnHead.kind が既知(CT_ADAT, CT_3DX, RAS_DATA)の場合に対しては, depthが 8bitにしか対応していないので,Documentクラスで 8bit化して おく必要がある.
CDxDirectView クラス
Viewの viewDataを直接操作して 2D画像を更新するためのクラス. 16/24/32bit カラー対応. 動画用.
CDxGraphDoc クラス
CExDocumentクラスからの継承クラス. DirectXの機能を利用して,読み込んだ画像のフォーマットを解析する.
画像データは cmnHead, msGraph メンバに格納される.ただし,画像ファイル のフォーマットが未知の場合は,cmnHead.kind==UN_KNOWN となり,msGraphには 画像は格納されない.画像ファイルのフォーマットが未知の場合(UN_KNOWN)は, DirectXの機能を使用して,フォーマット解析を行う(msGraphにはデータは無し).
ここで言う「画像データのフォーマットが未知」とは作者が画像フォーマットを 知らないということ.jpeg, bmp等も含む.
画像ファイルのフォーマットが既知の場合(CT_DATA, CT_3DM, RAS_DATAなど), 画像データは msGraphにもコピーされ,cmnHeadの画像データ自体は 8bit化 される.
通常は cmnHead が Viewにわたされる.
OnOpenDocument(LPCTSTR) -> ReadDataFile(LPCTSTR); -> MakeViewData(void);
CDxMGRView クラス
CDxBaseViewクラスからの継承クラス.マルチ画像表示.16/24/32bit カラー対応.
対応する Document の cmnHead (pDoc->cmnHead) からデータ(3Dデータ可)を受け取り DirectXの機能を使って 2D表示を行う.対直スクロールバー付き.
現在サポートしているカラー処理は Planeモード (Z方向をRGBの各色に割り当てるモード)のみ
CDxSRenderView クラス (サーフェイスレンダリング)
CDxVTXBaseViewクラスからの継承クラス 対応する Document の msGraph (pDoc->msGraph) からデータを受け取り (cmnHeadではないので注意),(簡易)サーフェイスレンダリングを行い, DirectXの機能を使って 3D表示する.
3D表示する場合の色は,ボクセルの輝度値(16bit)に対して,ARGB16(各4bit) と解釈する.輝度値(16bit)の設定には uWord ARGB2Word(uWord a, uWord r, uWord g, uWord b) (要 include "Gdata.h") uWord RGBA2Word(uWord r, uWord g, uWord b, uWord a) (要 include "Gdata.h") uWord RGB2Word (uWord r, uWord g, uWord b) (要 include "Gdata.h") を使用すると良い.因みに逆の関数は D3DCOLOR Dx9Word2RGBA(uWord pp) (要 include "Dx9.h") D3DCOLOR Dx9Word2ARGB(uWord pp) (要 include "Dx9.h") D3DCOLOR Dx9Word2RGB (uWord pp) (要 include "Dx9.h")
CDxVScrollView クラス
対応する Document の cmnHead (pDoc->cmnHead) からデータを受け取り 縦スクロール付き(画像の伸張なし)の画像を表示する. DirectXの機能を使用する.
cmnHead.zsize にクライアント領域の初期サイズ(Yサイズ)が格納され ている必要がある(Zサイズではない).つまり, (cmnHead.xsize, cmnHead.ysize) は全体の画像サイズ (cmnHead.xsize, cmnHead.zsize) は表示用サイズ
縦スクロールだから,Xサイズ(cmnHead.xsize)は同じ
CLogWndFrame クラス
CDxMGRView クラス用フレーム
ExSMPLDisp.h : ヘッダー ファイル
簡易画像表示
CRwGRDoc クラス
画像ファイルを読み込む.CExDocumentクラスを継承.
予め cmnHeadにデータがある場合は,hasReadData=TRUE にする. multiSliceData==TRUE の場合は,マルチスライス読み込みモードになり3Dデータとして読み込む.
画像データは 最初 msGraphに読み込まれ, MakeViewData()により cmnHeadへコピーされ(別の データ領域) 8bit化される. ただしメモリを節約したい場合,nonCmanHead==TRUEにすれば,データはcmnHeadにはコピーされない. また,MakeViewData()をオーバーライドしてもよい.
通常は cmnHead が Viewにわたされる.
CvThumbNailFrame クラス
縦スクロールサムネイル画像の表示用フレーム
vThumbNailDoc と DxVScrollView を繋ぐ
Tools for ExWindows ライブラリ
typedef char*(* FUNC_STRING)(int) |
サンプル:
Definition at line 47 of file WinDLLTool.h.
typedef std::queue<CWinMediaBuffer*> MediaBufferQueue |
Definition at line 85 of file WinMediaBuffer.h.
typedef std::stack<CWinMediaBuffer*> MediaBufferStack |
Definition at line 84 of file WinMediaBuffer.h.
enum NiSDK_Lib |
Definition at line 34 of file NiToolWin.h.
00035 { 00036 NiSDK_Default, 00037 NiSDK_None, 00038 NiSDK_Kinect, 00039 NiSDK_OpenNI, 00040 NiSDK_OpenNI2 00041 };
enum SENDKEY_Action |
Definition at line 118 of file WinTools.h.
00119 { 00120 SENDKEY_TapAction, 00121 SENDKEY_DownAction, 00122 SENDKEY_UpAction 00123 };
tList * addBVHJointName | ( | char * | fname, | |
tList * | lt | |||
) |
Definition at line 103 of file NiBVHName.cpp.
References add_bvh_name, NI_NORML_JOINT_NUM, and NiJointName().
Referenced by CNiBVHTool::readFile().
00104 { 00105 tList* pp = dup_tList(nl); 00106 tList* lt = pp; 00107 00108 tList* tl = read_index_tList_file(fname, ' '); 00109 if (tl==NULL) return pp; 00110 00111 // 00112 // PELVIS, WAIST, TORSO, ....., R_TOE see NiJointsTool.cpp 00113 for (int j=0; j<NI_NORML_JOINT_NUM; j++) { 00114 char* joint_name = get_str_param_tList(tl, (char*)NiJointName(j).c_str(), NULL); 00115 if (joint_name!=NULL) { 00116 pp = add_bvh_name(pp, j, joint_name); 00117 free(joint_name); 00118 } 00119 } 00120 00121 del_tList(&tl); 00122 00123 return lt; 00124 }
int BVHJoint2NiJointNum | ( | tList * | lt, | |
Buffer | joint_name | |||
) |
Definition at line 128 of file NiBVHName.cpp.
Referenced by CNiBVHTool::readFile(), and CNiFileTool::writeBVHFile().
00129 { 00130 tList* pp = lt; 00131 00132 if (pp==NULL) return -1; 00133 00134 while(pp!=NULL) { 00135 if (!strcasecmp((char*)joint_name.buf, (char*)pp->ldat.key.buf)) { 00136 return pp->ldat.id; 00137 } 00138 pp = pp->next; 00139 } 00140 00141 return -1; 00142 }
int cat_ts2Buffer | ( | LPCTSTR | str, | |
Buffer * | buf | |||
) |
Definition at line 139 of file WinTools.cpp.
References ts2mbs().
Referenced by get_dir_files_t().
00140 { 00141 if (buf==NULL) return -1; 00142 int cc = 0; 00143 00144 #ifdef _UNICODE 00145 char* mbstr = ts2mbs(str); 00146 cat_s2Buffer(mbstr, buf); 00147 ::free(mbstr); 00148 cc = buf->vldsz; 00149 00150 #else 00151 cc = cat_s2Buffer((char*)str, buf); 00152 00153 #endif 00154 00155 return cc; 00156 }
int copy_ts2Buffer | ( | LPCTSTR | str, | |
Buffer * | buf | |||
) |
Definition at line 114 of file WinTools.cpp.
References ts2mbs().
00115 { 00116 if (buf==NULL) return -1; 00117 int cc = 0; 00118 00119 #ifdef _UNICODE 00120 char* mbstr = ts2mbs(str); 00121 copy_s2Buffer(mbstr, buf); 00122 ::free(mbstr); 00123 cc = buf->vldsz; 00124 00125 #else 00126 cc = copy_s2Buffer((char*)str, buf); 00127 00128 #endif 00129 00130 return cc; 00131 }
int copyFileWithCounter | ( | LPCTSTR | src, | |
LPCTSTR | dst | |||
) |
int jbxwl::copyFileWithCounter(char* src, char* dst)
戻り値: 正数 正常終了 -1 読み込みファイルが存在しない.またはサイズが 0. -2 読み込みファイルをオープンできない. -3 書き込みファイルをオープンできない. copyFPWithCounter からの戻り値 -10 処理失敗(何も処理されていない?) -11 キャンセル -12 読み込み/書き込みに失敗 -13 指定されたバイト数まで処理されていない
Definition at line 24 of file MFCio.cpp.
References copyFPWithCounter(), and file_size_t().
Referenced by CNiFileTool::saveJTextfromFile().
00025 { 00026 unsigned long int sz = file_size_t(src); 00027 if (sz<=0) return -1; 00028 00029 FILE* sfp = tfopen(src, _T("rb")); 00030 if (sfp==NULL) return -2; 00031 00032 FILE* dfp = tfopen(dst, _T("wb")); 00033 if (dfp==NULL) { 00034 fclose(sfp); 00035 return -3; 00036 } 00037 00038 int ret = copyFPWithCounter(sfp, dfp, sz); 00039 00040 fclose(dfp); 00041 fclose(sfp); 00042 00043 if (ret<=0) ret -= 10; 00044 return ret; 00045 }
int copyFPWithCounter | ( | FILE * | src, | |
FILE * | dst, | |||
unsigned long int | sz | |||
) |
int jbxwl::copyFPWithCounter(FILE* src, FILE* dst, unsigned long int sz)
戻り値: 正数 正常終了 0 処理失敗(何も処理されていない?) -1 キャンセル -2 読み込み/書き込みに失敗 -3 指定されたバイト数まで処理されていない
Definition at line 58 of file MFCio.cpp.
References IDD_PROGBAR, IDS_STR_WRTNG_FILE, CProgressBarDLG::isCanceled(), CProgressBarDLG::SetMax(), CProgressBarDLG::SetPos(), CProgressBarDLG::Start(), CProgressBarDLG::StepIt(), CProgressBarDLG::Stop(), and ts2mbs().
Referenced by copyFileWithCounter().
00059 { 00060 // 00061 // グローバルカウンタの生成 00062 CProgressBarDLG* counter = NULL; 00063 00064 int count_max = 20; 00065 int count_intvl = sz/MAXBUFSZ/count_max; 00066 00067 if (sz>MAXBUFSZ && count_intvl>0) { // 64kByte 00068 counter = new CProgressBarDLG(IDD_PROGBAR, NULL, TRUE); // ディスパッチャー有効 00069 if (counter!=NULL) { 00070 SetGlobalCounter(counter); 00071 CString mesg; 00072 mesg.LoadString(IDS_STR_WRTNG_FILE); 00073 // 00074 char* mbstr = ts2mbs(mesg); 00075 counter->Start(0, mbstr); 00076 ::free(mbstr); 00077 } 00078 } 00079 00080 if (counter!=NULL) { 00081 counter->SetMax(count_max); 00082 counter->SetPos(0); 00083 } 00084 00085 // 00086 unsigned char buf[MAXBUFSZ]; 00087 int sum = 0; 00088 int cnt = 0; 00089 size_t rsz = 0; 00090 size_t wsz = 0; 00091 00092 // 00093 do { 00094 rsz = fread(buf, 1, MAXBUFSZ, src); 00095 wsz = fwrite(buf, rsz, 1, dst); 00096 sum += (int)rsz; 00097 00098 cnt++; 00099 if (counter!=NULL) { 00100 if (cnt%count_intvl==0) { 00101 counter->StepIt(); 00102 if (counter->isCanceled()) { 00103 sum = -1; 00104 break; // キャンセル 00105 } 00106 } 00107 } 00108 } while (!feof(src) && rsz>0 && wsz>0); 00109 00110 // グローバルカウンタの削除 00111 if (counter!=NULL) { 00112 counter->Stop(); 00113 ClearGlobalCounter(); 00114 delete counter; 00115 } 00116 00117 // 00118 if (sum!=0) { 00119 if (!feof(src) && (rsz==0||wsz==0)) sum = -2; 00120 else if (sum!=sz) { 00121 DEBUG_ERROR("jbxwl::copyFPWithCounter(): WARNING: File Size is %d, but Write Size is %d\n", sz, sum); 00122 sum = -3; 00123 } 00124 } 00125 00126 return sum; 00127 }
CExFrame * CreateDocFrmView | ( | CMultiDocTemplate * | pDocTemp, | |
CAppCallBack * | papp = NULL | |||
) |
Definition at line 31 of file ExClass.cpp.
References deleteNull(), CExDocument::GetView(), CExFrame::pTempl, and SetExLink().
Referenced by ExecTemplate().
00032 { 00033 // クラスの取得 00034 CExDocument* pdoc = (CExDocument*)pDocTempl->CreateNewDocument(); 00035 CExFrame* pfrm = (CExFrame*)pDocTempl->CreateNewFrame(pdoc, NULL); 00036 CExView* pviw = (CExView*)pdoc->GetView(); 00037 00038 bool rslt = SetExLink(pdoc, pfrm, pviw, papp); 00039 if (!rslt) { 00040 if (pdoc!=NULL) { 00041 DEBUG_ERROR("jbxwl::CreateDocFrmView(): ERROR: Document is NULL\n"); 00042 deleteNull(pdoc); 00043 } 00044 if (pviw!=NULL) { 00045 DEBUG_ERROR("jbxwl::CreateDocFrmView(): ERROR: View is NULL\n"); 00046 deleteNull(pviw); 00047 } 00048 if (pfrm!=NULL) { 00049 DEBUG_ERROR("jbxwl::CreateDocFrmView(): ERROR: Frame is NULL\n"); 00050 deleteNull(pfrm); 00051 } 00052 return NULL; 00053 } 00054 00055 pfrm->pTempl = pDocTempl; 00056 return pfrm; 00057 }
CString cut_file_extension_t | ( | LPCTSTR | str | ) |
Definition at line 241 of file WinTools.cpp.
References mbs2ts(), and ts2mbs().
00242 { 00243 CString buf = _T(""); 00244 00245 #ifdef _UNICODE 00246 char* mbstr = ts2mbs(str); 00247 char* pn = cut_file_extension(mbstr); // 要free 00248 buf = mbs2ts(pn); 00249 ::free(mbstr); 00250 ::free(pn); 00251 00252 #else 00253 char* pn = cut_file_extension((char*)str); 00254 buf = (LPTSTR)pn; 00255 ::free(pn); 00256 #endif 00257 00258 return buf; 00259 }
void jbxwl::deleteNull | ( | T *& | ptr | ) | [inline] |
Definition at line 222 of file WinTools.h.
Referenced by CreateDocFrmView(), CWinAudioTool::free(), and CDxSRenderView::PrepareVB().
BOOL DoSystemKeyAction | ( | LPCTSTR | com, | |
BOOL | child = FALSE | |||
) |
return TRUE: com の処理は完了した. FALSE: com の処理はまだ完了していない.
Definition at line 554 of file WinTools.cpp.
References SendKeyActionTap(), SendKeyActionTapAlt(), and SendKeyActionTapCtrl().
00555 { 00556 if (com==NULL) return TRUE; 00557 00558 // 00559 if (!tcscmp(com, _T("UP"))) { 00560 SendKeyActionTap(VK_UP); 00561 } 00562 else if (!tcscmp(com, _T("DOWN"))) { 00563 SendKeyActionTap(VK_DOWN); 00564 } 00565 else if (!tcscmp(com, _T("RIGHT"))) { 00566 SendKeyActionTap(VK_RIGHT); 00567 } 00568 else if (!tcscmp(com, _T("LEFT"))) { 00569 SendKeyActionTap(VK_LEFT); 00570 } 00571 else if (!tcscmp(com, _T("NEXT")) || !tcscmp(com, _T("TAB"))) { 00572 SendKeyActionTap(VK_TAB); 00573 } 00574 else if (!tcscmp(com, _T("BACK"))) { 00575 SendKeyActionTap(VK_LSHIFT, VK_TAB); 00576 } 00577 else if (!tcscmp(com, _T("ENTER"))) { 00578 SendKeyActionTap(VK_RETURN); 00579 } 00580 else if (!tcscmp(com, _T("MENU")) || !tcscmp(com, _T("ALT"))) { 00581 SendKeyActionTap(VK_LMENU); 00582 } 00583 else if (!tcscmp(com, _T("ESC"))) { 00584 SendKeyActionTap(VK_ESCAPE); 00585 } 00586 // 00587 else if (!tcscmp(com, _T("CHANGE"))) { 00588 SendKeyActionTapCtrl(VK_F6); 00589 } 00590 else if (!tcscmp(com, _T("CLOSE"))) { 00591 if (child) SendKeyActionTapAlt(VK_F4); 00592 else SendKeyActionTapCtrl(VK_F4); 00593 } 00594 // 00595 else { 00596 return FALSE; 00597 } 00598 00599 return TRUE; 00600 }
LPDIRECT3DDEVICE9 Dx9CreateGraphic | ( | LPDIRECT3D9 | gpD3D, | |
D3DPRESENT_PARAMETERS * | d3dParam, | |||
HWND | hWnd | |||
) |
機能: DirectX9のグラフィックデバイスを得る. 引数: gpD3D DirectX9のインターフェイス d3dParam デバイス作成のためのパラメータ hWnd デバイスを作成するウィンドウのウィンドウハンドル 戻値: DirectX9デバイス 説明:
Definition at line 93 of file Dx9.cpp.
Referenced by CDxBaseView::InitDevice().
00094 { 00095 LPDIRECT3DDEVICE9 d3dDevice=NULL; 00096 HRESULT hr; 00097 00098 hr = gpD3D->CreateDevice(D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, hWnd, D3DCREATE_HARDWARE_VERTEXPROCESSING, d3dParam, &d3dDevice); 00099 if (FAILED(hr)) { 00100 hr = gpD3D->CreateDevice(D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, hWnd, D3DCREATE_SOFTWARE_VERTEXPROCESSING, d3dParam, &d3dDevice); 00101 if (FAILED(hr)) { 00102 hr = gpD3D->CreateDevice(D3DADAPTER_DEFAULT, D3DDEVTYPE_REF, hWnd, D3DCREATE_SOFTWARE_VERTEXPROCESSING, d3dParam, &d3dDevice); 00103 if (FAILED(hr)) return (LPDIRECT3DDEVICE9)NULL; 00104 } 00105 } 00106 return d3dDevice; 00107 }
BOOL Dx9CreateInterface | ( | CWinApp * | wapp | ) |
機能: DirectX9のデバイスへのインターフェイスを得る. 引数: hinst アプリケーションのインスタンスハンドラ(通常は this->m_hInstanceを指定) 説明:
Definition at line 30 of file Dx9.cpp.
References DIRECTINPUT_VERSION, Dx9CreateKeyBoard(), Dx9CreateMouse(), DXRELEASE, GpD3D, GpDInput, GpDKeyBoard, and GpDMouse.
00031 { 00032 GpD3D = Direct3DCreate9(D3D_SDK_VERSION); 00033 if (GpD3D==NULL) { 00034 DEBUG_INFO("jbxwl::Dx9CreateInterface: ERROR: グラフィックデバイスの取得に失敗しました\n"); 00035 return FALSE; 00036 } 00037 00038 HRESULT hr = DirectInput8Create(wapp->m_hInstance, DIRECTINPUT_VERSION, IID_IDirectInput8, (void**)&GpDInput, NULL); 00039 if (GpDInput==NULL) { 00040 DEBUG_INFO("jbxwl::Dx9CreateInterface: ERROR: インプットデバイスの取得に失敗しました\n"); 00041 DXRELEASE(GpD3D); 00042 return FALSE; 00043 } 00044 else { 00045 GpDMouse = Dx9CreateMouse(GpDInput, wapp->m_pMainWnd->m_hWnd); 00046 if (GpDMouse==NULL) { 00047 Sleep(1000); 00048 GpDMouse = Dx9CreateMouse(GpDInput, wapp->m_pMainWnd->m_hWnd); 00049 if (GpDMouse==NULL) { 00050 DEBUG_INFO("jbxwl::Dx9CreateInterface(): ERROR: マウスデバイスの取得に失敗しました\n"); 00051 DXRELEASE(GpD3D); 00052 DXRELEASE(GpDInput); 00053 return FALSE; 00054 } 00055 } 00056 GpDKeyBoard = Dx9CreateKeyBoard(GpDInput, wapp->m_pMainWnd->m_hWnd); 00057 if (GpDKeyBoard==NULL) { 00058 Sleep(1000); 00059 GpDKeyBoard = Dx9CreateKeyBoard(GpDInput, wapp->m_pMainWnd->m_hWnd); 00060 if (GpDKeyBoard==NULL) { 00061 DEBUG_INFO("jbxwl::Dx9CreateInterface(): ERROR: キーボードデバイスの取得に失敗しました\n"); 00062 DXRELEASE(GpDMouse); 00063 DXRELEASE(GpD3D); 00064 DXRELEASE(GpDInput); 00065 return FALSE; 00066 } 00067 } 00068 } 00069 00070 return TRUE; 00071 }
LPDIRECTINPUTDEVICE8 Dx9CreateKeyBoard | ( | LPDIRECTINPUT8 | gpDInput, | |
HWND | hWnd | |||
) |
Definition at line 151 of file Dx9.cpp.
Referenced by Dx9CreateInterface().
00152 { 00153 LPDIRECTINPUTDEVICE8 gpdkeyboard=NULL; 00154 00155 HRESULT hr = gpDInput->CreateDevice(GUID_SysKeyboard, &gpdkeyboard, NULL); 00156 if (FAILED(hr)) return NULL; 00157 00158 hr = gpdkeyboard->SetDataFormat(&c_dfDIKeyboard); 00159 if (FAILED(hr)) return NULL; 00160 00161 hr = gpdkeyboard->SetCooperativeLevel(hWnd, DISCL_NONEXCLUSIVE | DISCL_FOREGROUND); 00162 if (FAILED(hr)) return NULL; 00163 else return gpdkeyboard; 00164 }
LPDIRECTINPUTDEVICE8 Dx9CreateMouse | ( | LPDIRECTINPUT8 | gpDInput, | |
HWND | hWnd | |||
) |
Definition at line 114 of file Dx9.cpp.
Referenced by Dx9CreateInterface().
00115 { 00116 LPDIRECTINPUTDEVICE8 gpdmouse=NULL; 00117 00118 HRESULT hr = gpDInput->CreateDevice(GUID_SysMouse, &gpdmouse, NULL); 00119 if (FAILED(hr) || gpdmouse==NULL) return NULL; 00120 00121 hr = gpdmouse->SetDataFormat(&c_dfDIMouse); 00122 if (FAILED(hr)) return NULL; 00123 00124 hr = gpdmouse->SetCooperativeLevel(hWnd, DISCL_NONEXCLUSIVE | DISCL_FOREGROUND); 00125 if (FAILED(hr)) return NULL; 00126 00127 // 軸モード 00128 /* DIPROPDWORD diprop; 00129 diprop.diph.dwSize = sizeof(diprop); 00130 diprop.diph.dwHeaderSize = sizeof(diprop.diph); 00131 diprop.diph.dwObj = 0; 00132 diprop.diph.dwHow = DIPH_DEVICE; 00133 diprop.dwData = DIPROPAXISMODE_ABS; 00134 hr = gpdmouse->SetProperty(DIPROP_AXISMODE, &diprop.diph); 00135 if (FAILED(hr)) { 00136 DEBUG_INFO("Dx9CreateMouse: SetProprty\n"); 00137 return NULL; 00138 } 00139 /**/ 00140 hr = gpdmouse->Acquire(); 00141 if (FAILED(hr)) return NULL; 00142 00143 return gpdmouse; 00144 }
HRESULT Dx9DrawPrimitive | ( | LPDIRECT3DDEVICE9 | gpD3DDevice, | |
D3DPRIMITIVETYPE | ptype, | |||
UINT | unit, | |||
UINT | bsize | |||
) |
Definition at line 335 of file Dx9.cpp.
References Dx9DividePrimitiveMode, and DXMAXPRIMITIVE.
Referenced by CDxSRenderView::ExecRender().
00336 { 00337 HRESULT hr; 00338 00339 if (Dx9DividePrimitiveMode) { // 分割描画モード 00340 UINT iter = bsize / DXMAXPRIMITIVE; 00341 UINT imod = bsize % DXMAXPRIMITIVE; 00342 00343 unsigned int i; 00344 for (i=0; i<iter; i++) { 00345 hr = gpD3DDevice->DrawPrimitive(ptype, i*unit*DXMAXPRIMITIVE, DXMAXPRIMITIVE); 00346 if (FAILED(hr)) return hr; 00347 } 00348 hr = gpD3DDevice->DrawPrimitive(ptype, i*unit*DXMAXPRIMITIVE, imod); 00349 //if (FAILED(hr)) Dx9DividePrimitiveMode = FALSE; 00350 } 00351 else { // ノーマルモード 00352 hr = gpD3DDevice->DrawPrimitive(ptype, 0, bsize); 00353 //if (FAILED(hr)) Dx9DividePrimitiveMode = TRUE; 00354 } 00355 00356 return hr; 00357 }
POINT Dx9GetBackBuffer | ( | LPDIRECT3DDEVICE9 | gpD3DDevice, | |
LPDIRECT3DSURFACE9 * | pgpBackBuffer | |||
) |
Definition at line 175 of file Dx9.cpp.
References Dx9GetSurfaceSize().
Referenced by CDxVScrollView::InitObject(), CDxMGRView::InitObject(), CDxDirectView::InitObject(), CDx2DView::InitObject(), CDxVScrollView::OnInitialUpdate(), CDxMGRView::OnInitialUpdate(), CDxDirectView::OnInitialUpdate(), and CDx2DView::OnInitialUpdate().
00176 { 00177 POINT pt; 00178 pt.x = pt.y = -1; 00179 00180 HRESULT hr = gpD3DDevice->GetBackBuffer(0, 0, D3DBACKBUFFER_TYPE_MONO, pgpBackBuffer); 00181 if (FAILED(hr)) return pt; 00182 00183 pt = Dx9GetSurfaceSize(pgpBackBuffer); 00184 return pt; 00185 }
POINT Dx9GetSurfaceSize | ( | LPDIRECT3DSURFACE9 * | lpsf | ) |
Definition at line 361 of file Dx9.cpp.
Referenced by Dx9GetBackBuffer().
00362 { 00363 D3DSURFACE_DESC desc; 00364 POINT pt; 00365 00366 (*lpsf)->GetDesc(&desc); 00367 pt.x = desc.Width; 00368 pt.y = desc.Height; 00369 00370 return pt; 00371 }
void Dx9ReleaseInterface | ( | ) |
BOOL Dx9SurfaceFromByteMemory | ( | LPDIRECT3DDEVICE9 | gpD3DDevice, | |
LPDIRECT3DSURFACE9 * | pgpSurface, | |||
CmnHead | cmnHead | |||
) |
Definition at line 236 of file Dx9.cpp.
Referenced by Dx9SurfaceFromMemory().
00237 { 00238 HRESULT hr = gpD3DDevice->CreateOffscreenPlainSurface(cmnHead.xsize, cmnHead.ysize, D3DFMT_R5G6B5, D3DPOOL_DEFAULT, pgpSurface, NULL); 00239 if (FAILED(hr)) return FALSE; 00240 00241 RECT rect; 00242 rect.left = 0; 00243 rect.top = 0; 00244 rect.right = cmnHead.xsize - 1; 00245 rect.bottom = cmnHead.ysize - 1; 00246 hr = D3DXLoadSurfaceFromMemory(*pgpSurface, NULL, NULL, cmnHead.grptr, D3DFMT_L8, cmnHead.xsize, NULL, &rect, D3DX_FILTER_NONE, 0); 00247 // hr = D3DXLoadSurfaceFromMemory(*pgpSurface, NULL, NULL, cmnHead.grptr, D3DFMT_L16, cmnHead.xsize*2, NULL, &rect, D3DX_FILTER_NONE, 0); 00248 if (FAILED(hr)) return FALSE; 00249 return TRUE; 00250 }
BOOL Dx9SurfaceFromMemory | ( | LPDIRECT3DDEVICE9 | gpD3DDevice, | |
LPDIRECT3DSURFACE9 * | pgpSurface, | |||
CmnHead | cmnHead | |||
) |
Definition at line 198 of file Dx9.cpp.
References Dx9SurfaceFromByteMemory(), and Dx9SurfaceFromMemoryFile().
Referenced by CDx2DView::InitObject(), and CDx2DView::OnInitialUpdate().
00199 { 00200 BOOL ret; 00201 00202 if (cmnHead.kind==HEADER_NONE) return FALSE; 00203 int chk = cmnHead.kind & 0x00ff; 00204 00205 if (chk==UN_KNOWN_DATA) ret = Dx9SurfaceFromMemoryFile(gpD3DDevice, pgpSurface, cmnHead); 00206 else ret = Dx9SurfaceFromByteMemory(gpD3DDevice, pgpSurface, cmnHead); 00207 return ret; 00208 }
BOOL Dx9SurfaceFromMemoryFile | ( | LPDIRECT3DDEVICE9 | gpD3DDevice, | |
LPDIRECT3DSURFACE9 * | pgpSurface, | |||
CmnHead | cmnHead | |||
) |
Definition at line 216 of file Dx9.cpp.
Referenced by Dx9SurfaceFromMemory().
00217 { 00218 //HRESULT hr = gpD3DDevice->CreateOffscreenPlainSurface( 00219 // cmnHead.xsize, cmnHead.ysize, (D3DFORMAT)cmnHead.depth, D3DPOOL_DEFAULT, pgpSurface, NULL); 00220 00221 HRESULT hr = gpD3DDevice->CreateOffscreenPlainSurface(cmnHead.xsize, cmnHead.ysize, D3DFMT_X8R8G8B8, D3DPOOL_DEFAULT, pgpSurface, NULL); 00222 if (FAILED(hr)) return FALSE; 00223 00224 hr = D3DXLoadSurfaceFromFileInMemory(*pgpSurface, NULL, NULL, cmnHead.grptr, cmnHead.lsize, NULL, D3DX_FILTER_NONE, 0, (D3DXIMAGE_INFO*)cmnHead.buf); 00225 if (FAILED(hr)) return FALSE; 00226 00227 return TRUE; 00228 }
BOOL Dx9TextureFromByteMemory | ( | LPDIRECT3DDEVICE9 | gpD3DDevice, | |
LPDIRECT3DTEXTURE9 * | pgpTexture, | |||
CmnHead | cmnHead | |||
) |
Definition at line 296 of file Dx9.cpp.
References DXRELEASE.
Referenced by Dx9TextureFromMemory().
00297 { 00298 HRESULT hr; 00299 RECT rect; 00300 LPDIRECT3DSURFACE9 surface; 00301 00302 hr = D3DXCreateTexture(gpD3DDevice, cmnHead.xsize, cmnHead.ysize, 0, D3DUSAGE_RENDERTARGET, D3DFMT_L8, D3DPOOL_DEFAULT, pgpTexture); 00303 if (FAILED(hr)) return FALSE; 00304 00305 hr = (*pgpTexture)->GetSurfaceLevel(0, &surface); 00306 if (FAILED(hr)) return FALSE; 00307 00308 rect.left = 0; 00309 rect.top = 0; 00310 rect.right = cmnHead.xsize - 1; 00311 rect.bottom = cmnHead.ysize - 1; 00312 hr = D3DXLoadSurfaceFromMemory(surface, NULL, NULL, cmnHead.grptr, D3DFMT_L8, cmnHead.xsize, NULL, &rect, D3DX_FILTER_LINEAR, 0); 00313 DXRELEASE(surface); 00314 00315 if (FAILED(hr)) return FALSE; 00316 return TRUE; 00317 }
BOOL Dx9TextureFromMemory | ( | LPDIRECT3DDEVICE9 | gpD3DDevice, | |
LPDIRECT3DTEXTURE9 * | pgpTexture, | |||
CmnHead | cmnHead | |||
) |
Definition at line 263 of file Dx9.cpp.
References Dx9TextureFromByteMemory(), and Dx9TextureFromMemoryFile().
00264 { 00265 BOOL ret; 00266 00267 if (cmnHead.kind==HEADER_NONE) return FALSE; 00268 int chk = cmnHead.kind & 0x00ff; 00269 00270 if (chk==UN_KNOWN_DATA) ret = Dx9TextureFromMemoryFile(gpD3DDevice, pgpTexture, cmnHead); 00271 else ret = Dx9TextureFromByteMemory(gpD3DDevice, pgpTexture, cmnHead); 00272 return ret; 00273 }
BOOL Dx9TextureFromMemoryFile | ( | LPDIRECT3DDEVICE9 | gpD3DDevice, | |
LPDIRECT3DTEXTURE9 * | pgpTexture, | |||
CmnHead | cmnHead | |||
) |
Definition at line 281 of file Dx9.cpp.
Referenced by Dx9TextureFromMemory().
00282 { 00283 HRESULT hr = D3DXCreateTextureFromFileInMemoryEx( 00284 gpD3DDevice, cmnHead.grptr, cmnHead.lsize, 0, 0, 0, 0, D3DFMT_A8R8G8B8, D3DPOOL_DEFAULT, //D3DPOOL_MANAGED, 00285 D3DX_FILTER_LINEAR, D3DX_FILTER_LINEAR, 0, NULL, NULL, pgpTexture); 00286 if (FAILED(hr)) return FALSE; 00287 return TRUE; 00288 }
D3DCOLOR jbxwl::Dx9Word2ARGB | ( | uWord | pp | ) | [inline] |
Definition at line 88 of file Dx9.h.
Referenced by CDxSRenderView::PrepareVB().
00089 { 00090 int r, g, b, a; 00091 00092 if (isBigEndian) { 00093 a = (int)((pp&0xf000)>>12); 00094 r = (int)((pp&0x0f00)>>8); 00095 g = (int)((pp&0x00f0)>>4); 00096 b = (int) (pp&0x000f); 00097 } 00098 else { 00099 g = (int)((pp&0xf000)>>12); 00100 b = (int)((pp&0x0f00)>>8); 00101 a = (int)((pp&0x00f0)>>4); 00102 r = (int) (pp&0x000f); 00103 } 00104 00105 return D3DCOLOR_ARGB(a*17, r*17, g*17, b*17); 00106 }
D3DCOLOR jbxwl::Dx9Word2RGB | ( | uWord | pp | ) | [inline] |
Definition at line 110 of file Dx9.h.
Referenced by CDxSRenderView::PrepareVB().
00111 { 00112 int r, g, b; 00113 00114 if (isLittleEndian) swap_byte(&pp, 2, 2); 00115 00116 r = (int)((pp&0xf800)>>11); 00117 g = (int)((pp&0x07e0)>>5); 00118 b = (int) (pp&0x001f); 00119 00120 return D3DCOLOR_XRGB((int)(r*8.23), (int)(g*4.05), (int)(b*8.23)); 00121 }
D3DCOLOR jbxwl::Dx9Word2RGBA | ( | uWord | pp | ) | [inline] |
Definition at line 66 of file Dx9.h.
Referenced by CDxSRenderView::PrepareVB().
00067 { 00068 int r, g, b, a; 00069 00070 if (isBigEndian) { 00071 r = (int)((pp&0xf000)>>12); 00072 g = (int)((pp&0x0f00)>>8); 00073 b = (int)((pp&0x00f0)>>4); 00074 a = (int) (pp&0x000f); 00075 } 00076 else { 00077 b = (int)((pp&0xf000)>>12); 00078 a = (int)((pp&0x0f00)>>8); 00079 r = (int)((pp&0x00f0)>>4); 00080 g = (int) (pp&0x000f); 00081 } 00082 00083 return D3DCOLOR_RGBA(r*17, g*17, b*17, a*17); 00084 }
CString EasyGetOpenFileName | ( | LPCTSTR | title = NULL , |
|
HWND | hWnd = NULL | |||
) |
Definition at line 235 of file ExClass.cpp.
Referenced by ExecTemplate().
00236 { 00237 OPENFILENAME ofn; 00238 TCHAR fn[LMESG]; 00239 CString str = _T(""); 00240 00241 memset(fn, 0, LMESG); 00242 memset(&ofn, 0, sizeof(OPENFILENAME)); 00243 00244 ofn.lStructSize = sizeof(OPENFILENAME); 00245 ofn.hwndOwner = hWnd; 00246 ofn.Flags = OFN_HIDEREADONLY; 00247 ofn.lpstrFile = fn; 00248 ofn.nMaxFile = LMESG; 00249 ofn.lpstrTitle = title; 00250 00251 //DEBUG_INFO("jbxwl::EasyGetOpenFileName(): GetOpenFileName() Start => %d\n", GetMsecondsTimer()); 00252 BOOL ret = GetOpenFileName(&ofn); 00253 //DEBUG_INFO("jbxwl::EasyGetOpenFileName(): GetOpenFileName() End => %d\n", GetMsecondsTimer()); 00254 if (ret) str = fn; 00255 00256 return str; 00257 }
CString EasyGetSaveFileName | ( | LPCTSTR | title = NULL , |
|
LPCTSTR | extnt = NULL , |
|||
HWND | hWnd = NULL | |||
) |
Definition at line 261 of file ExClass.cpp.
00262 { 00263 OPENFILENAME ofn; 00264 TCHAR fn[LNAME]; 00265 CString str = _T(""); 00266 00267 memset(fn, 0, LNAME); 00268 memset(&ofn, 0, sizeof(OPENFILENAME)); 00269 00270 ofn.lStructSize = sizeof(OPENFILENAME); 00271 ofn.hwndOwner = hWnd; 00272 ofn.Flags = 0; 00273 ofn.lpstrFile = fn; 00274 ofn.nMaxFile = LNAME; 00275 ofn.lpstrDefExt = extnt; 00276 ofn.lpstrTitle = title; 00277 00278 BOOL ret = GetSaveFileName(&ofn); 00279 if (ret) str = fn; 00280 00281 return str; 00282 }
CString EasyGetSaveFolderName | ( | LPCTSTR | folder = _T("") , |
|
LPCTSTR | title = NULL , |
|||
HWND | hWnd = NULL | |||
) |
Definition at line 286 of file ExClass.cpp.
References EasyGetSaveFolderNameCallBack().
00287 { 00288 BROWSEINFO bri; 00289 LPITEMIDLIST pilst; 00290 00291 TCHAR fldr[LNAME]; 00292 CString str = _T(""); 00293 00294 memset(fldr, 0, LNAME); 00295 memset(&bri, 0, sizeof(BROWSEINFO)); 00296 00297 bri.hwndOwner = hWnd; 00298 bri.lpszTitle = title; 00299 bri.ulFlags = BIF_RETURNONLYFSDIRS; 00300 00301 bri.lpfn = &EasyGetSaveFolderNameCallBack; // コールバック関数 00302 bri.lParam = (LPARAM)folder; // コールバック関数の引数 00303 00304 pilst = SHBrowseForFolderW(&bri); 00305 if (pilst!=NULL) { 00306 SHGetPathFromIDListW(pilst, fldr); 00307 str = fldr; 00308 CoTaskMemFree(pilst); 00309 } 00310 return str; 00311 }
int CALLBACK EasyGetSaveFolderNameCallBack | ( | HWND | hwnd, | |
UINT | uMsg, | |||
LPARAM | lParam, | |||
LPARAM | lpData | |||
) |
Definition at line 315 of file ExClass.cpp.
Referenced by EasyGetSaveFolderName().
00316 { 00317 if(uMsg==BFFM_INITIALIZED){ 00318 SendMessage(hwnd, BFFM_SETSELECTION, (WPARAM)TRUE, lpData); 00319 } 00320 return 0; 00321 }
int ExecDocFrmView | ( | CExFrame * | pfrm, | |
LPCTSTR | fname = NULL | |||
) |
Definition at line 88 of file ExClass.cpp.
References CExFrame::cancelOperation, CExFrame::doneErrorMessage, get_file_name_t(), CExDocument::hasReadData, CExView::hasViewData, CExDocument::hasViewData, InitialDocView(), MSG_DFV_CANCEL, MSG_DFV_ERR_READ, MSG_DFV_FAIL_VIEW, MSG_DFV_NOT_DISP, MSG_DFV_UNVISIBLE, CExFrame::pDoc, CExFrame::pView, CExView::SetTitle(), CExFrame::Title, and CExDocument::Title.
Referenced by ExecTemplate().
00089 { 00090 if (pfrm ==NULL) return 1; 00091 if (fname!=NULL) pfrm->pDoc->Title = get_file_name_t(fname); 00092 00093 // 00094 BOOL rslt = InitialDocView(pfrm, fname); 00095 if (!rslt) { 00096 int ret; 00097 // この場所でのメッセージ表示はしない. 00098 if ( pfrm->doneErrorMessage) ret = MSG_DFV_NOT_DISP; 00099 else if ( pfrm->cancelOperation) ret = MSG_DFV_CANCEL; 00100 else if (!pfrm->pDoc->hasReadData) ret = MSG_DFV_ERR_READ; 00101 else if (!pfrm->pDoc->hasViewData) ret = MSG_DFV_UNVISIBLE; 00102 else if (!pfrm->pView->hasViewData) ret = MSG_DFV_FAIL_VIEW; 00103 00104 delete pfrm; // Debug構成でコンパイルすると,CDxSRenderViewで頂点数0の場合,ここでセグメンテーションエラーを起こす? 00105 return ret; 00106 } 00107 00108 pfrm->ShowWindow(SW_SHOW); 00109 pfrm->SetFocus(); 00110 pfrm->pView->SetFocus(); 00111 00112 // pfrm->Title が空で無いときは,各クラスの中でタイトルが設定される はず. 00113 if (pfrm->Title.IsEmpty()) { 00114 pfrm->pView->SetTitle(pfrm->pDoc->Title); 00115 //pfrm->Title = pfrm->pView->Title = pfrm->pDoc->Title; 00116 //pfrm->SetTitle(pfrm->Title); 00117 //pfrm->SetWindowText(pfrm->Title); 00118 //pfrm->pDoc->SetTitle(pfrm->Title); 00119 } 00120 return 0; 00121 }
void ExecDocFrmViewError | ( | HWND | hwnd, | |
int | ret | |||
) |
Definition at line 125 of file ExClass.cpp.
References IDS_STR_CANCEL_OPRTN, IDS_STR_ERR_OPEN_FILE, IDS_STR_ERR_PREDISP, IDS_STR_ERR_UNDISP, IDS_STR_NULLPT_FRM, MSG_DFV_CANCEL, MSG_DFV_ERR_READ, MSG_DFV_FAIL_VIEW, MSG_DFV_FR_NULL, and MSG_DFV_UNVISIBLE.
Referenced by ExecTemplate().
00126 { 00127 if (ret>0) { // !=MSG_DFV_NOT_DISP (-1) 00128 CString mesg; 00129 int err_flag = false; 00130 00131 if (ret==MSG_DFV_FR_NULL) { 00132 mesg.LoadString(IDS_STR_NULLPT_FRM); // Frameへのポインタが NULLです 00133 err_flag = true; 00134 } 00135 else if (ret==MSG_DFV_CANCEL){ 00136 mesg.LoadString(IDS_STR_CANCEL_OPRTN); // 操作がキャンセルされました 00137 err_flag = true; 00138 } 00139 else if (ret==MSG_DFV_ERR_READ) { 00140 mesg.LoadString(IDS_STR_ERR_OPEN_FILE); // ファイルの読み込みエラーです 00141 err_flag = true; 00142 } 00143 else if (ret==MSG_DFV_UNVISIBLE) { 00144 mesg.LoadString(IDS_STR_ERR_UNDISP); // 表示不可能なファイルです 00145 err_flag = true; 00146 } 00147 else if (ret==MSG_DFV_FAIL_VIEW) { 00148 mesg.LoadString(IDS_STR_ERR_PREDISP); // 表示の準備に失敗しました 00149 err_flag = true; 00150 } 00151 if (err_flag) MessageBox(hwnd, mesg, NULL, MB_OK); 00152 } 00153 return; 00154 }
CLogWndFrame * ExecLogWnd | ( | CMultiDocTemplate * | pDocTempl, | |
LPCTSTR | title, | |||
CAppCallBack * | app | |||
) |
Definition at line 148 of file LogWndFrame.cpp.
References CExTextView::pApp, CExTextFrame::pApp, CLogWndFrame::pDoc, CLogWndView::pDoc, CLogWndView::pFrame, CExTextFrame::pTempl, CLogWndFrame::pView, CLogWndView::SetTitle(), and CExTextFrame::Title.
00149 { 00150 // クラスの取得 00151 CLogWndDoc* pdoc = (CLogWndDoc*)pDocTempl->CreateNewDocument(); 00152 CLogWndFrame* pfrm = (CLogWndFrame*)pDocTempl->CreateNewFrame((CDocument*)pdoc, NULL); 00153 CLogWndView* pviw = pdoc->GetView(); 00154 pfrm->pTempl = pDocTempl; 00155 00156 if (pdoc==NULL || pfrm==NULL || pviw==NULL) return NULL; 00157 00158 pdoc->pView = pfrm->pView = pviw; 00159 pdoc->pFrame = pviw->pFrame = pfrm; 00160 pviw->pDoc = pfrm->pDoc = pdoc; 00161 pfrm->pApp = pviw->pApp = app; 00162 pfrm->Title = title; 00163 00164 pfrm->CExTextFrame::pView = (CExTextView*) pviw; 00165 pfrm->CExTextFrame::pDoc = (CDocument*) pdoc; 00166 pviw->CExTextView::pFrame = (CExTextFrame*)pfrm; 00167 pviw->CExTextView::pDoc = (CDocument*) pdoc; 00168 00169 // 00170 pfrm->ShowWindow(SW_SHOW); 00171 pfrm->SetFocus(); 00172 pfrm->pView->SetFocus(); 00173 00174 if (!pfrm->Title.IsEmpty()) { 00175 pfrm->pView->SetTitle(pfrm->Title); 00176 } 00177 00178 return pfrm; 00179 }
int ExecTemplate | ( | CMultiDocTemplate * | ptemp, | |
ExMSGraph< sWord > * | pmsGraph = NULL , |
|||
ExCmnHead * | pcmnHead = NULL , |
|||
CExFrame * | prntFrm = NULL , |
|||
int | viewPoint = 0 | |||
) |
テンプレートを起動する.
渡すデータに対してメモリ管理機能あり. メモリ管理していないデータを渡した場合は,クリアされる.
Definition at line 166 of file ExClass.cpp.
References CExDocument::cmnHead, CExDocument::colorMode, CExFrame::colorMode, CreateDocFrmView(), CExDocument::ctrlCntrst, EasyGetOpenFileName(), ExecDocFrmView(), ExecDocFrmViewError(), CExDocument::hasReadData, CExDocument::hasViewData, IDS_STR_OPEN_FILE, CExDocument::msGraph, CExDocument::multiSliceData, CExFrame::pDoc, CExDocument::preTitle, CExDocument::pstTitle, CExFrame::pView, CExDocument::Title, and CExView::vSBpos.
Referenced by CvThumbNailFrame::onLButtonDBLClick().
00167 { 00168 int ret, color = GRAPH_COLOR_MONO; 00169 BOOL hasReadData = FALSE; 00170 BOOL hasViewData = FALSE; 00171 HWND hWnd = NULL; 00172 CExFrame* pfrm = NULL; 00173 CExDocument* prntDoc = NULL; 00174 00175 if (prntFrm!=NULL) { 00176 hWnd = prntFrm->m_hWnd; 00177 prntDoc = prntFrm->pDoc; 00178 color = prntFrm->colorMode; 00179 } 00180 00181 if (pmsGraph!=NULL) { 00182 if (!pmsGraph->isNull()) hasReadData = TRUE; 00183 } 00184 if (pcmnHead!=NULL) { 00185 if (!pcmnHead->isNull()) hasViewData = TRUE; 00186 } 00187 00188 if (hasViewData) { 00189 pfrm = CreateDocFrmView(ptemp, NULL); 00190 pfrm->pDoc->hasReadData = TRUE; 00191 pfrm->pDoc->hasViewData = TRUE; 00192 pfrm->pDoc->cmnHead = *pcmnHead; 00193 pfrm->pDoc->colorMode = color; 00194 pfrm->pDoc->preTitle = _T(""); 00195 pfrm->pDoc->Title = prntFrm->pDoc->Title; 00196 pfrm->pDoc->pstTitle = prntFrm->pDoc->pstTitle; 00197 if (prntDoc!=NULL) pfrm->pDoc->ctrlCntrst = prntDoc->ctrlCntrst; 00198 pfrm->pView->vSBpos = viewPoint; 00199 ret = ExecDocFrmView(pfrm); 00200 } 00201 00202 else if (hasReadData) { 00203 pfrm = CreateDocFrmView(ptemp, NULL); 00204 pfrm->pDoc->hasReadData = TRUE; 00205 pfrm->pDoc->msGraph = *pmsGraph; 00206 pfrm->pDoc->colorMode = color; 00207 pfrm->pDoc->preTitle = _T(""); 00208 pfrm->pDoc->Title = prntFrm->pDoc->Title; 00209 pfrm->pDoc->pstTitle = prntFrm->pDoc->pstTitle; 00210 if (prntDoc!=NULL) pfrm->pDoc->ctrlCntrst = prntDoc->ctrlCntrst; 00211 pfrm->pView->vSBpos = viewPoint; 00212 ret = ExecDocFrmView(pfrm); 00213 } 00214 00215 else { 00216 CString mesg; 00217 mesg.LoadString(IDS_STR_OPEN_FILE); 00218 CString fname = EasyGetOpenFileName(mesg, hWnd); 00219 if (fname.IsEmpty()) return -1; 00220 00221 pfrm = CreateDocFrmView(ptemp, NULL); 00222 pfrm->pDoc->multiSliceData = TRUE; 00223 pfrm->pDoc->colorMode = color; 00224 if (prntDoc!=NULL) pfrm->pDoc->ctrlCntrst = prntDoc->ctrlCntrst; 00225 ret = ExecDocFrmView(pfrm, fname); 00226 } 00227 00228 ExecDocFrmViewError(hWnd, ret); 00229 00230 return ret; 00231 }
BOOL file_exist_t | ( | LPCTSTR | fn | ) |
Definition at line 173 of file WinTools.cpp.
Referenced by CNiFileTool::open_wfile(), and CNiFileTool::saveJTextfromFile().
00174 { 00175 BOOL ret = FALSE; 00176 if (fn==NULL) return FALSE; 00177 00178 #ifdef _UNICODE 00179 FILE* fp = tfopen(fn, _T("rb")); 00180 if (fp!=NULL) { 00181 ret = TRUE; 00182 fclose(fp); 00183 } 00184 00185 #else 00186 ret = file_exist((char*)fn); 00187 00188 #endif 00189 00190 return ret; 00191 }
unsigned long int file_size_t | ( | LPCTSTR | fn | ) |
Definition at line 164 of file WinTools.cpp.
Referenced by copyFileWithCounter().
void freeFramesData | ( | NiFrameData * | frmdata, | |
int | frm_num | |||
) |
NiFrameData* jbxwl::makeFramesData(int frame, int jnum)
フレームデータの格納先メモリ(ジョイント数固定)を作成,初期化.
フレーム毎のジョイント数,フレーム間隔が一定
frame | フレームの数 | |
joint_num | ジョイントの数 |
Definition at line 788 of file NiJointsTool.cpp.
References NiFrameData::jdat.
Referenced by CNiVMDTool::free_data(), CBaseFrameTool::free_data(), and makeFramesData().
00789 { 00790 if (frmdata==NULL || frm_num<=0) return; 00791 00792 for (int i=0; i<frm_num; i++) { 00793 if (frmdata[i].jdat!=NULL) { 00794 ::free(frmdata[i].jdat); 00795 frmdata[i].jdat = NULL; 00796 } 00797 } 00798 00799 ::free(frmdata); 00800 return; 00801 }
tList * get_dir_files_rcsv_t | ( | LPCTSTR | dirn | ) |
Definition at line 297 of file WinTools.cpp.
References get_dir_files_t(), and mbs2ts().
00298 { 00299 tList* lp = get_dir_files_t(dirn); 00300 if (lp==NULL) return NULL; 00301 00302 tList* lt = dup_tList(lp); 00303 while (lt!=NULL) { 00304 tList* lc = get_dir_files_rcsv_t(mbs2ts((char*)lt->ldat.val.buf)); 00305 if (lc!=NULL) add_tList_end(lp, lc); 00306 lt = lt->next; 00307 } 00308 del_tList(<); 00309 00310 return lp; 00311 }
tList * get_dir_files_t | ( | LPCTSTR | dirn | ) |
Definition at line 263 of file WinTools.cpp.
References cat_ts2Buffer(), ts2Buffer(), and ts2mbs().
Referenced by get_dir_files_rcsv_t(), and DLLModuleTBL::get_dir_module().
00264 { 00265 tList* lp = NULL; 00266 tList* ln = NULL; 00267 00268 WIN32_FIND_DATA FindFileData; 00269 HANDLE hFind; 00270 CString dirstr = dirn; 00271 00272 if (dirstr.Right(1)!="\\") dirstr += _T("\\*"); 00273 hFind = FindFirstFile((LPCTSTR)dirstr, &FindFileData); 00274 if (hFind!=INVALID_HANDLE_VALUE) { 00275 Buffer tmp; 00276 do { 00277 char* fn = ts2mbs(FindFileData.cFileName); 00278 if (strcmp(".", fn) && strcmp("..", fn)) { 00279 tmp = ts2Buffer(dirn); 00280 if (tmp.buf[tmp.vldsz-1]!='\\') cat_s2Buffer("\\", &tmp); 00281 cat_ts2Buffer(FindFileData.cFileName, &tmp); 00282 ln = add_tList_node_str(ln, NULL, tmp.buf); 00283 if (lp==NULL) lp = ln; 00284 free_Buffer(&tmp); 00285 } 00286 ::free(fn); 00287 } while (FindNextFile(hFind, &FindFileData)); 00288 00289 FindClose(hFind); 00290 } 00291 00292 return lp; 00293 }
CString get_file_name_t | ( | LPCTSTR | str | ) |
Definition at line 195 of file WinTools.cpp.
References mbs2ts(), and ts2mbs().
Referenced by ExecDocFrmView(), and CRwGRDoc::ReadDataFile().
00196 { 00197 CString buf = _T(""); 00198 00199 #ifdef _UNICODE 00200 char* mbstr = ts2mbs(str); 00201 char* fn = get_file_name(mbstr); 00202 buf = mbs2ts(fn); 00203 ::free(mbstr); 00204 00205 #else 00206 char* fn = get_file_name((char*)str); 00207 buf = (LPTSTR)fn; 00208 00209 #endif 00210 00211 return buf; 00212 }
CString get_tstr_param_tList | ( | tList * | lt, | |
char * | key, | |||
LPCTSTR | dflt | |||
) |
Definition at line 343 of file WinTools.cpp.
References mbs2ts().
00344 { 00345 Buffer buf = buffer_key_tList(lt, key, 1); 00346 if (buf.buf!=NULL) { 00347 CString ret = mbs2ts((char*)buf.buf); 00348 free_Buffer(&buf); 00349 return ret; 00350 } 00351 return (CString)dflt; 00352 }
CString GetCurrentFolder | ( | void | ) |
Definition at line 478 of file WinTools.cpp.
CString GetCurrentUserHomeFolder | ( | void | ) |
Definition at line 394 of file WinTools.cpp.
Referenced by MakeWorkingFolderPath().
00395 { 00396 HANDLE token; 00397 DWORD size = (DWORD)LMESG; 00398 TCHAR dirn[LMESG]; 00399 CString ret = _T(""); 00400 00401 OpenProcessToken(GetCurrentProcess(), TOKEN_QUERY, &token); 00402 BOOL rslt = GetUserProfileDirectory(token, dirn, &size); 00403 00404 if (rslt && size<=LMESG) ret = dirn; 00405 return ret; 00406 }
CString GetDefaultUserHomeFolder | ( | void | ) |
Definition at line 410 of file WinTools.cpp.
CMenu * GetMenu_byID | ( | CMenu * | pMenu, | |
UINT | id | |||
) |
メニューでリソースID id を持つものを探す.
Definition at line 18 of file MFCTool.cpp.
00019 { 00020 if (pMenu==NULL) return NULL; 00021 00022 UINT n = pMenu->GetMenuItemCount(); 00023 for (UINT i=0; i<n; i++){ 00024 if (pMenu->GetMenuItemID(i)==id) return pMenu; 00025 00026 CMenu* pSub = GetMenu_byID(pMenu->GetSubMenu(i), id); 00027 if (pSub!=NULL) return pSub; 00028 } 00029 return NULL; 00030 }
CMenu * GetMenu_byName | ( | CMenu * | pMenu, | |
LPCTSTR | name | |||
) |
Definition at line 46 of file MFCTool.cpp.
Referenced by GetMenu_byStringID().
00047 { 00048 if (pMenu==NULL) return NULL; 00049 CString str; 00050 00051 UINT n = pMenu->GetMenuItemCount(); 00052 for (UINT i=0; i<n; i++){ 00053 pMenu->GetMenuString(i, str, MF_BYPOSITION); 00054 if (str==(CString)name) return pMenu->GetSubMenu(i); 00055 00056 CMenu* pSub = GetMenu_byName(pMenu->GetSubMenu(i), name); 00057 if (pSub!=NULL) return pSub; 00058 } 00059 return NULL; 00060 }
CMenu * GetMenu_byStringID | ( | CMenu * | pMenu, | |
UINT | id | |||
) |
Definition at line 34 of file MFCTool.cpp.
References GetMenu_byName(), and LoadString_byID().
00035 { 00036 if (pMenu==NULL) return NULL; 00037 00038 CString str = LoadString_byID(id); 00039 if (str=="" || str.IsEmpty()) return NULL; 00040 00041 return GetMenu_byName(pMenu, str); 00042 }
TCHAR * GetMouseCursorType | ( | void | ) |
Definition at line 634 of file WinTools.cpp.
References MouseCursolTable.
Referenced by CExView::GetWindowReSize(), and CExTextView::GetWindowReSize().
00635 { 00636 CURSORINFO ci; 00637 00638 ci.cbSize = sizeof(CURSORINFO); 00639 GetCursorInfo(&ci); 00640 00641 if (ci.flags!=0) { 00642 TCHAR** table = MouseCursolTable; 00643 while (*table!=NULL) { 00644 if (ci.hCursor==LoadCursor(NULL, (LPTSTR)*table)) return *table; 00645 table++; 00646 } 00647 return NULL; 00648 } 00649 00650 return NULL; 00651 }
unsigned short GetMsecondsLapTimer | ( | unsigned short | pm, | |
unsigned short * | nt = NULL | |||
) |
Definition at line 676 of file WinTools.cpp.
Referenced by CNiFileTool::nextFrame().
00677 { 00678 SYSTEMTIME tm; 00679 GetLocalTime(&tm); 00680 00681 unsigned short nm = tm.wSecond*(unsigned short)1000 + tm.wMilliseconds; 00682 unsigned short ret; 00683 if (pm>nm) ret = nm + ((unsigned short)60000 - pm); 00684 else ret = nm - pm; 00685 00686 if (nt!=NULL) *nt = nm; 00687 return ret; 00688 }
unsigned short GetMsecondsTimer | ( | void | ) |
Definition at line 660 of file WinTools.cpp.
Referenced by CNiFileTool::startFrame(), and CNiFileTool::writeJTextData().
00661 { 00662 SYSTEMTIME tm; 00663 GetLocalTime(&tm); 00664 00665 unsigned short nm = tm.wSecond*(unsigned short)1000 + tm.wMilliseconds; 00666 return nm; 00667 }
CString GetProgramFolder | ( | void | ) |
Definition at line 445 of file WinTools.cpp.
References GetProgramFolderA(), and mbs2ts().
00446 { 00447 char* path = GetProgramFolderA(); 00448 00449 CString ret = mbs2ts(path); 00450 ::free(path); 00451 00452 return ret; 00453 }
char * GetProgramFolderA | ( | void | ) |
Definition at line 457 of file WinTools.cpp.
References ts2mbs().
Referenced by GetProgramFolder().
00458 { 00459 TCHAR dirn[LMESG]; 00460 00461 GetModuleFileName(NULL, dirn, (DWORD)LMESG); // エラーは敢えて無視 00462 // 00463 char* path = ts2mbs(dirn); 00464 int len = (int)strlen(path); 00465 00466 for (int i=1; i<len; i++) { 00467 if (path[len-i-1]=='\\') { 00468 path[len-i] = '\0'; 00469 break; 00470 } 00471 } 00472 00473 return path; 00474 }
vector getQAvBVHOffset | ( | int | joint | ) |
Definition at line 341 of file NiBVHName.cpp.
References _QAV_Offset.
Referenced by CNiFileTool::writeBVHFile().
00342 { 00343 vector vect; 00344 memset(&vect, 0, sizeof(vect)); 00345 00346 if (joint<0) return vect; 00347 00348 vect.x = _QAV_Offset[joint*3]; 00349 vect.y = _QAV_Offset[joint*3+1]; 00350 vect.z = _QAV_Offset[joint*3+2]; 00351 00352 return vect; 00353 }
CString getResourceLocale | ( | void | ) |
Definition at line 377 of file WinTools.cpp.
References IDS_STR_LOCALE, and LoadString_byID().
00378 { 00379 CString locale = LoadString_byID(IDS_STR_LOCALE); 00380 return locale; 00381 }
BOOL InitialDocView | ( | CExFrame * | pfrm, | |
LPCTSTR | fname | |||
) |
Definition at line 64 of file ExClass.cpp.
References CExView::hasViewData, CExView::OnInitialUpdate(), CExDocument::OnNewDocument(), CExDocument::OnOpenDocument(), CExFrame::pDoc, and CExFrame::pView.
Referenced by ExecDocFrmView().
00065 { 00066 BOOL rslt; 00067 00068 // Document クラスの前処理 00069 if (fname==NULL) { 00070 rslt = pfrm->pDoc->OnNewDocument(); 00071 } 00072 else { 00073 rslt = pfrm->pDoc->OnOpenDocument(fname); 00074 } 00075 if (!rslt) return FALSE; 00076 00077 // View クラスの前処理 00078 pfrm->pView->OnInitialUpdate(); 00079 if (!pfrm->pView->hasViewData) return FALSE; 00080 return TRUE; 00081 }
BOOL InputFloatNumDLG | ( | LPCTSTR | title, | |
double * | val | |||
) |
Definition at line 313 of file InputNumDLG.cpp.
References CInputFloatNumDLG::val.
00314 { 00315 CInputFloatNumDLG* inpdlg = new CInputFloatNumDLG(title, *val); 00316 if (inpdlg->DoModal()!=IDOK) { 00317 delete(inpdlg); 00318 return FALSE; 00319 } 00320 00321 *val = inpdlg->val; 00322 delete(inpdlg); 00323 return TRUE; 00324 }
BOOL InputMultiFloatNumDLG | ( | LPCTSTR | t0, | |
double * | v0, | |||
LPCTSTR | t1 = NULL , |
|||
double * | v1 = NULL , |
|||
LPCTSTR | t2 = NULL , |
|||
double * | v2 = NULL , |
|||
LPCTSTR | t3 = NULL , |
|||
double * | v3 = NULL , |
|||
LPCTSTR | t4 = NULL , |
|||
double * | v4 = NULL , |
|||
LPCTSTR | t5 = NULL , |
|||
double * | v5 = NULL | |||
) |
Definition at line 328 of file InputNumDLG.cpp.
References CInputMultiFloatNumDLG::val.
00330 { 00331 CString ttl[6]; 00332 double val[6]; 00333 00334 for (int i=0; i<6; i++) { 00335 ttl[i] = _T(""); 00336 val[i] = 0.0; 00337 } 00338 00339 if (t0!=NULL && v0!=NULL) { 00340 ttl[0] = t0; 00341 val[0] = *v0; 00342 } 00343 if (t1!=NULL && v1!=NULL) { 00344 ttl[1] = t1; 00345 val[1] = *v1; 00346 } 00347 if (t2!=NULL && v2!=NULL) { 00348 ttl[2] = t2; 00349 val[2] = *v2; 00350 } 00351 if (t3!=NULL && v3!=NULL) { 00352 ttl[3] = t3; 00353 val[3] = *v3; 00354 } 00355 if (t4!=NULL && v4!=NULL) { 00356 ttl[4] = t4; 00357 val[4] = *v4; 00358 } 00359 if (t5!=NULL && v5!=NULL) { 00360 ttl[5] = t5; 00361 val[5] = *v5; 00362 } 00363 00364 CInputMultiFloatNumDLG* inpdlg = new CInputMultiFloatNumDLG((LPCTSTR)ttl[0], val[0], (LPCTSTR)ttl[1], val[1], 00365 (LPCTSTR)ttl[2], val[2], (LPCTSTR)ttl[3], val[3], 00366 (LPCTSTR)ttl[4], val[4], (LPCTSTR)ttl[5], val[5]); 00367 if (inpdlg->DoModal()!=IDOK) { 00368 delete(inpdlg); 00369 return FALSE; 00370 } 00371 00372 if (v0!=NULL) *v0 = inpdlg->val[0]; 00373 if (v1!=NULL) *v1 = inpdlg->val[1]; 00374 if (v2!=NULL) *v2 = inpdlg->val[2]; 00375 if (v3!=NULL) *v3 = inpdlg->val[3]; 00376 if (v4!=NULL) *v4 = inpdlg->val[4]; 00377 if (v5!=NULL) *v5 = inpdlg->val[5]; 00378 00379 delete(inpdlg); 00380 return TRUE; 00381 }
BOOL InputNumDLG | ( | LPCTSTR | title, | |
int * | val | |||
) |
Definition at line 298 of file InputNumDLG.cpp.
References CInputNumDLG::val.
00299 { 00300 CInputNumDLG* inpdlg = new CInputNumDLG(title, *val); 00301 if (inpdlg->DoModal()!=IDOK) { 00302 delete(inpdlg); 00303 return FALSE; 00304 } 00305 00306 *val = inpdlg->val; 00307 delete(inpdlg); 00308 return TRUE; 00309 }
int JointName2NiSDK | ( | char * | jname, | |
NiSDK_Lib | lib | |||
) |
Definition at line 459 of file NiJointsTool.cpp.
References _NiJointName, Ni2SDKJointNum, and NI_TOTAL_JOINT_NUM.
00460 { 00461 int ret = -1; 00462 00463 int j; 00464 for (j=0; j<NI_TOTAL_JOINT_NUM; j++) { 00465 if (!strcasecmp(jname, (char*)_NiJointName[j].c_str())) break; 00466 } 00467 00468 if (j<NI_TOTAL_JOINT_NUM) { 00469 ret = Ni2SDKJointNum(j, lib); 00470 } 00471 else if (j==NI_TOTAL_JOINT_NUM) { 00472 //DEBUG_INFO("JointName2NiSDK: Unknown Joint Name = %s\n", jname); 00473 } 00474 00475 return ret; 00476 }
CString jbxwl::LoadString_byID | ( | UINT | id | ) | [inline] |
Definition at line 158 of file WinTools.h.
Referenced by GetMenu_byStringID(), getResourceLocale(), and setResourceLocale().
CString make_file_path_t | ( | LPCTSTR | str | ) |
Definition at line 216 of file WinTools.cpp.
References mbs2ts(), and ts2mbs().
00217 { 00218 CString buf = _T(""); 00219 00220 #ifdef _UNICODE 00221 char* mbstr = ts2mbs(str); 00222 //char* pn = make_file_path(mbstr); 00223 char* pn = get_file_path(mbstr); 00224 buf = mbs2ts(pn); 00225 ::free(mbstr); 00226 ::free(pn); 00227 00228 #else 00229 //char* pn = make_file_path((char*)str); 00230 char* pn = get_file_path((char*)str); 00231 buf = (LPTSTR)pn; 00232 ::free(pn); 00233 00234 #endif 00235 00236 return buf; 00237 }
tTree * makeBVH_NiHierarchy | ( | void | ) |
Definition at line 247 of file NiBVHName.cpp.
Referenced by CNiFileTool::writeBVHFile().
00248 { 00249 tTree* root = NULL; 00250 tTree* chst = NULL; 00251 tTree* head = NULL; 00252 tTree* tree = NULL; 00253 00254 root = add_tTree_node_bystr(NULL, BVH_NODE_ROOT, 6, "PELVIS", "PXPYPZRYRXRZ", NULL, 0); 00255 00256 tree = add_tTree_node_bystr(root, BVH_NODE_JOINT, 3, "WAIST", "RYRXRZ", NULL, 0); 00257 tree = add_tTree_node_bystr(tree, BVH_NODE_JOINT, 3, "TORSO", "RYRXRZ", NULL, 0); 00258 chst = add_tTree_node_bystr(tree, BVH_NODE_JOINT, 3, "CHEST", "RYRXRZ", NULL, 0); 00259 00260 tree = add_tTree_node_bystr(chst, BVH_NODE_JOINT, 3, "NECK", "RYRXRZ", NULL, 0); 00261 head = add_tTree_node_bystr(tree, BVH_NODE_JOINT, 3, "HEAD", "RYRXRZ", NULL, 0); 00262 00263 tree = add_tTree_node_bystr(head, BVH_NODE_JOINT, 3, "SKULL", "RYRXRZ", NULL, 0); 00264 tree = add_tTree_node_bystr(tree, BVH_NODE_END, 0, "Site", NULL, NULL, 0); 00265 00266 tree = add_tTree_node_bystr(head, BVH_NODE_JOINT, 3, "L_EYE", "RYRXRZ", NULL, 0); 00267 tree = add_tTree_node_bystr(tree, BVH_NODE_END, 0, "Site", NULL, NULL, 0); 00268 tree = add_tTree_node_bystr(head, BVH_NODE_JOINT, 3, "R_EYE", "RYRXRZ", NULL, 0); 00269 tree = add_tTree_node_bystr(tree, BVH_NODE_END, 0, "Site", NULL, NULL, 0); 00270 00271 tree = add_tTree_node_bystr(chst, BVH_NODE_JOINT, 3, "L_BUST", "RYRXRZ", NULL, 0); 00272 tree = add_tTree_node_bystr(tree, BVH_NODE_END, 0, "Site", NULL, NULL, 0); 00273 tree = add_tTree_node_bystr(chst, BVH_NODE_JOINT, 3, "R_BUST", "RYRXRZ", NULL, 0); 00274 tree = add_tTree_node_bystr(tree, BVH_NODE_END, 0, "Site", NULL, NULL, 0); 00275 00276 tree = add_tTree_node_bystr(chst, BVH_NODE_JOINT, 3, "L_COLLAR", "RYRXRZ", NULL, 0); 00277 tree = add_tTree_node_bystr(tree, BVH_NODE_JOINT, 3, "L_SHLDR", "RYRXRZ", NULL, 0); 00278 tree = add_tTree_node_bystr(tree, BVH_NODE_JOINT, 3, "L_ELBOW", "RYRXRZ", NULL, 0); 00279 tree = add_tTree_node_bystr(tree, BVH_NODE_JOINT, 3, "L_WRIST", "RYRXRZ", NULL, 0); 00280 tree = add_tTree_node_bystr(tree, BVH_NODE_JOINT, 3, "L_HAND", "RYRXRZ", NULL, 0); 00281 tree = add_tTree_node_bystr(tree, BVH_NODE_JOINT, 3, "L_FNGRTIP","RYRXRZ", NULL, 0); 00282 tree = add_tTree_node_bystr(tree, BVH_NODE_END, 0, "Site", NULL, NULL, 0); 00283 00284 tree = add_tTree_node_bystr(chst, BVH_NODE_JOINT, 3, "R_COLLAR", "RYRXRZ", NULL, 0); 00285 tree = add_tTree_node_bystr(tree, BVH_NODE_JOINT, 3, "R_SHLDR", "RYRXRZ", NULL, 0); 00286 tree = add_tTree_node_bystr(tree, BVH_NODE_JOINT, 3, "R_ELBOW", "RYRXRZ", NULL, 0); 00287 tree = add_tTree_node_bystr(tree, BVH_NODE_JOINT, 3, "R_WRIST", "RYRXRZ", NULL, 0); 00288 tree = add_tTree_node_bystr(tree, BVH_NODE_JOINT, 3, "R_HAND", "RYRXRZ", NULL, 0); 00289 tree = add_tTree_node_bystr(tree, BVH_NODE_JOINT, 3, "R_FNGRTIP","RYRXRZ", NULL, 0); 00290 tree = add_tTree_node_bystr(tree, BVH_NODE_END, 0, "Site", NULL, NULL, 0); 00291 00292 tree = add_tTree_node_bystr(root, BVH_NODE_JOINT, 3, "L_HIP", "RYRXRZ", NULL, 0); 00293 tree = add_tTree_node_bystr(tree, BVH_NODE_JOINT, 3, "L_KNEE", "RYRXRZ", NULL, 0); 00294 tree = add_tTree_node_bystr(tree, BVH_NODE_JOINT, 3, "L_ANKLE", "RYRXRZ", NULL, 0); 00295 tree = add_tTree_node_bystr(tree, BVH_NODE_JOINT, 3, "L_FOOT", "RYRXRZ", NULL, 0); 00296 tree = add_tTree_node_bystr(tree, BVH_NODE_JOINT, 3, "L_TOE", "RYRXRZ", NULL, 0); 00297 tree = add_tTree_node_bystr(tree, BVH_NODE_END, 0, "Site", NULL, NULL, 0); 00298 00299 tree = add_tTree_node_bystr(root, BVH_NODE_JOINT, 3, "R_HIP", "RYRXRZ", NULL, 0); 00300 tree = add_tTree_node_bystr(tree, BVH_NODE_JOINT, 3, "R_KNEE", "RYRXRZ", NULL, 0); 00301 tree = add_tTree_node_bystr(tree, BVH_NODE_JOINT, 3, "R_ANKLE", "RYRXRZ", NULL, 0); 00302 tree = add_tTree_node_bystr(tree, BVH_NODE_JOINT, 3, "R_FOOT", "RYRXRZ", NULL, 0); 00303 tree = add_tTree_node_bystr(tree, BVH_NODE_JOINT, 3, "R_TOE", "RYRXRZ", NULL, 0); 00304 tree = add_tTree_node_bystr(tree, BVH_NODE_END, 0, "Site", NULL, NULL, 0); 00305 00306 return root; 00307 }
tTree * makeBVH_QAvHierarchy | ( | void | ) |
Definition at line 205 of file NiBVHName.cpp.
Referenced by CNiFileTool::writeBVHFile().
00206 { 00207 tTree* root = NULL; 00208 tTree* chst = NULL; 00209 tTree* tree = NULL; 00210 00211 root = add_tTree_node_bystr(NULL, BVH_NODE_ROOT, 6, "hip", "PXPYPZRYRXRZ", NULL, 0); 00212 00213 tree = add_tTree_node_bystr(root, BVH_NODE_JOINT, 3, "abdomen", "RYRXRZ", NULL, 0); 00214 chst = add_tTree_node_bystr(tree, BVH_NODE_JOINT, 3, "chest", "RYRXRZ", NULL, 0); 00215 00216 tree = add_tTree_node_bystr(chst, BVH_NODE_JOINT, 3, "neck", "RYRXRZ", NULL, 0); 00217 tree = add_tTree_node_bystr(tree, BVH_NODE_JOINT, 3, "head", "RYRXRZ", NULL, 0); 00218 tree = add_tTree_node_bystr(tree, BVH_NODE_END, 0, "Site", NULL, NULL, 0); 00219 00220 tree = add_tTree_node_bystr(chst, BVH_NODE_JOINT, 3, "lCollar", "RYRXRZ", NULL, 0); 00221 tree = add_tTree_node_bystr(tree, BVH_NODE_JOINT, 3, "lShldr", "RYRXRZ", NULL, 0); 00222 tree = add_tTree_node_bystr(tree, BVH_NODE_JOINT, 3, "lForeArm", "RYRXRZ", NULL, 0); 00223 tree = add_tTree_node_bystr(tree, BVH_NODE_JOINT, 3, "lHand", "RYRXRZ", NULL, 0); 00224 tree = add_tTree_node_bystr(tree, BVH_NODE_END, 0, "Site", NULL, NULL, 0); 00225 00226 tree = add_tTree_node_bystr(chst, BVH_NODE_JOINT, 3, "rCollar", "RYRXRZ", NULL, 0); 00227 tree = add_tTree_node_bystr(tree, BVH_NODE_JOINT, 3, "rShldr", "RYRXRZ", NULL, 0); 00228 tree = add_tTree_node_bystr(tree, BVH_NODE_JOINT, 3, "rForeArm", "RYRXRZ", NULL, 0); 00229 tree = add_tTree_node_bystr(tree, BVH_NODE_JOINT, 3, "rHand", "RYRXRZ", NULL, 0); 00230 tree = add_tTree_node_bystr(tree, BVH_NODE_END, 0, "Site", NULL, NULL, 0); 00231 00232 tree = add_tTree_node_bystr(root, BVH_NODE_JOINT, 3, "lThigh", "RYRXRZ", NULL, 0); 00233 tree = add_tTree_node_bystr(tree, BVH_NODE_JOINT, 3, "lShin", "RYRXRZ", NULL, 0); 00234 tree = add_tTree_node_bystr(tree, BVH_NODE_JOINT, 3, "lFoot", "RYRXRZ", NULL, 0); 00235 tree = add_tTree_node_bystr(tree, BVH_NODE_END, 0, "Site", NULL, NULL, 0); 00236 00237 tree = add_tTree_node_bystr(root, BVH_NODE_JOINT, 3, "rThigh", "RYRXRZ", NULL, 0); 00238 tree = add_tTree_node_bystr(tree, BVH_NODE_JOINT, 3, "rShin", "RYRXRZ", NULL, 0); 00239 tree = add_tTree_node_bystr(tree, BVH_NODE_JOINT, 3, "rFoot", "RYRXRZ", NULL, 0); 00240 tree = add_tTree_node_bystr(tree, BVH_NODE_END, 0, "Site", NULL, NULL, 0); 00241 00242 return root; 00243 }
tTree * makeBVH_SLHierarchy | ( | void | ) |
Definition at line 150 of file NiBVHName.cpp.
Referenced by CNiFileTool::writeBVHFile().
00151 { 00152 tTree* root = NULL; 00153 tTree* chst = NULL; 00154 tTree* head = NULL; 00155 tTree* tree = NULL; 00156 00157 root = add_tTree_node_bystr(NULL, BVH_NODE_ROOT, 6, "hip", "PXPYPZRYRXRZ", NULL, 0); 00158 00159 tree = add_tTree_node_bystr(root, BVH_NODE_JOINT, 3, "abdomen", "RYRXRZ", NULL, 0); 00160 chst = add_tTree_node_bystr(tree, BVH_NODE_JOINT, 3, "chest", "RYRXRZ", NULL, 0); 00161 00162 tree = add_tTree_node_bystr(chst, BVH_NODE_JOINT, 3, "neck", "RYRXRZ", NULL, 0); 00163 head = add_tTree_node_bystr(tree, BVH_NODE_JOINT, 3, "head", "RYRXRZ", NULL, 0); 00164 00165 tree = add_tTree_node_bystr(head, BVH_NODE_JOINT, 3, "mSkull", "RYRXRZ", NULL, 0); 00166 tree = add_tTree_node_bystr(tree, BVH_NODE_END, 0, "Site", NULL, NULL, 0); 00167 00168 tree = add_tTree_node_bystr(head, BVH_NODE_JOINT, 3, "mEyeLeft", "RYRXRZ", NULL, 0); 00169 tree = add_tTree_node_bystr(tree, BVH_NODE_END, 0, "Site", NULL, NULL, 0); 00170 00171 tree = add_tTree_node_bystr(head, BVH_NODE_JOINT, 3, "mEyeRight", "RYRXRZ", NULL, 0); 00172 tree = add_tTree_node_bystr(tree, BVH_NODE_END, 0, "Site", NULL, NULL, 0); 00173 00174 tree = add_tTree_node_bystr(chst, BVH_NODE_JOINT, 3, "lCollar", "RYRXRZ", NULL, 0); 00175 tree = add_tTree_node_bystr(tree, BVH_NODE_JOINT, 3, "lShldr", "RYRXRZ", NULL, 0); 00176 tree = add_tTree_node_bystr(tree, BVH_NODE_JOINT, 3, "lForeArm", "RYRXRZ", NULL, 0); 00177 tree = add_tTree_node_bystr(tree, BVH_NODE_JOINT, 3, "lHand", "RYRXRZ", NULL, 0); 00178 tree = add_tTree_node_bystr(tree, BVH_NODE_END, 0, "Site", NULL, NULL, 0); 00179 00180 tree = add_tTree_node_bystr(chst, BVH_NODE_JOINT, 3, "rCollar", "RYRXRZ", NULL, 0); 00181 tree = add_tTree_node_bystr(tree, BVH_NODE_JOINT, 3, "rShldr", "RYRXRZ", NULL, 0); 00182 tree = add_tTree_node_bystr(tree, BVH_NODE_JOINT, 3, "rForeArm", "RYRXRZ", NULL, 0); 00183 tree = add_tTree_node_bystr(tree, BVH_NODE_JOINT, 3, "rHand", "RYRXRZ", NULL, 0); 00184 tree = add_tTree_node_bystr(tree, BVH_NODE_END, 0, "Site", NULL, NULL, 0); 00185 00186 tree = add_tTree_node_bystr(root, BVH_NODE_JOINT, 3, "lThigh", "RYRXRZ", NULL, 0); 00187 tree = add_tTree_node_bystr(tree, BVH_NODE_JOINT, 3, "lShin", "RYRXRZ", NULL, 0); 00188 tree = add_tTree_node_bystr(tree, BVH_NODE_JOINT, 3, "mAnkleLeft", "RYRXRZ", NULL, 0); 00189 tree = add_tTree_node_bystr(tree, BVH_NODE_JOINT, 3, "lFoot", "RYRXRZ", NULL, 0); 00190 tree = add_tTree_node_bystr(tree, BVH_NODE_JOINT, 3, "mToeLeft", "RYRXRZ", NULL, 0); 00191 tree = add_tTree_node_bystr(tree, BVH_NODE_END, 0, "Site", NULL, NULL, 0); 00192 00193 tree = add_tTree_node_bystr(root, BVH_NODE_JOINT, 3, "rThigh", "RYRXRZ", NULL, 0); 00194 tree = add_tTree_node_bystr(tree, BVH_NODE_JOINT, 3, "rShin", "RYRXRZ", NULL, 0); 00195 tree = add_tTree_node_bystr(tree, BVH_NODE_JOINT, 3, "mAnkleRight","RYRXRZ", NULL, 0); 00196 tree = add_tTree_node_bystr(tree, BVH_NODE_JOINT, 3, "rFoot", "RYRXRZ", NULL, 0); 00197 tree = add_tTree_node_bystr(tree, BVH_NODE_JOINT, 3, "mToeRight", "RYRXRZ", NULL, 0); 00198 tree = add_tTree_node_bystr(tree, BVH_NODE_END, 0, "Site", NULL, NULL, 0); 00199 00200 return root; 00201 }
NiFrameData * makeFramesData | ( | int | frame, | |
int | jnum, | |||
int * | frame_num | |||
) |
NiFrameData* jbxwl::makeVarFrameData(int frame, int* joint_num, int* frame_num)
フレームデータの格納先メモリ(フレーム毎のジョイント数とフレーム間隔が可変)を作成,初期化.
frame | フレームの数 | |
joint_num | ジョイント数 | |
frame_num | フレームの番号(時間)の入った配列.NULLならフレーム間隔一定. |
Definition at line 718 of file NiJointsTool.cpp.
References freeFramesData(), NiFrameData::frmn, NiJointData::index, NiFrameData::jdat, NiFrameData::jnum, NiJointData::joint, NiFrameData::msec, NiJointData::quat, and NiJointData::vect.
Referenced by CNiVMDTool::convert2FrameData(), CNiVMDTool::getFramesData(), CNiJTextTool::readFile(), and CNiBVHTool::readFile().
00719 { 00720 if (jnum<0) return NULL; // 0 is OK for dummy 00721 00722 NiFrameData* frmdata = (NiFrameData*)malloc(frame*sizeof(NiFrameData)); 00723 if (frmdata==NULL) return NULL; 00724 memset(frmdata, 0, frame*sizeof(NiFrameData)); 00725 00726 for (int i=0; i<frame; i++) { 00727 if (frame_num!=NULL) { 00728 frmdata[i].frmn = frame_num[i]; 00729 frmdata[i].msec = frame_num[i]; // デフォルトはフレーム間 1ms 00730 } 00731 else { 00732 frmdata[i].frmn = i; 00733 frmdata[i].msec = i; 00734 } 00735 frmdata[i].jnum = jnum; 00736 00737 if (frmdata[i].jnum>0) { 00738 frmdata[i].jdat = (NiJointData*)malloc(frmdata[i].jnum*sizeof(NiJointData)); 00739 if (frmdata[i].jdat==NULL) { 00740 freeFramesData(frmdata, frame); 00741 return NULL; 00742 } 00743 // 00744 for (int j=0; j<frmdata[i].jnum; j++) { 00745 frmdata[i].jdat[j].joint = -1; 00746 frmdata[i].jdat[j].index = -1; 00747 frmdata[i].jdat[j].vect.init(-1.0); 00748 frmdata[i].jdat[j].quat.init(-1.0); 00749 } 00750 } 00751 else { 00752 frmdata[i].jdat = NULL; // for dummy 00753 } 00754 } 00755 00756 return frmdata; 00757 }
CString MakeWorkingFolderPath | ( | LPCTSTR | fnm, | |
BOOL | local, | |||
LPCTSTR | dir = NULL , |
|||
BOOL | make = FALSE | |||
) |
Definition at line 423 of file WinTools.cpp.
References GetCurrentUserHomeFolder(), and ts2mbs().
00424 { 00425 CString path = GetCurrentUserHomeFolder(); 00426 00427 if (local) path += _T("\\AppData\\Local"); 00428 else path += _T("\\AppData\\Roaming"); 00429 00430 if (dir!=NULL) path += dir; 00431 else path += _T("\\"); 00432 00433 if (make) { 00434 char* mbstr = ts2mbs(path); 00435 MakeSureDirectoryPathExists(mbstr); 00436 ::free(mbstr); 00437 } 00438 if (fnm!=NULL) path += fnm; 00439 00440 return path; 00441 }
CString mbs2ts | ( | char * | str | ) |
Definition at line 71 of file WinTools.cpp.
Referenced by cut_file_extension_t(), CWinSharedMemory::CWinSharedMemory(), get_dir_files_rcsv_t(), DLLModuleTBL::get_dir_module(), get_file_name_t(), DLLModule::get_module_info(), get_tstr_param_tList(), CLogWndView::getCopyData(), GetProgramFolder(), make_file_path_t(), CLogWndView::OnDraw(), CRwGRDoc::ReadDataFile(), CProgressTextDLG::SetTitle(), CProgressBarDLG::SetTitle(), CProgressTextDLG::Start(), and CProgressBarDLG::Start().
00072 { 00073 CString buf = _T(""); 00074 if (str==NULL) return buf; 00075 00076 #ifdef _UNICODE 00077 setlocale(LC_ALL, ".UTF8"); 00078 TCHAR tchar[LBUF]; 00079 size_t len = 0; 00080 int err = mbstowcs_s(&len, tchar, LBUF, str, strlen(str)); 00081 if (err==0) buf = tchar; 00082 00083 #else 00084 buf = (LPTSTR)str; 00085 00086 #endif 00087 00088 return buf; 00089 }
int MessageBoxDLG | ( | LPCTSTR | ttl, | |
LPCTSTR | msg, | |||
UINT | type, | |||
CWnd * | wnd = NULL | |||
) |
Definition at line 233 of file MessageBoxDLG.cpp.
References MessageDLG().
00234 { 00235 int ret; 00236 if (wnd!=NULL) ret = ::MessageDLG(ttl, msg, type, wnd->m_hWnd); 00237 else ret = ::MessageDLG(ttl, msg, type, (HWND)NULL); 00238 return ret; 00239 }
int MessageBoxDLG | ( | int | ttl, | |
LPCTSTR | msg, | |||
UINT | type, | |||
CWnd * | wnd = NULL | |||
) |
Definition at line 220 of file MessageBoxDLG.cpp.
References MessageDLG().
00221 { 00222 CString noti; 00223 noti.LoadString(ttl); 00224 00225 int ret; 00226 if (wnd!=NULL) ret = ::MessageDLG(noti, msg, type, wnd->m_hWnd); 00227 else ret = ::MessageDLG(noti, msg, type, (HWND)NULL); 00228 return ret; 00229 }
int MessageBoxDLG | ( | LPCTSTR | ttl, | |
int | msg, | |||
UINT | type, | |||
CWnd * | wnd = NULL | |||
) |
Definition at line 207 of file MessageBoxDLG.cpp.
References MessageDLG().
00208 { 00209 CString mesg; 00210 mesg.LoadString(msg); 00211 00212 int ret; 00213 if (wnd!=NULL) ret = ::MessageDLG(ttl, mesg, type, wnd->m_hWnd); 00214 else ret = ::MessageDLG(ttl, mesg, type, (HWND)NULL); 00215 return ret; 00216 }
int MessageBoxDLG | ( | int | ttl, | |
int | msg, | |||
UINT | type, | |||
CWnd * | wnd = NULL | |||
) |
Definition at line 193 of file MessageBoxDLG.cpp.
References MessageDLG().
00194 { 00195 CString mesg, noti; 00196 noti.LoadString(ttl); 00197 mesg.LoadString(msg); 00198 00199 int ret; 00200 if (wnd!=NULL) ret = ::MessageDLG(noti, mesg, type, wnd->m_hWnd); 00201 else ret = ::MessageDLG(noti, mesg, type, (HWND)NULL); 00202 return ret; 00203 }
CMessageBoxDLG * MessageBoxDLG | ( | LPCTSTR | ttl, | |
LPCTSTR | msg, | |||
CWnd * | wnd = NULL | |||
) |
Definition at line 179 of file MessageBoxDLG.cpp.
References CMessageBoxDLG::Display().
00180 { 00181 CMessageBoxDLG* mesgbox = new CMessageBoxDLG(ttl, wnd); 00182 if (mesgbox!=NULL) mesgbox->Display(msg); 00183 return mesgbox; 00184 }
CMessageBoxDLG * MessageBoxDLG | ( | int | ttl, | |
LPCTSTR | msg, | |||
CWnd * | wnd = NULL | |||
) |
Definition at line 167 of file MessageBoxDLG.cpp.
References CMessageBoxDLG::Display().
00168 { 00169 CString noti; 00170 noti.LoadString(ttl); 00171 00172 CMessageBoxDLG* mesgbox = new CMessageBoxDLG(noti, wnd); 00173 if (mesgbox!=NULL) mesgbox->Display(msg); 00174 return mesgbox; 00175 }
CMessageBoxDLG * MessageBoxDLG | ( | LPCTSTR | ttl, | |
int | msg, | |||
CWnd * | wnd = NULL | |||
) |
Definition at line 155 of file MessageBoxDLG.cpp.
References CMessageBoxDLG::Display().
00156 { 00157 CString mesg; 00158 mesg.LoadString(msg); 00159 00160 CMessageBoxDLG* mesgbox = new CMessageBoxDLG(ttl, wnd); 00161 if (mesgbox!=NULL) mesgbox->Display(mesg); 00162 return mesgbox; 00163 }
CMessageBoxDLG * MessageBoxDLG | ( | int | ttl, | |
int | msg, | |||
CWnd * | wnd = NULL | |||
) |
Definition at line 142 of file MessageBoxDLG.cpp.
References CMessageBoxDLG::Display().
Referenced by CLogWndFrame::OnLogSave(), CNiFileTool::open_wfile(), and CNiFileTool::saveJTextfromFile().
00143 { 00144 CString mesg, noti; 00145 noti.LoadString(ttl); 00146 mesg.LoadString(msg); 00147 00148 CMessageBoxDLG* mesgbox = new CMessageBoxDLG(noti, wnd); 00149 if (mesgbox!=NULL) mesgbox->Display(mesg); 00150 return mesgbox; 00151 }
int MessageDLG | ( | LPCTSTR | ttl, | |
LPCTSTR | msg, | |||
UINT | type, | |||
HWND | hWnd | |||
) |
Definition at line 799 of file WinTools.cpp.
Referenced by MessageBoxDLG().
int Ni2SDKPosJointNum | ( | int | joint, | |
NiSDK_Lib | lib | |||
) |
Definition at line 342 of file NiJointsTool.cpp.
References _Ni2KinectPosJointNum, _Ni2OpenNI2PosJointNum, _Ni2OpenNIPosJointNum, NiSDK_Kinect, NiSDK_None, NiSDK_OpenNI, and NiSDK_OpenNI2.
Referenced by CNiJoints::copyJoints2NiJoints().
00343 { 00344 int ret = -1; 00345 00346 if (lib==NiSDK_OpenNI2) { 00347 ret = _Ni2OpenNI2PosJointNum[j]; 00348 } 00349 else if (lib==NiSDK_OpenNI) { 00350 ret = _Ni2OpenNIPosJointNum[j]; 00351 } 00352 else if (lib==NiSDK_Kinect) { 00353 ret = _Ni2KinectPosJointNum[j]; 00354 } 00355 else if (lib==NiSDK_None) { 00356 //ret = _Ni2ValidPosJointNum[j]; 00357 ret = j; 00358 } 00359 00360 return ret; 00361 }
int Ni2SDKRotJointNum | ( | int | joint, | |
NiSDK_Lib | lib | |||
) |
Definition at line 419 of file NiJointsTool.cpp.
References _Ni2KinectRotJointNum, _Ni2OpenNI2RotJointNum, _Ni2OpenNIRotJointNum, _Ni2RotJointNum, NiSDK_Kinect, NiSDK_None, NiSDK_OpenNI, and NiSDK_OpenNI2.
Referenced by CNiJoints::copyJoints2NiJoints(), and NiCorrectJointsRotation().
00420 { 00421 int ret = -1; 00422 00423 if (lib==NiSDK_OpenNI2) { 00424 ret = _Ni2OpenNI2RotJointNum[j]; 00425 } 00426 else if (lib==NiSDK_OpenNI) { 00427 ret = _Ni2OpenNIRotJointNum[j]; 00428 } 00429 else if (lib==NiSDK_Kinect) { 00430 ret = _Ni2KinectRotJointNum[j]; 00431 } 00432 else if (lib==NiSDK_None) { 00433 ret = _Ni2RotJointNum[j]; 00434 } 00435 00436 return ret; 00437 }
void NiCorrectJointEuler | ( | int | joint, | |
Quaternion< double > * | quat, | |||
RBound< double > | rb | |||
) |
Definition at line 923 of file NiJointsTool.cpp.
References NiGetJointEuler(), and NiSetJointEuler().
Referenced by NiCorrectJointsRotation().
00924 { 00925 if (rb.tmin==0.0) return; // 修正しない 00926 00927 Vector<double> eul[2]; 00928 00929 eul[0].set(0.0, 0.0, 0.0, 0.0, -1.0); 00930 NiGetJointEuler(joint, quat, eul); 00931 if (eul[0].c==-1.0) return; // オイラー角への変換に失敗 00932 00933 // 00934 BOOL chgf = FALSE; 00935 if (eul[0].x<rb.xmin) { eul[0].x = rb.xmin; chgf = TRUE;} 00936 else if (eul[0].x>rb.xmax) { eul[0].x = rb.xmax; chgf = TRUE;} 00937 if (eul[0].y<rb.ymin) { eul[0].y = rb.ymin; chgf = TRUE;} 00938 else if (eul[0].y>rb.ymax) { eul[0].y = rb.ymax; chgf = TRUE;} 00939 if (eul[0].z<rb.zmin) { eul[0].z = rb.zmin; chgf = TRUE;} 00940 else if (eul[0].z>rb.zmax) { eul[0].z = rb.zmax; chgf = TRUE;} 00941 if (!chgf) return; 00942 00943 // 00944 chgf = FALSE; 00945 if (eul[1].x<rb.xmin) { eul[1].x = rb.xmin; chgf = TRUE;} 00946 else if (eul[1].x>rb.xmax) { eul[1].x = rb.xmax; chgf = TRUE;} 00947 if (eul[1].y<rb.ymin) { eul[1].y = rb.ymin; chgf = TRUE;} 00948 else if (eul[1].y>rb.ymax) { eul[1].y = rb.ymax; chgf = TRUE;} 00949 if (eul[1].z<rb.zmin) { eul[1].z = rb.zmin; chgf = TRUE;} 00950 else if (eul[1].z>rb.zmax) { eul[1].z = rb.zmax; chgf = TRUE;} 00951 if (!chgf) return; 00952 00953 // 00954 NiSetJointEuler(joint, eul, quat); 00955 00956 return; 00957 }
void NiCorrectJointsRotation | ( | Quaternion< double > * | quat, | |
NiSDK_Lib | lib | |||
) |
Definition at line 845 of file NiJointsTool.cpp.
References Ni2SDKRotJointNum(), NI_CHEST, NI_HEAD, NI_L_ANKLE, NI_L_COLLAR, NI_L_ELBOW, NI_L_FOOT, NI_L_HAND, NI_L_HIP, NI_L_KNEE, NI_L_SHLDR, NI_L_WRIST, NI_NECK, NI_R_ANKLE, NI_R_COLLAR, NI_R_ELBOW, NI_R_FOOT, NI_R_HAND, NI_R_HIP, NI_R_KNEE, NI_R_SHLDR, NI_R_WRIST, NI_TORSO, NiCorrectJointEuler(), RBound_NI_CHEST, RBound_NI_HEAD, RBound_NI_L_ANKLE, RBound_NI_L_COLLAR, RBound_NI_L_ELBOW, RBound_NI_L_FOOT, RBound_NI_L_HAND, RBound_NI_L_HIP, RBound_NI_L_KNEE, RBound_NI_L_SHLDR, RBound_NI_L_WRIST, RBound_NI_NECK, RBound_NI_R_ANKLE, RBound_NI_R_COLLAR, RBound_NI_R_ELBOW, RBound_NI_R_FOOT, RBound_NI_R_HAND, RBound_NI_R_HIP, RBound_NI_R_KNEE, RBound_NI_R_SHLDR, RBound_NI_R_WRIST, and RBound_NI_TORSO.
00846 { 00847 int joint; 00848 00849 // TORSO 00850 joint = Ni2SDKRotJointNum(NI_TORSO, lib); // abdomen 00851 if (joint>0) NiCorrectJointEuler(NI_TORSO, quat+joint, RBound_NI_TORSO); 00852 // CHEST 00853 joint = Ni2SDKRotJointNum(NI_CHEST, lib); 00854 if (joint>0) NiCorrectJointEuler(NI_CHEST, quat+joint, RBound_NI_CHEST); 00855 // NECK 00856 joint = Ni2SDKRotJointNum(NI_NECK, lib); 00857 if (joint>0) NiCorrectJointEuler(NI_NECK, quat+joint, RBound_NI_NECK); 00858 // HEAD 00859 joint = Ni2SDKRotJointNum(NI_HEAD, lib); 00860 if (joint>0) NiCorrectJointEuler(NI_HEAD, quat+joint, RBound_NI_HEAD); 00861 00862 // L_COLLAR 00863 joint = Ni2SDKRotJointNum(NI_L_COLLAR, lib); 00864 if (joint>0) NiCorrectJointEuler(NI_L_COLLAR, quat+joint, RBound_NI_L_COLLAR); 00865 // R_COLLAR 00866 joint = Ni2SDKRotJointNum(NI_R_COLLAR, lib); 00867 if (joint>0) NiCorrectJointEuler(NI_R_COLLAR, quat+joint, RBound_NI_R_COLLAR); 00868 // L_SHLDR 00869 joint = Ni2SDKRotJointNum(NI_L_SHLDR, lib); 00870 if (joint>0) NiCorrectJointEuler(NI_L_SHLDR, quat+joint, RBound_NI_L_SHLDR); 00871 // R_SHLDR 00872 joint = Ni2SDKRotJointNum(NI_R_SHLDR, lib); 00873 if (joint>0) NiCorrectJointEuler(NI_R_SHLDR, quat+joint, RBound_NI_R_SHLDR); 00874 // L_ELBOW 00875 joint = Ni2SDKRotJointNum(NI_L_ELBOW, lib); 00876 if (joint>0) NiCorrectJointEuler(NI_L_ELBOW, quat+joint, RBound_NI_L_ELBOW); 00877 // R_ELBOW 00878 joint = Ni2SDKRotJointNum(NI_R_ELBOW, lib); 00879 if (joint>0) NiCorrectJointEuler(NI_R_ELBOW, quat+joint, RBound_NI_R_ELBOW); 00880 // L_WRIST 00881 joint = Ni2SDKRotJointNum(NI_L_WRIST, lib); 00882 if (joint>0) NiCorrectJointEuler(NI_L_WRIST, quat+joint, RBound_NI_L_WRIST); 00883 // R_WRIST 00884 joint = Ni2SDKRotJointNum(NI_R_WRIST, lib); 00885 if (joint>0) NiCorrectJointEuler(NI_R_WRIST, quat+joint, RBound_NI_R_WRIST); 00886 // L_HAND 00887 joint = Ni2SDKRotJointNum(NI_L_HAND, lib); 00888 if (joint>0) NiCorrectJointEuler(NI_L_HAND, quat+joint, RBound_NI_L_HAND); 00889 // R_HAND 00890 joint = Ni2SDKRotJointNum(NI_R_HAND, lib); 00891 if (joint>0) NiCorrectJointEuler(NI_R_HAND, quat+joint, RBound_NI_R_HAND); 00892 00893 // L_HIP 00894 joint = Ni2SDKRotJointNum(NI_L_HIP, lib); 00895 if (joint>0) NiCorrectJointEuler(NI_L_HIP, quat+joint, RBound_NI_L_HIP); 00896 // R_HIP 00897 joint = Ni2SDKRotJointNum(NI_R_HIP, lib); 00898 if (joint>0) NiCorrectJointEuler(NI_R_HIP, quat+joint, RBound_NI_R_HIP); 00899 // L_KNEE 00900 joint = Ni2SDKRotJointNum(NI_L_KNEE, lib); 00901 if (joint>0) NiCorrectJointEuler(NI_L_KNEE, quat+joint, RBound_NI_L_KNEE); 00902 // R_KNEE 00903 joint = Ni2SDKRotJointNum(NI_R_KNEE, lib); 00904 if (joint>0) NiCorrectJointEuler(NI_R_KNEE, quat+joint, RBound_NI_R_KNEE); 00905 // L_ANKLE 00906 joint = Ni2SDKRotJointNum(NI_L_ANKLE, lib); 00907 if (joint>0) NiCorrectJointEuler(NI_L_ANKLE, quat+joint, RBound_NI_L_ANKLE); 00908 // R_ANKLE 00909 joint = Ni2SDKRotJointNum(NI_R_ANKLE, lib); 00910 if (joint>0) NiCorrectJointEuler(NI_R_ANKLE, quat+joint, RBound_NI_R_ANKLE); 00911 // L_FOOT 00912 joint = Ni2SDKRotJointNum(NI_L_FOOT, lib); 00913 if (joint>0) NiCorrectJointEuler(NI_L_FOOT, quat+joint, RBound_NI_L_FOOT); 00914 // R_FOOT 00915 joint = Ni2SDKRotJointNum(NI_R_FOOT, lib); 00916 if (joint>0) NiCorrectJointEuler(NI_R_FOOT, quat+joint, RBound_NI_R_FOOT); 00917 00918 return; 00919 }
void NiGetJointEuler | ( | int | joint, | |
Quaternion< double > * | quat, | |||
Vector< double > * | vect | |||
) |
Definition at line 961 of file NiJointsTool.cpp.
References NI_L_ANKLE, NI_L_COLLAR, NI_L_ELBOW, NI_L_SHLDR, NI_L_WRIST, NI_R_ANKLE, NI_R_COLLAR, NI_R_ELBOW, NI_R_SHLDR, and NI_R_WRIST.
Referenced by NiCorrectJointEuler().
00962 { 00963 if (vect==NULL) return; 00964 00965 Vector<double> vt[2]; 00966 vt[0].set(0.0, 0.0, 0.0, 0.0, -1.0); 00967 00968 if (joint==NI_L_ANKLE || joint==NI_R_ANKLE) { 00969 Quaternion2ExtEulerXZY(*quat, vt); 00970 if (vt[0].c!=-1.0) { 00971 vect[0].set(vt[0].element1(), vt[0].element3(), vt[0].element2()); 00972 vect[1].set(vt[1].element1(), vt[1].element3(), vt[1].element2()); 00973 } 00974 } 00975 else if (joint==NI_L_COLLAR || joint==NI_R_COLLAR) { 00976 Quaternion2ExtEulerYXZ(*quat, vt); 00977 if (vt[0].c!=-1.0) { 00978 vect[0].set(vt[0].element2(), vt[0].element1(), vt[0].element3()); 00979 vect[1].set(vt[1].element2(), vt[1].element1(), vt[1].element3()); 00980 } 00981 } 00982 else if (joint==NI_L_SHLDR || joint==NI_R_SHLDR) { 00983 Quaternion2ExtEulerYZX(*quat, vt); 00984 if (vt[0].c!=-1.0) { 00985 vect[0].set(vt[0].element3(), vt[0].element1(), vt[0].element2()); 00986 vect[1].set(vt[1].element3(), vt[1].element1(), vt[1].element2()); 00987 } 00988 } 00989 else if (joint==NI_L_ELBOW || joint==NI_R_ELBOW) { 00990 Quaternion2ExtEulerYXZ(*quat, vt); 00991 if (vt[0].c!=-1.0) { 00992 vect[0].set(vt[0].element2(), vt[0].element1(), vt[0].element3()); 00993 vect[1].set(vt[1].element2(), vt[1].element1(), vt[1].element3()); 00994 } 00995 } 00996 else if (joint==NI_L_WRIST || joint==NI_R_WRIST) { 00997 Quaternion2ExtEulerYZX(*quat, vt); 00998 if (vt[0].c!=-1.0) { 00999 vect[0].set(vt[0].element3(), vt[0].element1(), vt[0].element2()); 01000 vect[1].set(vt[1].element3(), vt[1].element1(), vt[1].element2()); 01001 } 01002 } 01003 else { 01004 Quaternion2ExtEulerZXY(*quat, vt); 01005 if (vt[0].c!=-1.0) { 01006 vect[0].set(vt[0].element2(), vt[0].element3(), vt[0].element1()); 01007 vect[1].set(vt[1].element2(), vt[1].element3(), vt[1].element1()); 01008 } 01009 } 01010 01011 return; 01012 }
unsigned int NiGetSkeletonColor | ( | int | label | ) |
Definition at line 45 of file NiToolWin.cpp.
References NI_DETECT_COLOR_BRIGHT.
00046 { 00047 unsigned int col; 00048 00049 if (label==1) { 00050 col = BGRA2Int(255, 255, 255-NI_DETECT_COLOR_BRIGHT, 0); 00051 } 00052 else if (label==2) { 00053 col = BGRA2Int(255, 255-NI_DETECT_COLOR_BRIGHT, 255, 0); 00054 } 00055 else if (label==3) { 00056 col = BGRA2Int(255-NI_DETECT_COLOR_BRIGHT, 255, 255, 0); 00057 } 00058 else if (label==4) { 00059 col = BGRA2Int(255-NI_DETECT_COLOR_BRIGHT, 255-NI_DETECT_COLOR_BRIGHT, 255, 0); 00060 } 00061 else if (label==5) { 00062 col = BGRA2Int(255-NI_DETECT_COLOR_BRIGHT, 255, 255-NI_DETECT_COLOR_BRIGHT, 0); 00063 } 00064 else { 00065 col = BGRA2Int(255, 255-NI_DETECT_COLOR_BRIGHT, 255-NI_DETECT_COLOR_BRIGHT, 0); 00066 } 00067 00068 /* 00069 if (label==1) { 00070 col = BGRA2Int(255, 255, 255, 0); 00071 } 00072 else if (label==2) { 00073 col = BGRA2Int(255, 255, 255, 0); 00074 } 00075 else if (label==3) { 00076 col = BGRA2Int(255, 255, 255, 0); 00077 } 00078 else if (label==4) { 00079 col = BGRA2Int(255, 255, 255, 0); 00080 } 00081 else if (label==5) { 00082 col = BGRA2Int(255, 255, 255, 0); 00083 } 00084 else { 00085 col = BGRA2Int(255, 255, 255, 0); 00086 } 00087 */ 00088 00089 return col; 00090 }
void NiInitRBoundJointsRotation | ( | void | ) |
Definition at line 812 of file NiJointsTool.cpp.
References RBound_NI_CHEST, RBound_NI_HEAD, RBound_NI_L_ANKLE, RBound_NI_L_COLLAR, RBound_NI_L_ELBOW, RBound_NI_L_FOOT, RBound_NI_L_HAND, RBound_NI_L_HIP, RBound_NI_L_KNEE, RBound_NI_L_SHLDR, RBound_NI_L_WRIST, RBound_NI_NECK, RBound_NI_R_ANKLE, RBound_NI_R_COLLAR, RBound_NI_R_ELBOW, RBound_NI_R_FOOT, RBound_NI_R_HAND, RBound_NI_R_HIP, RBound_NI_R_KNEE, RBound_NI_R_SHLDR, RBound_NI_R_WRIST, and RBound_NI_TORSO.
00813 { 00814 // Initialize 00815 RBound_NI_TORSO.init(); 00816 RBound_NI_CHEST.init(); 00817 RBound_NI_NECK.init(); 00818 RBound_NI_HEAD.init(); 00819 00820 RBound_NI_L_COLLAR.init(); 00821 RBound_NI_R_COLLAR.init(); 00822 RBound_NI_L_SHLDR.init(); 00823 RBound_NI_R_SHLDR.init(); 00824 RBound_NI_L_ELBOW.init(); 00825 RBound_NI_R_ELBOW.init(); 00826 RBound_NI_L_WRIST.init(); 00827 RBound_NI_R_WRIST.init(); 00828 RBound_NI_L_HAND.init(); 00829 RBound_NI_R_HAND.init(); 00830 00831 RBound_NI_L_HIP.init(); 00832 RBound_NI_R_HIP.init(); 00833 RBound_NI_L_KNEE.init(); 00834 RBound_NI_R_KNEE.init(); 00835 RBound_NI_L_ANKLE.init(); 00836 RBound_NI_R_ANKLE.init(); 00837 RBound_NI_L_FOOT.init(); 00838 RBound_NI_R_FOOT.init(); 00839 00840 return; 00841 }
std::string NiJointName | ( | int | n | ) |
Definition at line 117 of file NiJointsTool.cpp.
References _NiJointName, and NI_TOTAL_JOINT_NUM.
Referenced by addBVHJointName(), setBVHJointName(), and CNiJTextTool::writeCurrentData().
00118 { 00119 std::string str = ""; 00120 00121 if (n>=0 && n<NI_TOTAL_JOINT_NUM) { 00122 str = _NiJointName[n]; 00123 } 00124 00125 return str; 00126 }
int NiJointNum | ( | char * | name | ) |
Definition at line 130 of file NiJointsTool.cpp.
References _NiJointName, and NI_TOTAL_JOINT_NUM.
Referenced by CNiJTextTool::readFile().
00131 { 00132 for (int i=0; i<NI_TOTAL_JOINT_NUM; i++) { 00133 if (!strcmp(name, _NiJointName[i].c_str())) return i; 00134 } 00135 return -1; 00136 }
std::string NiSDK2JointName | ( | int | joint, | |
NiSDK_Lib | lib | |||
) |
Definition at line 188 of file NiJointsTool.cpp.
References _Kinect2JointNameNum, _NiJointName, _OpenNI22JointNameNum, _OpenNI2JointNameNum, NiSDK_Kinect, NiSDK_None, NiSDK_OpenNI, and NiSDK_OpenNI2.
00189 { 00190 std::string str = ""; 00191 00192 if (lib==NiSDK_OpenNI2) { 00193 int n = _OpenNI22JointNameNum[j]; 00194 if (n>=0) str = _NiJointName[n]; 00195 } 00196 else if (lib==NiSDK_OpenNI) { 00197 int n = _OpenNI2JointNameNum[j]; 00198 if (n>=0) str = _NiJointName[n]; 00199 } 00200 else if (lib==NiSDK_Kinect) { 00201 int n = _Kinect2JointNameNum[j]; 00202 if (n>=0) str = _NiJointName[n]; 00203 } 00204 else if (lib==NiSDK_None) { 00205 //str = _NiJointName[_Ni2JointNameNum[j]]; 00206 str = _NiJointName[j]; 00207 } 00208 00209 return str; 00210 }
int NiSDKMirrorJointNum | ( | int | joint, | |
NiSDK_Lib | lib | |||
) |
Definition at line 261 of file NiJointsTool.cpp.
References _KinectMirrorJointNum, _NiMirrorJointNum, _OpenNI2MirrorJointNum, _OpenNIMirrorJointNum, NiSDK_Kinect, NiSDK_None, NiSDK_OpenNI, and NiSDK_OpenNI2.
Referenced by CNiJTextTool::setJntAngl(), CNiJTextTool::setPosVect(), and CNiJTextTool::setRotQuat().
00262 { 00263 int ret = -1; 00264 if (j<0) return ret; 00265 00266 if (lib==NiSDK_OpenNI2) { 00267 ret = _OpenNI2MirrorJointNum[j]; 00268 } 00269 else if (lib==NiSDK_OpenNI) { 00270 ret = _OpenNIMirrorJointNum[j]; 00271 } 00272 else if (lib==NiSDK_Kinect) { 00273 ret = _KinectMirrorJointNum[j]; 00274 } 00275 else if (lib==NiSDK_None) { 00276 ret = _NiMirrorJointNum[j]; 00277 } 00278 00279 return ret; 00280 }
void NiSetJointEuler | ( | int | joint, | |
Vector< double > * | vect, | |||
Quaternion< double > * | quat | |||
) |
Definition at line 1016 of file NiJointsTool.cpp.
References NI_L_ANKLE, NI_L_COLLAR, NI_L_ELBOW, NI_L_SHLDR, NI_L_WRIST, NI_R_ANKLE, NI_R_COLLAR, NI_R_ELBOW, NI_R_SHLDR, and NI_R_WRIST.
Referenced by NiCorrectJointEuler().
01017 { 01018 Quaternion<double> qut[2], rot[2]; 01019 Vector<double> eul[2]; 01020 01021 if (joint==NI_L_ANKLE || joint==NI_R_ANKLE) { 01022 eul[0].set(vect[0].x, vect[0].z, vect[0].y); 01023 eul[1].set(vect[1].x, vect[1].z, vect[1].y); 01024 qut[0].setExtEulerXZY(eul[0]); 01025 qut[1].setExtEulerXZY(eul[1]); 01026 } 01027 else if (joint==NI_L_COLLAR || joint==NI_R_COLLAR) { 01028 eul[0].set(vect[0].y, vect[0].x, vect[0].z); 01029 eul[1].set(vect[1].y, vect[1].x, vect[1].z); 01030 qut[0].setExtEulerYXZ(eul[0]); 01031 qut[1].setExtEulerYXZ(eul[1]); 01032 } 01033 else if (joint==NI_L_SHLDR || joint==NI_R_SHLDR) { 01034 eul[0].set(vect[0].y, vect[0].z, vect[0].x); 01035 eul[1].set(vect[1].y, vect[1].z, vect[1].x); 01036 qut[0].setExtEulerYZX(eul[0]); 01037 qut[1].setExtEulerYZX(eul[1]); 01038 } 01039 else if (joint==NI_L_ELBOW || joint==NI_R_ELBOW) { 01040 eul[0].set(vect[0].y, vect[0].x, vect[0].z); 01041 eul[1].set(vect[1].y, vect[1].x, vect[1].z); 01042 qut[0].setExtEulerYXZ(eul[0]); 01043 qut[1].setExtEulerYXZ(eul[1]); 01044 } 01045 else if (joint==NI_L_WRIST || joint==NI_R_WRIST) { 01046 eul[0].set(vect[0].y, vect[0].z, vect[0].x); 01047 eul[1].set(vect[1].y, vect[1].z, vect[1].x); 01048 qut[0].setExtEulerYZX(eul[0]); 01049 qut[1].setExtEulerYZX(eul[1]); 01050 } 01051 else { 01052 eul[0].set(vect[0].z, vect[0].x, vect[0].y); 01053 eul[1].set(vect[1].z, vect[1].x, vect[1].y); 01054 qut[0].setExtEulerZXY(eul[0]); 01055 qut[1].setExtEulerZXY(eul[1]); 01056 } 01057 01058 // 01059 rot[0] = qut[0]*~(*quat); 01060 rot[1] = qut[1]*~(*quat); 01061 // 01062 if (rot[0].getAngle()<=rot[1].getAngle()) { // 回転角の小さい方を選択 01063 *quat = qut[0]; 01064 } 01065 else { 01066 *quat = qut[1]; 01067 } 01068 01069 return; 01070 }
void NiSetKinectJointNums | ( | void | ) |
Definition at line 575 of file NiJointsTool.cpp.
References NI_SDK_AVATAR, NI_SDK_FACE, NI_SDK_HEAD, NI_SDK_L_ANKLE, NI_SDK_L_BUST, NI_SDK_L_ELBOW, NI_SDK_L_EYE, NI_SDK_L_FINGER, NI_SDK_L_FNGRTIP, NI_SDK_L_FOOT, NI_SDK_L_HAND, NI_SDK_L_HIP, NI_SDK_L_KNEE, NI_SDK_L_SHLDR, NI_SDK_L_WRIST, NI_SDK_NECK, NI_SDK_PELVIS, NI_SDK_R_ANKLE, NI_SDK_R_BUST, NI_SDK_R_ELBOW, NI_SDK_R_EYE, NI_SDK_R_FINGER, NI_SDK_R_FNGRTIP, NI_SDK_R_FOOT, NI_SDK_R_HAND, NI_SDK_R_HIP, NI_SDK_R_KNEE, NI_SDK_R_SHLDR, NI_SDK_R_WRIST, and NI_SDK_TORSO.
00576 { 00577 NI_SDK_PELVIS = 0; // NUI_SKELETON_POSITION_HIP_CENTER 00578 NI_SDK_TORSO = 1; // SPINE は書き換えて使用 00579 NI_SDK_NECK = 2; // NUI_SKELETON_POSITION_SHOULDER_CENTER 00580 NI_SDK_HEAD = 3; // NUI_SKELETON_POSITION_HEAD 00581 00582 NI_SDK_L_EYE = -1; 00583 NI_SDK_R_EYE = -1; 00584 NI_SDK_L_BUST = -1; 00585 NI_SDK_R_BUST = -1; 00586 00587 NI_SDK_L_SHLDR = 4; // NUI_SKELETON_POSITION_SHOULDER_LEFT 00588 NI_SDK_L_ELBOW = 5; // NUI_SKELETON_POSITION_ELBOW_LEFT 00589 NI_SDK_L_WRIST = 6; // NUI_SKELETON_POSITION_WRIST_LEFT 00590 NI_SDK_L_HAND = 7; // NUI_SKELETON_POSITION_HAND_LEFT 00591 NI_SDK_L_FNGRTIP = -1; 00592 00593 NI_SDK_R_SHLDR = 8; // NUI_SKELETON_POSITION_SHOULDER_RIGHT 00594 NI_SDK_R_ELBOW = 9; // NUI_SKELETON_POSITION_ELBOW_RIGHT 00595 NI_SDK_R_WRIST = 10; // NUI_SKELETON_POSITION_WRIST_RIGHT 00596 NI_SDK_R_HAND = 11; // NUI_SKELETON_POSITION_HAND_RIGHT 00597 NI_SDK_R_FNGRTIP = -1; 00598 00599 NI_SDK_L_HIP = 12; // NUI_SKELETON_POSITION_HIP_LEFT 00600 NI_SDK_L_KNEE = 13; // NUI_SKELETON_POSITION_KNEE_LEFT 00601 NI_SDK_L_ANKLE = 14; // NUI_SKELETON_POSITION_ANKLE_LEFT 00602 NI_SDK_L_FOOT = 15; // NUI_SKELETON_POSITION_FOOT_LEFT 00603 00604 NI_SDK_R_HIP = 16; // NUI_SKELETON_POSITION_HIP_RIGHT 00605 NI_SDK_R_KNEE = 17; // NUI_SKELETON_POSITION_KNEE_RIGHT 00606 NI_SDK_R_ANKLE = 18; // NUI_SKELETON_POSITION_ANKLE_RIGHT 00607 NI_SDK_R_FOOT = 19; // NUI_SKELETON_POSITION_FOOT_RIGHT 00608 00609 NI_SDK_L_FINGER = -1; 00610 NI_SDK_R_FINGER = -1; 00611 NI_SDK_FACE = -1; 00612 NI_SDK_AVATAR = -1; 00613 00614 return; 00615 }
void NiSetOpenNI2JointNums | ( | void | ) |
Definition at line 530 of file NiJointsTool.cpp.
References NI_SDK_AVATAR, NI_SDK_FACE, NI_SDK_HEAD, NI_SDK_L_ANKLE, NI_SDK_L_BUST, NI_SDK_L_ELBOW, NI_SDK_L_EYE, NI_SDK_L_FINGER, NI_SDK_L_FNGRTIP, NI_SDK_L_FOOT, NI_SDK_L_HAND, NI_SDK_L_HIP, NI_SDK_L_KNEE, NI_SDK_L_SHLDR, NI_SDK_L_WRIST, NI_SDK_NECK, NI_SDK_PELVIS, NI_SDK_R_ANKLE, NI_SDK_R_BUST, NI_SDK_R_ELBOW, NI_SDK_R_EYE, NI_SDK_R_FINGER, NI_SDK_R_FNGRTIP, NI_SDK_R_FOOT, NI_SDK_R_HAND, NI_SDK_R_HIP, NI_SDK_R_KNEE, NI_SDK_R_SHLDR, NI_SDK_R_WRIST, and NI_SDK_TORSO.
00531 { 00532 NI_SDK_PELVIS = 0; // 00533 NI_SDK_TORSO = 9; // NITE_JOINT_TORSO + 1 00534 NI_SDK_NECK = 2; // NITE_JOINT_NECK + 1 00535 NI_SDK_HEAD = 1; // NITE_JOINT_HEAD + 1 00536 00537 NI_SDK_L_EYE = -1; 00538 NI_SDK_R_EYE = -1; 00539 NI_SDK_L_BUST = -1; 00540 NI_SDK_R_BUST = -1; 00541 00542 NI_SDK_L_SHLDR = 4; // NITE_JOINT_RIGHT_SHOULDER + 1 00543 NI_SDK_L_ELBOW = 6; // NITE_JOINT_RIGHT_ELBOW + 1 00544 NI_SDK_L_WRIST = 8; // NITE_JOINT_RIGHT_HAND + 1 00545 NI_SDK_L_HAND = -1; 00546 NI_SDK_L_FNGRTIP = -1; 00547 00548 NI_SDK_R_SHLDR = 3; // NITE_JOINT_LEFT_SHOULDER + 1 00549 NI_SDK_R_ELBOW = 5; // NITE_JOINT_LEFT_ELBOW + 1 00550 NI_SDK_R_WRIST = 7; // NITE_JOINT_LEFT_HAND + 1 00551 NI_SDK_R_HAND = -1; 00552 NI_SDK_R_FNGRTIP = -1; 00553 00554 NI_SDK_L_HIP = 11; // NITE_JOINT_RIGHT_HIP + 1 00555 NI_SDK_L_KNEE = 13; // NITE_JOINT_RIGHT_KNEE + 1 00556 NI_SDK_L_ANKLE = 15; // NITE_JOINT_RIGHT_FOOT + 1 00557 NI_SDK_L_FOOT = -1; 00558 00559 NI_SDK_R_HIP = 10; // NITE_JOINT_LEFT_HIP + 1 00560 NI_SDK_R_KNEE = 12; // NITE_JOINT_LEFT_KNEE + 1 00561 NI_SDK_R_ANKLE = 14; // NITE_JOINT_LEFT_FOOT + 1 00562 NI_SDK_R_FOOT = -1; 00563 00564 NI_SDK_L_FINGER = -1; 00565 NI_SDK_R_FINGER = -1; 00566 NI_SDK_FACE = -1; 00567 NI_SDK_AVATAR = -1; 00568 00569 return; 00570 }
void NiSetOpenNIJointNums | ( | void | ) |
Definition at line 485 of file NiJointsTool.cpp.
References NI_SDK_AVATAR, NI_SDK_FACE, NI_SDK_HEAD, NI_SDK_L_ANKLE, NI_SDK_L_BUST, NI_SDK_L_ELBOW, NI_SDK_L_EYE, NI_SDK_L_FINGER, NI_SDK_L_FNGRTIP, NI_SDK_L_FOOT, NI_SDK_L_HAND, NI_SDK_L_HIP, NI_SDK_L_KNEE, NI_SDK_L_SHLDR, NI_SDK_L_WRIST, NI_SDK_NECK, NI_SDK_PELVIS, NI_SDK_R_ANKLE, NI_SDK_R_BUST, NI_SDK_R_ELBOW, NI_SDK_R_EYE, NI_SDK_R_FINGER, NI_SDK_R_FNGRTIP, NI_SDK_R_FOOT, NI_SDK_R_HAND, NI_SDK_R_HIP, NI_SDK_R_KNEE, NI_SDK_R_SHLDR, NI_SDK_R_WRIST, and NI_SDK_TORSO.
00486 { 00487 NI_SDK_PELVIS = 0; // 00488 NI_SDK_TORSO = 3; // XN_SKEL_TORSO 00489 NI_SDK_NECK = 2; // XN_SKEL_NECK 00490 NI_SDK_HEAD = 1; // XN_SKEL_HEAD 00491 00492 NI_SDK_L_EYE = -1; 00493 NI_SDK_R_EYE = -1; 00494 NI_SDK_L_BUST = -1; 00495 NI_SDK_R_BUST = -1; 00496 00497 NI_SDK_L_SHLDR = 12; // XN_SKEL_RIGHT_SHOULDER 00498 NI_SDK_L_ELBOW = 13; // XN_SKEL_RIGHT_ELBOW 00499 NI_SDK_L_WRIST = 15; // XN_SKEL_RIGHT_HAND 00500 NI_SDK_L_HAND = -1; 00501 NI_SDK_L_FNGRTIP = -1; 00502 00503 NI_SDK_R_SHLDR = 6; // XN_SKEL_LEFT_SHOULDER 00504 NI_SDK_R_ELBOW = 7; // XN_SKEL_LEFT_ELBOW 00505 NI_SDK_R_WRIST = 9; // XN_SKEL_LEFT_HAND 00506 NI_SDK_R_HAND = -1; 00507 NI_SDK_R_FNGRTIP = -1; 00508 00509 NI_SDK_L_HIP = 21; // XN_SKEL_RIGHT_HIP 00510 NI_SDK_L_KNEE = 22; // XN_SKEL_RIGHT_KNEE 00511 NI_SDK_L_ANKLE = 24; // XN_SKEL_RIGHT_FOOT 00512 NI_SDK_L_FOOT = -1; 00513 00514 NI_SDK_R_HIP = 17; // XN_SKEL_LEFT_HIP 00515 NI_SDK_R_KNEE = 18; // XN_SKEL_LEFT_KNEE 00516 NI_SDK_R_ANKLE = 20; // XN_SKEL_LEFT_FOOT 00517 NI_SDK_R_FOOT = -1; 00518 00519 NI_SDK_L_FINGER = -1; 00520 NI_SDK_R_FINGER = -1; 00521 NI_SDK_FACE = -1; 00522 NI_SDK_AVATAR = -1; 00523 00524 return; 00525 }
void NiSetUserColor | ( | int | label, | |
uByte * | ptr, | |||
BOOL | use_image = TRUE | |||
) |
Definition at line 13 of file NiToolWin.cpp.
References NI_DETECT_COLOR_BRIGHT.
00014 { 00015 if (label==1) { 00016 if (!use_image) ptr[0] = ptr[1] = 0; 00017 ptr[2] = NI_DETECT_COLOR_BRIGHT; // R 00018 } 00019 else if (label==2) { 00020 if (!use_image) ptr[0] = ptr[2] = 0; 00021 ptr[1] = NI_DETECT_COLOR_BRIGHT; // G 00022 } 00023 else if (label==3) { 00024 if (!use_image) ptr[1] = ptr[2] = 0; 00025 ptr[0] = NI_DETECT_COLOR_BRIGHT; // B 00026 } 00027 else if (label==4) { 00028 if (!use_image) ptr[2] = 0; 00029 ptr[0] = ptr[1] = NI_DETECT_COLOR_BRIGHT; // B, G 00030 } 00031 else if (label==5) { 00032 if (!use_image) ptr[1] = 0; 00033 ptr[0] = ptr[2] = NI_DETECT_COLOR_BRIGHT; // B, R 00034 } 00035 else { 00036 if (!use_image) ptr[0] = 0; 00037 ptr[1] = ptr[2] = NI_DETECT_COLOR_BRIGHT; // G, R 00038 } 00039 00040 return; 00041 }
CString numbering_name_t | ( | LPCTSTR | fmt, | |
int | n | |||
) |
Definition at line 332 of file WinTools.cpp.
Referenced by CDxMGRView::MakeSetTitle(), and CRwGRDoc::ReadDataFile().
00333 { 00334 TCHAR fname[LNAME]; 00335 00336 sntprintf(fname, LNAME-1, fmt, n); 00337 CString ret = fname; 00338 return ret; 00339 }
tList * read_index_tList_file_t | ( | LPCTSTR | fn, | |
char | cc | |||
) |
Definition at line 315 of file WinTools.cpp.
References ts2mbs().
00316 { 00317 char* pathstr = NULL; 00318 if (fn!=_T("")) pathstr = ts2mbs(fn); 00319 00320 tList* lt = read_index_tList_file(pathstr, cc); 00321 freeNull(pathstr); 00322 00323 return lt; 00324 }
void RebootProgram | ( | void | ) |
Definition at line 69 of file MFCTool.cpp.
References SendWinMessage().
00070 { 00071 TCHAR path[LDATA]; 00072 GetModuleFileName(NULL, (LPTSTR)path, (DWORD)LDATA); 00073 00074 CString arg; 00075 arg.Format(_T("/waitpid %u"), GetCurrentProcessId()); 00076 ShellExecute(NULL, NULL, (LPCTSTR)path, (LPCTSTR)arg, NULL, SW_SHOWNORMAL); 00077 00078 SendWinMessage(WM_CLOSE); 00079 }
void jbxwl::releaseNull | ( | T *& | ptr | ) | [inline] |
Definition at line 212 of file WinTools.h.
Referenced by CWinAudioTool::free().
HRESULT ResetDx9Device | ( | LPDIRECT3DDEVICE9 | lpD3DDevice, | |
D3DPRESENT_PARAMETERS * | pd3dParam, | |||
CDxBaseView * | pviw = NULL | |||
) |
HRESULT ResetDx9Device(LPDIRECT3DDEVICE9, D3DPRESENT_PARAMETERS*, CDxBaseView* pviw=NULL);
機能: DirectX9のデバイスをリセットする.
引数: lpD3DDevice リセットするDirectX9デバイス d3dParam デバイスリセットのためのパラメータ.作成時に使用したものを指定する. pviw このデバイスを持っている CDxBaseViewクラスを指定する.省略可能(NULL)
戻値: リセットの HRESULT
説明: D3DPOOL_DEFAULT管理のリソースなどは,デバイスのリセットを行う前にそれを開放し, リセット後に再び獲得しなければならない.pviwに CDxBaseViewクラスのポインタを設定 した場合,解放関数として pviw->ClearObject() が呼び出され,再獲得関数として pviw->InitObject()が呼び出される.この2つの関数は,CDxBaseViewクラスの継承クラス の中でオーバーライドされなければならない.pviw に NULLを指定した場合は,リソース の開放・再獲得は行われない.
CDxBaseView* を引数に持つので,Dx9.cpp へは入れられない.
機能: DirectX9のデバイスをリセットする.
引数: lpD3DDevice リセットするDirectX9デバイス d3dParam デバイスリセットのためのパラメータ.作成時に使用したものを指定する. pviw このデバイスを持っている CDxBaseViewクラスを指定する.省略可能(NULL)
戻値: リセットの HRESULT
説明: D3DPOOL_DEFAULT管理のリソースなどは,デバイスのリセットを行う前にそれを開放し, リセット後に再び獲得しなければならない.pviwに CDxBaseViewクラスのポインタを設定 した場合,解放関数として pviw->ClearObject() が呼び出され,再獲得関数として pviw->InitObject()が呼び出される.この2つの関数は,CDxBaseViewクラスの継承クラス の中でオーバーライドされなければならない.pviw に NULLを指定した場合は,リソース の開放・再獲得は行われない.
CDxBaseView* を引数に持つので,Dx9.cpp へは入れられない.
Definition at line 350 of file DxBaseClass.cpp.
References CDxBaseView::ClearObject(), and CDxBaseView::InitObject().
Referenced by CDxVScrollView::ExecRender(), CDxSRenderView::ExecRender(), CDxMGRView::ExecRender(), CDxDirectView::ExecRender(), and CDx2DView::ExecRender().
00351 { 00352 HRESULT hr = lpD3DDevice->TestCooperativeLevel(); 00353 if (hr==D3D_OK) return hr; 00354 00355 do { 00356 Sleep(100); 00357 hr = lpD3DDevice->TestCooperativeLevel(); 00358 } while (hr==D3DERR_DEVICELOST); // デバイスがリセットできるようになるまで待つ. 00359 00360 if (hr==D3DERR_DEVICENOTRESET) { // リセット可能 00361 if (pviw!=NULL) pviw->ClearObject(); 00362 00363 hr = lpD3DDevice->Reset(pd3dParam); 00364 if (hr==D3D_OK) { // リセット成功 00365 DEBUG_INFO("jbxwl::ResetDx9Device(): Reseted Dx9 Device.\n"); 00366 if (pviw!=NULL) pviw->InitObject(); 00367 } 00368 else { 00369 DEBUG_ERROR("jbxwl::ResetDx9Device(): Failed to Reset.\n"); 00370 } 00371 } 00372 return hr; 00373 }
void SendKeyAction | ( | WORD | key, | |
SENDKEY_Action | action | |||
) |
Definition at line 510 of file WinTools.cpp.
References SENDKEY_DownAction, SENDKEY_TapAction, and SENDKEY_UpAction.
Referenced by SendKeyActionTap().
00511 { 00512 INPUT input; 00513 00514 input.type = INPUT_KEYBOARD; 00515 input.ki.wVk = key; 00516 input.ki.wScan = MapVirtualKeyW(key, 0); 00517 input.ki.dwFlags = KEYEVENTF_EXTENDEDKEY; 00518 00519 if (action==SENDKEY_TapAction || action==SENDKEY_DownAction) { 00520 SendInput(1, &input, sizeof(INPUT)); 00521 } 00522 if (action==SENDKEY_TapAction || action==SENDKEY_UpAction) { 00523 input.ki.dwFlags |= KEYEVENTF_KEYUP; 00524 SendInput(1, &input, sizeof(INPUT)); 00525 } 00526 }
void SendKeyActionTap | ( | WORD | key1, | |
WORD | key2, | |||
WORD | key3 | |||
) |
Definition at line 539 of file WinTools.cpp.
References SENDKEY_DownAction, SENDKEY_TapAction, SENDKEY_UpAction, and SendKeyAction().
00540 { 00541 SendKeyAction(key1, SENDKEY_DownAction); 00542 SendKeyAction(key2, SENDKEY_DownAction); 00543 SendKeyAction(key3, SENDKEY_TapAction); 00544 SendKeyAction(key2, SENDKEY_UpAction); 00545 SendKeyAction(key1, SENDKEY_UpAction); 00546 }
void SendKeyActionTap | ( | WORD | key1, | |
WORD | key2 | |||
) |
Definition at line 530 of file WinTools.cpp.
References SENDKEY_DownAction, SENDKEY_TapAction, SENDKEY_UpAction, and SendKeyAction().
00531 { 00532 SendKeyAction(key1, SENDKEY_DownAction); 00533 SendKeyAction(key2, SENDKEY_TapAction); 00534 SendKeyAction(key1, SENDKEY_UpAction); 00535 }
void jbxwl::SendKeyActionTap | ( | WORD | key | ) | [inline] |
Definition at line 128 of file WinTools.h.
References SENDKEY_TapAction, and SendKeyAction().
Referenced by DoSystemKeyAction(), SendKeyActionTapAlt(), SendKeyActionTapCtrl(), and SendKeyActionTapShift().
00128 { SendKeyAction(key, SENDKEY_TapAction);}
void jbxwl::SendKeyActionTapAlt | ( | WORD | key | ) | [inline] |
Definition at line 133 of file WinTools.h.
References SendKeyActionTap().
Referenced by DoSystemKeyAction().
00133 { SendKeyActionTap(VK_LMENU, key);}
void jbxwl::SendKeyActionTapCtrl | ( | WORD | key | ) | [inline] |
Definition at line 135 of file WinTools.h.
References SendKeyActionTap().
Referenced by DoSystemKeyAction().
00135 { SendKeyActionTap(VK_LCONTROL, key);}
void jbxwl::SendKeyActionTapShift | ( | WORD | key | ) | [inline] |
Definition at line 134 of file WinTools.h.
References SendKeyActionTap().
00134 { SendKeyActionTap(VK_LSHIFT, key);}
void SendWinMessage | ( | UINT | mesg, | |
WPARAM | wparam = NULL , |
|||
LPARAM | lparam = NULL | |||
) |
Definition at line 495 of file WinTools.cpp.
Referenced by RebootProgram().
00496 { 00497 CWinApp* app = AfxGetApp(); 00498 if (app!=NULL) { 00499 CWnd* wnd = app->m_pMainWnd; 00500 if (wnd!=NULL) wnd->SendMessage(mesg, wparam, lparam); 00501 } 00502 }
tList * setBVHJointName | ( | void | ) |
Definition at line 11 of file NiBVHName.cpp.
References add_bvh_name, NI_CHEST, NI_HEAD, NI_L_ANKLE, NI_L_COLLAR, NI_L_ELBOW, NI_L_EYE, NI_L_FOOT, NI_L_HIP, NI_L_KNEE, NI_L_SHLDR, NI_L_TOE, NI_L_WRIST, NI_NECK, NI_NORML_JOINT_NUM, NI_PELVIS, NI_R_ANKLE, NI_R_COLLAR, NI_R_ELBOW, NI_R_EYE, NI_R_FOOT, NI_R_HIP, NI_R_KNEE, NI_R_SHLDR, NI_R_TOE, NI_R_WRIST, NI_SKULL, NI_TORSO, and NiJointName().
Referenced by CNiBVHTool::init(), and CNiFileTool::writeBVHFile().
00012 { 00013 tList* lt = add_bvh_name(NULL, -1, "BVH Name List"); 00014 tList* pp = lt; 00015 00016 // NI: PELVIS, WAIST, TORSO, ....., R_TOE see NiJointsTool.cpp 00017 for (int j=0; j<NI_NORML_JOINT_NUM; j++) { 00018 pp = add_bvh_name(pp, j, (char*)NiJointName(j).c_str()); 00019 } 00020 00021 // SL/OS 00022 pp = add_bvh_name(pp, NI_PELVIS, "mPelvis"); 00023 pp = add_bvh_name(pp, NI_TORSO, "mTorso"); 00024 pp = add_bvh_name(pp, NI_CHEST, "mChest"); 00025 pp = add_bvh_name(pp, NI_NECK, "mNeck"); 00026 pp = add_bvh_name(pp, NI_HEAD, "mHead"); 00027 pp = add_bvh_name(pp, NI_SKULL, "mSkull"); 00028 pp = add_bvh_name(pp, NI_L_EYE, "mEyeLeft"); 00029 pp = add_bvh_name(pp, NI_R_EYE, "mEyeRight"); 00030 pp = add_bvh_name(pp, NI_L_COLLAR, "mCollarLeft"); 00031 pp = add_bvh_name(pp, NI_L_SHLDR, "mShoulderLeft"); 00032 pp = add_bvh_name(pp, NI_L_ELBOW, "mElbowLeft"); 00033 pp = add_bvh_name(pp, NI_L_WRIST, "mWristLeft"); 00034 pp = add_bvh_name(pp, NI_R_COLLAR, "mCollarRight"); 00035 pp = add_bvh_name(pp, NI_R_SHLDR, "mShoulderRight"); 00036 pp = add_bvh_name(pp, NI_R_ELBOW, "mElbowRight"); 00037 pp = add_bvh_name(pp, NI_R_WRIST, "mWristRight"); 00038 pp = add_bvh_name(pp, NI_L_HIP, "mHipLeft"); 00039 pp = add_bvh_name(pp, NI_L_KNEE, "mKneeLeft"); 00040 pp = add_bvh_name(pp, NI_L_ANKLE, "mAnkleLeft"); 00041 pp = add_bvh_name(pp, NI_L_FOOT, "mFootLeft"); 00042 pp = add_bvh_name(pp, NI_L_TOE, "mToeLeft"); 00043 pp = add_bvh_name(pp, NI_R_HIP, "mHipRight"); 00044 pp = add_bvh_name(pp, NI_R_KNEE, "mKneeRight"); 00045 pp = add_bvh_name(pp, NI_R_ANKLE, "mAnkleRight"); 00046 pp = add_bvh_name(pp, NI_R_FOOT, "mFootRight"); 00047 pp = add_bvh_name(pp, NI_R_TOE, "mToeRight"); 00048 00049 // 00050 pp = add_bvh_name(pp, NI_PELVIS, "avatar_mPelvis"); 00051 pp = add_bvh_name(pp, NI_TORSO, "avatar_mTorso"); 00052 pp = add_bvh_name(pp, NI_CHEST, "avatar_mChest"); 00053 pp = add_bvh_name(pp, NI_NECK, "avatar_mNeck"); 00054 pp = add_bvh_name(pp, NI_HEAD, "avatar_mHead"); 00055 pp = add_bvh_name(pp, NI_SKULL, "avatar_mSkull"); 00056 pp = add_bvh_name(pp, NI_L_EYE, "avatar_mEyeLeft"); 00057 pp = add_bvh_name(pp, NI_R_EYE, "avatar_mEyeRight"); 00058 pp = add_bvh_name(pp, NI_L_COLLAR, "avatar_mCollarLeft"); 00059 pp = add_bvh_name(pp, NI_L_SHLDR, "avatar_mShoulderLeft"); 00060 pp = add_bvh_name(pp, NI_L_ELBOW, "avatar_mElbowLeft"); 00061 pp = add_bvh_name(pp, NI_L_WRIST, "avatar_mWristLeft"); 00062 pp = add_bvh_name(pp, NI_R_COLLAR, "avatar_mCollarRight"); 00063 pp = add_bvh_name(pp, NI_R_SHLDR, "avatar_mShoulderRight"); 00064 pp = add_bvh_name(pp, NI_R_ELBOW, "avatar_mElbowRight"); 00065 pp = add_bvh_name(pp, NI_R_WRIST, "avatar_mWristRight"); 00066 pp = add_bvh_name(pp, NI_L_HIP, "avatar_mHipLeft"); 00067 pp = add_bvh_name(pp, NI_L_KNEE, "avatar_mKneeLeft"); 00068 pp = add_bvh_name(pp, NI_L_ANKLE, "avatar_mAnkleLeft"); 00069 pp = add_bvh_name(pp, NI_L_FOOT, "avatar_mFootLeft"); 00070 pp = add_bvh_name(pp, NI_L_TOE, "avatar_mToeLeft"); 00071 pp = add_bvh_name(pp, NI_R_HIP, "avatar_mHipRight"); 00072 pp = add_bvh_name(pp, NI_R_KNEE, "avatar_mKneeRight"); 00073 pp = add_bvh_name(pp, NI_R_ANKLE, "avatar_mAnkleRight"); 00074 pp = add_bvh_name(pp, NI_R_FOOT, "avatar_mFootRight"); 00075 pp = add_bvh_name(pp, NI_R_TOE, "avatar_mToeRight"); 00076 00077 // QAv 00078 pp = add_bvh_name(pp, NI_PELVIS, "hip"); 00079 pp = add_bvh_name(pp, NI_TORSO, "abdomen"); 00080 pp = add_bvh_name(pp, NI_CHEST, "chest"); 00081 pp = add_bvh_name(pp, NI_NECK, "neck"); 00082 pp = add_bvh_name(pp, NI_HEAD, "head"); 00083 pp = add_bvh_name(pp, NI_L_COLLAR, "lCollar"); 00084 pp = add_bvh_name(pp, NI_L_SHLDR, "lShldr"); 00085 pp = add_bvh_name(pp, NI_L_ELBOW, "lForeArm"); 00086 pp = add_bvh_name(pp, NI_L_WRIST, "lHand"); 00087 pp = add_bvh_name(pp, NI_R_COLLAR, "rCollar"); 00088 pp = add_bvh_name(pp, NI_R_SHLDR, "rShldr"); 00089 pp = add_bvh_name(pp, NI_R_ELBOW, "rForeArm"); 00090 pp = add_bvh_name(pp, NI_R_WRIST, "rHand"); 00091 pp = add_bvh_name(pp, NI_L_HIP, "lThigh"); 00092 pp = add_bvh_name(pp, NI_L_KNEE, "lShin"); 00093 pp = add_bvh_name(pp, NI_L_FOOT, "lFoot"); 00094 pp = add_bvh_name(pp, NI_R_HIP, "rThigh"); 00095 pp = add_bvh_name(pp, NI_R_KNEE, "rShin"); 00096 pp = add_bvh_name(pp, NI_R_FOOT, "rFoot"); 00097 00098 return lt; 00099 }
bool SetExLink | ( | CExDocument * | pdoc, | |
CExFrame * | pfrm, | |||
CExView * | pview, | |||
CAppCallBack * | papp | |||
) |
Definition at line 16 of file ExClass.cpp.
References CExDocument::pApp, CExFrame::pApp, CExView::pApp, CExFrame::pDoc, CExView::pDoc, CExView::pFrame, CExDocument::pFrame, CExFrame::pView, and CExDocument::pView.
Referenced by CreateDocFrmView().
00017 { 00018 if (pdoc==NULL) return false; 00019 if (pfrm==NULL) return false; 00020 if (pviw==NULL) return false; 00021 00022 pdoc->pView = pfrm->pView = pviw; 00023 pdoc->pFrame = pviw->pFrame = pfrm; 00024 pviw->pDoc = pfrm->pDoc = pdoc; 00025 pviw->pApp = pfrm->pApp = pdoc->pApp = papp; 00026 return true; 00027 }
void setResourceLocale | ( | void | ) |
Definition at line 360 of file WinTools.cpp.
References IDS_STR_LOCALE, and LoadString_byID().
00361 { 00362 CString locale = LoadString_byID(IDS_STR_LOCALE); 00363 _tsetlocale(LC_ALL, (LPCTSTR)locale); 00364 return; 00365 }
void setSystemLocale | ( | LPCTSTR | locale = _T("") |
) |
Definition at line 369 of file WinTools.cpp.
Buffer tc2Buffer | ( | TCHAR * | tchar, | |
int | size = -1 | |||
) |
Definition at line 24 of file WinTools.cpp.
00025 { 00026 if (size<0) size = LDATA; 00027 Buffer buf = make_Buffer(size); 00028 00029 #ifdef _UNICODE 00030 size_t len; 00031 int err = wcstombs_s(&len, (char*)buf.buf, buf.bufsz, tchar, _TRUNCATE); 00032 00033 if (err!=0) clear_Buffer(&buf); 00034 else buf.vldsz = (int)Min(len-1, strlen((char*)buf.buf)); 00035 buf.state = err; 00036 00037 #else 00038 copy_s2Buffer(tchar, &buf); 00039 00040 #endif 00041 00042 return buf; 00043 }
Buffer ts2Buffer | ( | LPCTSTR | str, | |
int | size = -1 | |||
) |
Definition at line 47 of file WinTools.cpp.
Referenced by get_dir_files_t(), and ts2mbs().
00048 { 00049 if (size<0) size = (int)tcslen(str); 00050 00051 #ifdef _UNICODE 00052 Buffer buf = make_Buffer((size+1)*4); 00053 size_t len; 00054 00055 int err = wcstombs_s(&len, (char*)buf.buf, buf.bufsz, str, _TRUNCATE); 00056 if (err!=0) clear_Buffer(&buf); 00057 else buf.vldsz = (int)Min(len-1, strlen((char*)buf.buf)); 00058 buf.state = err; 00059 00060 #else 00061 Buffer buf = make_Buffer(size); 00062 copy_b2Buffer((char*)str, &buf, size); 00063 00064 #endif 00065 00066 return buf; 00067 }
char* jbxwl::ts2mbs | ( | LPCTSTR | str | ) | [inline] |
Definition at line 61 of file WinTools.h.
References ts2Buffer().
Referenced by cat_ts2Buffer(), copy_ts2Buffer(), copyFPWithCounter(), cut_file_extension_t(), get_dir_files_t(), get_file_name_t(), DLLModule::get_module_info(), GetProgramFolderA(), make_file_path_t(), CRwGRDoc::MakeViewData(), MakeWorkingFolderPath(), CLogWndFrame::OnLogCopy(), CDxSRenderView::PrepareVB(), read_index_tList_file_t(), CRwGRDoc::ReadDataFile(), CDxGraphDoc::ReadDataFile(), CNiFileTool::writeBVHFile(), and writeGraphicFileWithCounter().
00062 { 00063 Buffer buf = ts2Buffer(str); 00064 return (char*)buf.buf; 00065 }
int VMD2NiJointNum | ( | int | joint | ) |
VMDのジョイント番号から,共通ジョイントの番号を得る
Definition at line 142 of file NiVMDTool.cpp.
References _VMD2NiJointNum, and VMD_JOINT_NUM.
Referenced by CNiVMDTool::getFramesData().
00143 { 00144 if (joint<0 || joint>=VMD_JOINT_NUM) return -1; 00145 00146 return _VMD2NiJointNum[joint]; 00147 }
std::string VMDJointName | ( | int | n | ) |
std::string jbxwl::VMDJointName(int n)
VMDのジョイント番号から,MMDのジョイント名を得る
Definition at line 46 of file NiVMDTool.cpp.
References _VMDJointName, and VMD_JOINT_NUM.
00047 { 00048 std::string str = ""; 00049 00050 if (n>=0 && n<VMD_JOINT_NUM) { 00051 str = _VMDJointName[n]; 00052 } 00053 00054 return str; 00055 }
int VMDJointNum | ( | char * | name | ) |
int jbxwl::VMDJointNum(char* name)
MMDのジョイント名から,VMDのジョイント番号を得る
Definition at line 64 of file NiVMDTool.cpp.
References _VMDJointName, _VMDJointName_eng, and VMD_JOINT_NUM.
Referenced by CNiVMDTool::convert2FrameData().
00065 { 00066 for (int i=0; i<VMD_JOINT_NUM; i++) { 00067 if (!strcmp(name, _VMDJointName[i].c_str()) || !strcmp(name, _VMDJointName_eng[i].c_str())) { 00068 return i; 00069 } 00070 } 00071 return -1; 00072 }
BOOL WaitPidTerm | ( | int | tm | ) |
Definition at line 83 of file MFCTool.cpp.
00084 { 00085 DWORD pid = 0; 00086 00087 for (int i=1; i<__argc; i++) { 00088 if (!tcscmp(__targv[i], _T("/waitpid"))) { 00089 if (i+1<__argc) { 00090 pid = ttoi(__targv[i+1]); 00091 break; 00092 } 00093 } 00094 } 00095 if (pid==0) return TRUE; 00096 00097 HANDLE hdl = OpenProcess(SYNCHRONIZE, FALSE, pid); 00098 if (hdl!=NULL) { 00099 if (WaitForSingleObject(hdl, tm*1000)==WAIT_TIMEOUT) return FALSE; 00100 } 00101 00102 return TRUE; 00103 }
void WinSystem | ( | char * | command, | |
DWORD | flag, | |||
BOOL | wait | |||
) |
Definition at line 697 of file WinTools.cpp.
00698 { 00699 STARTUPINFOA sinfo; 00700 PROCESS_INFORMATION pinfo; 00701 00702 memset(&sinfo, 0, sizeof(STARTUPINFO)); 00703 sinfo.cb = sizeof(STARTUPINFO); 00704 //sinfo.wShowWindow = SW_HIDE; 00705 00706 CreateProcessA(NULL, (LPSTR)command, NULL, NULL, FALSE, flag, NULL, NULL, (LPSTARTUPINFOA)&sinfo, &pinfo); 00707 00708 CloseHandle(pinfo.hThread); 00709 if (wait) WaitForSingleObject(pinfo.hProcess, INFINITE); 00710 CloseHandle(pinfo.hProcess); 00711 00712 return; 00713 }
int writeGraphicFileWithCounter | ( | LPCTSTR | fname, | |
MSGraph< sWord > | vp, | |||
int | kind, | |||
BOOL | mlt = FALSE , |
|||
int | fn = 0 , |
|||
int | tn = 0 | |||
) |
Definition at line 131 of file MFCio.cpp.
References IDD_PROGBAR, IDS_STR_WRTNG_FILE, CProgressBarDLG::Start(), CProgressBarDLG::Stop(), and ts2mbs().
00132 { 00133 // グローバルカウンタの生成 00134 CProgressBarDLG* counter = NULL; 00135 if (vp.zs>=10) { 00136 counter = new CProgressBarDLG(IDD_PROGBAR, NULL, TRUE); // ディスパッチャー有効 00137 if (counter!=NULL) { 00138 SetGlobalCounter(counter); 00139 CString mesg; 00140 mesg.LoadString(IDS_STR_WRTNG_FILE); 00141 // 00142 char* mbstr = ts2mbs(mesg); 00143 counter->Start(0, mbstr); 00144 ::free(mbstr); 00145 } 00146 } 00147 00148 // 00149 char* mbstr = ts2mbs(fname); 00150 int ret = writeGraphicFile(mbstr, vp, frmt, mlt, fn, tn, true); 00151 ::free(mbstr); 00152 00153 // グローバルカウンタの削除 00154 if (counter!=NULL) { 00155 counter->Stop(); 00156 ClearGlobalCounter(); 00157 delete counter; 00158 } 00159 00160 return ret; 00161 }
BOOL Dx9DividePrimitiveMode = TRUE |
Definition at line 20 of file Dx9.cpp.
Referenced by Dx9DrawPrimitive().
BOOL Dx9ReverseZMode = FALSE |
Definition at line 21 of file Dx9.cpp.
Referenced by CDxSRenderView::OnInitialUpdate().
LPDIRECT3D9 GpD3D = NULL |
Definition at line 13 of file Dx9.cpp.
Referenced by Dx9CreateInterface(), Dx9ReleaseInterface(), and CDxBaseView::InitDevice().
LPDIRECTINPUT8 GpDInput = NULL |
Definition at line 14 of file Dx9.cpp.
Referenced by Dx9CreateInterface(), and Dx9ReleaseInterface().
LPDIRECTINPUTDEVICE8 GpDKeyBoard = NULL |
Definition at line 17 of file Dx9.cpp.
Referenced by Dx9CreateInterface(), Dx9ReleaseInterface(), and CDxBaseView::InitDevice().
LPDIRECTINPUTDEVICE8 GpDMouse = NULL |
Definition at line 16 of file Dx9.cpp.
Referenced by Dx9CreateInterface(), Dx9ReleaseInterface(), and CDxBaseView::InitDevice().
Definition at line 18 of file ReadFilesDLG.cpp.
Referenced by CReadFilesDLG::OnSetHead(), and CRwGRDoc::ReadDataFile().
UINT TimerID = 1 |
Definition at line 19 of file ExView.cpp.
Referenced by CExView::TimerStart().
const WORD WinAudioToolBitsPerSample = 16 [static] |
Definition at line 33 of file WinAudioTool.h.
Referenced by CWinAudioTool::getAudioFormat().
const WORD WinAudioToolChannels = 1 [static] |
Definition at line 31 of file WinAudioTool.h.
Referenced by CWinAudioTool::getAudioFormat().
const WORD WinAudioToolFormat = WAVE_FORMAT_PCM [static] |
Definition at line 30 of file WinAudioTool.h.
Referenced by CWinAudioTool::getAudioFormat().
const DWORD WinAudioToolSamplesPerSec = 16000 [static] |
Definition at line 32 of file WinAudioTool.h.
Referenced by CWinAudioTool::getAudioFormat().