jbxwl Namespace Reference

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)
CMessageBoxDLGMessageBoxDLG (int ttl, int msg, CWnd *wnd=NULL)
CMessageBoxDLGMessageBoxDLG (LPCTSTR ttl, int msg, CWnd *wnd=NULL)
CMessageBoxDLGMessageBoxDLG (int ttl, LPCTSTR msg, CWnd *wnd=NULL)
CMessageBoxDLGMessageBoxDLG (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)
CExFrameCreateDocFrmView (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)
CLogWndFrameExecLogWnd (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)
NiFrameDatamakeFramesData (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

Detailed Description

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() (クライアント領域でのマウスの座標) デフォルトで最大化ボックスは無効である.

CExToolBar

ウィンドウのリサイズ時,移動時のちらつき防止効果付きツールバー

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 Documentation

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.


Enumeration Type Documentation

enum NiSDK_Lib
Enumerator:
NiSDK_Default 
NiSDK_None 
NiSDK_Kinect 
NiSDK_OpenNI 
NiSDK_OpenNI2 

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 };

Enumerator:
SENDKEY_TapAction 
SENDKEY_DownAction 
SENDKEY_UpAction 

Definition at line 118 of file WinTools.h.

00119 {
00120     SENDKEY_TapAction,
00121     SENDKEY_DownAction,
00122     SENDKEY_UpAction
00123 };


Function Documentation

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 }

Here is the call graph for this function:

Here is the caller graph for this function:

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 }

Here is the caller graph for this function:

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 }

Here is the call graph for this function:

Here is the caller graph for this function:

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 }

Here is the call graph for this function:

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 }

Here is the call graph for this function:

Here is the caller graph for this function:

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 }

Here is the call graph for this function:

Here is the caller graph for this function:

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 }

Here is the call graph for this function:

Here is the caller graph for this function:

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 }

Here is the call graph for this function:

void jbxwl::deleteNull ( T *&  ptr  )  [inline]

Definition at line 222 of file WinTools.h.

Referenced by CreateDocFrmView(), CWinAudioTool::free(), and CDxSRenderView::PrepareVB().

00223 {
00224     if (!jbxl::isNull(ptr)) {
00225         delete ptr;
00226         ptr = NULL;
00227     }
00228 }

Here is the caller graph for this function:

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 }

Here is the call graph for this function:

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 }

Here is the caller graph for this function:

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 }

Here is the call graph for this function:

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 }

Here is the caller graph for this function:

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 }

Here is the caller graph for this function:

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 }

Here is the caller graph for this function:

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 }

Here is the call graph for this function:

Here is the caller graph for this function:

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 }

Here is the caller graph for this function:

void Dx9ReleaseInterface (  ) 

Definition at line 75 of file Dx9.cpp.

References DXRELEASE, GpD3D, GpDInput, GpDKeyBoard, and GpDMouse.

00076 {
00077     DXRELEASE(GpDMouse);
00078     DXRELEASE(GpDKeyBoard);
00079     DXRELEASE(GpDInput);
00080     DXRELEASE(GpD3D);
00081 }

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 }

Here is the caller graph for this function:

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 }

Here is the call graph for this function:

Here is the caller graph for this function:

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 }

Here is the caller graph for this function:

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 }

Here is the caller graph for this function:

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 }

Here is the call graph for this function:

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 }

Here is the caller graph for this function:

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 }

Here is the caller graph for this function:

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 }

Here is the caller graph for this function:

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 }

Here is the caller graph for this function:

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 }

Here is the caller graph for this function:

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 }

Here is the call graph for this function:

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 }

Here is the caller graph for this function:

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 }

Here is the call graph for this function:

Here is the caller graph for this function:

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 }

Here is the caller graph for this function:

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 }

Here is the call graph for this function:

int ExecTemplate ( CMultiDocTemplate *  ptemp,
ExMSGraph< sWord > *  pmsGraph = NULL,
ExCmnHead *  pcmnHead = NULL,
CExFrame prntFrm = NULL,
int  viewPoint = 0 
)

int jbxwl::ExecTemplate(CMultiDocTemplate* ptemp, ExMSGraph<sWord>* pmsGraph, ExCmnHead* pcmnHead, CExFrame* prntFrm, int viewPoint)

テンプレートを起動する.

渡すデータに対してメモリ管理機能あり. メモリ管理していないデータを渡した場合は,クリアされる.

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 }

Here is the call graph for this function:

Here is the caller graph for this function:

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 }

Here is the caller graph for this function:

unsigned long int file_size_t ( LPCTSTR  fn  ) 

Definition at line 164 of file WinTools.cpp.

Referenced by copyFileWithCounter().

00165 {                                     
00166     struct _stat stbuf;                                                                                                    
00167     _tstat(fn, &stbuf);
00168     return stbuf.st_size;
00169 }

Here is the caller graph for this function:

void freeFramesData ( NiFrameData frmdata,
int  frm_num 
)

NiFrameData* jbxwl::makeFramesData(int frame, int jnum)

フレームデータの格納先メモリ(ジョイント数固定)を作成,初期化.
フレーム毎のジョイント数,フレーム間隔が一定

Parameters:
frame フレームの数
joint_num ジョイントの数
Returns:
フレームデータを格納するデータ領域へのポインタ

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 }

Here is the caller graph for this function:

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(&lt);
00309 
00310     return lp;
00311 }

Here is the call graph for this function:

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 }

Here is the call graph for this function:

Here is the caller graph for this function:

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 }

Here is the call graph for this function:

Here is the caller graph for this function:

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 }

Here is the call graph for this function:

CString GetCurrentFolder ( void   ) 

Definition at line 478 of file WinTools.cpp.

00479 {
00480     TCHAR   dirn[LMESG];
00481 
00482     GetCurrentDirectoryW(LMESG, dirn);
00483 
00484     CString folder = dirn;
00485     return folder;
00486 }

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 }

Here is the caller graph for this function:

CString GetDefaultUserHomeFolder ( void   ) 

Definition at line 410 of file WinTools.cpp.

00411 {
00412     DWORD  size = (DWORD)LMESG;
00413     TCHAR  dirn[LMESG];
00414     CString ret = _T("");
00415 
00416     BOOL rslt = GetDefaultUserProfileDirectory(dirn, &size);    
00417     if (rslt && size<=LMESG) ret = dirn;
00418     return ret;
00419 }

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 }

Here is the caller graph for this function:

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 }

Here is the call graph for this function:

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 }

Here is the caller graph for this function:

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 }

Here is the caller graph for this function:

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 }

Here is the caller graph for this function:

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 }

Here is the call graph for this function:

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 }

Here is the call graph for this function:

Here is the caller graph for this function:

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 }

Here is the caller graph for this function:

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 }

Here is the call graph for this function:

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 }

Here is the call graph for this function:

Here is the caller graph for this function:

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().

00159 {
00160     CString mesg;
00161     mesg.LoadString(id);
00162     return mesg;
00163 }

Here is the caller graph for this function:

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 }

Here is the call graph for this function:

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 }

Here is the caller graph for this function:

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 }

Here is the caller graph for this function:

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 }

Here is the caller graph for this function:

NiFrameData * makeFramesData ( int  frame,
int  jnum,
int *  frame_num 
)

NiFrameData* jbxwl::makeVarFrameData(int frame, int* joint_num, int* frame_num)

フレームデータの格納先メモリ(フレーム毎のジョイント数とフレーム間隔が可変)を作成,初期化.

Parameters:
frame フレームの数
joint_num ジョイント数
frame_num フレームの番号(時間)の入った配列.NULLならフレーム間隔一定.
Returns:
フレームデータを格納するデータ領域へのポインタ

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 }

Here is the call graph for this function:

Here is the caller graph for this function:

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 }

Here is the call graph for this function:

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 }

Here is the caller graph for this function:

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 }

Here is the call graph for this function:

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 }

Here is the call graph for this function:

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 }

Here is the call graph for this function:

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 }

Here is the call graph for this function:

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 }

Here is the call graph for this function:

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 }

Here is the call graph for this function:

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 }

Here is the call graph for this function:

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 }

Here is the call graph for this function:

Here is the caller graph for this function:

int MessageDLG ( LPCTSTR  ttl,
LPCTSTR  msg,
UINT  type,
HWND  hWnd 
)

Definition at line 799 of file WinTools.cpp.

Referenced by MessageBoxDLG().

00800 {
00801     int ret = ::MessageBox(hWnd, msg, ttl, type);
00802     return ret;
00803 }

Here is the caller graph for this function:

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 }

Here is the caller graph for this function:

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 }

Here is the caller graph for this function:

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 }

Here is the call graph for this function:

Here is the caller graph for this function:

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 }

Here is the call graph for this function:

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 }

Here is the caller graph for this function:

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 }

Here is the caller graph for this function:

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 }

Here is the caller graph for this function:

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 }

Here is the caller graph for this function:

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 }

Here is the caller graph for this function:

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 }

Here is the caller graph for this function:

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 }

Here is the call graph for this function:

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 }

Here is the call graph for this function:

void jbxwl::releaseNull ( T *&  ptr  )  [inline]

Definition at line 212 of file WinTools.h.

Referenced by CWinAudioTool::free().

00213 {
00214     if (!jbxl::isNull(ptr)) {
00215         ptr->Release();
00216         ptr = NULL;
00217     }
00218 }

Here is the caller graph for this function:

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 }

Here is the call graph for this function:

Here is the caller graph for this function:

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 }

Here is the caller graph for this function:

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().

Here is the call graph for this function:

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 }

Here is the call graph for this function:

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().

Here is the call graph for this function:

Here is the caller graph for this function:

void jbxwl::SendKeyActionTapAlt ( WORD  key  )  [inline]

Definition at line 133 of file WinTools.h.

References SendKeyActionTap().

Referenced by DoSystemKeyAction().

00133 { SendKeyActionTap(VK_LMENU,    key);}

Here is the call graph for this function:

Here is the caller graph for this function:

void jbxwl::SendKeyActionTapCtrl ( WORD  key  )  [inline]

Definition at line 135 of file WinTools.h.

References SendKeyActionTap().

Referenced by DoSystemKeyAction().

00135 { SendKeyActionTap(VK_LCONTROL, key);}

Here is the call graph for this function:

Here is the caller graph for this function:

void jbxwl::SendKeyActionTapShift ( WORD  key  )  [inline]

Definition at line 134 of file WinTools.h.

References SendKeyActionTap().

00134 { SendKeyActionTap(VK_LSHIFT,   key);}

Here is the call graph for this function:

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 }

Here is the caller graph for this function:

tList * setBVHJointName ( void   ) 
See also:
llfloatermodelpreview.cpp

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 }

Here is the call graph for this function:

Here is the caller graph for this function:

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 }

Here is the caller graph for this function:

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 }

Here is the call graph for this function:

void setSystemLocale ( LPCTSTR  locale = _T("")  ) 

Definition at line 369 of file WinTools.cpp.

00370 {
00371     _tsetlocale(LC_ALL, locale);
00372     return;
00373 }

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 }

Here is the caller graph for this function:

char* jbxwl::ts2mbs ( LPCTSTR  str  )  [inline]
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 }

Here is the caller graph for this function:

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 }

Here is the caller graph for this function:

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 }

Here is the call graph for this function:


Variable Documentation

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().


Generated on 15 Nov 2023 for JunkBox_Win_Lib by  doxygen 1.6.1