template でのキャスト
次の様なベクトルの template .
template <typename T> struct Vector3 { // ... void Normalize (void) { if (Length() > 0) { double s = 1.0f / Length() ; x *= s; y *= s; z *= s; } } // ... T x ; T y ; T z ; } ;
double の時は問題ないが,float だとワーニング.
T(value) として対応.
double s = 1.0f / Length() ; x = T(x*s) ; y = T(y*s) ; z = T(z*s) ;
システムメニューに項目の追加
あまり使用しないので,メモ.
「ダイアログベース」の AP に「設定」メニューの追加.
コードのサンプルなどは以下の所や,CXxxDlg::OnInitDialog .
MSDN CWnd::GetSystemMenu
IDS_… と IDM_… のリソースを追加.
pSysMenu->AppendMenu(MF_SEPARATOR); pSysMenu->AppendMenu(MF_STRING, IDM_SETTING, _T("設定(&S)...")) ;
IDM_… の値は 0x0020 など.
メニューの「編集」-「リソース シンボル」で表示されるダイアログで追加する.
CXxxxDlg::OnSysCommand でイベントを受け取る.
if ((nID & 0xFFF0) == IDM_ABOUTBOX) { CAboutDlg dlgAbout; dlgAbout.DoModal(); } else if ((nID & 0xfff0) == IDM_SETTING) { OnSetting() ; } else { CDialog::OnSysCommand(nID, lParam); }
PC から SMS
PC から SMS が利用できないかと思い,調べてみた.
検索すると次の様な内容がヒットする.
Androidのメッセージ、PCブラウザからSMSの送受信が可能に
試してみたが,よくわからない.
2021/04/29
再度試すと,欲しかったものとは違う.
pgons.Material::operator=(pgons1)
d3D_PgonsA pgsa = c3d.GetPgonsA() ; { d3D_PgonsA pa_tri ; for (long index=0 ; index<pgsa.GetCount() ; index++) { d3D_Pgons1 pgns1 = pgsa[index] ; d3D_Pgons1 pgons = pgns1 ; { pgons = ::Pgons_ToTriangle(pgns1) ; // pgons.SetColor (pgns1.GetColor ()) ; // pgons.SetTexture(pgns1.GetTexture()) ; // pgons.SetName (pgns1.GetName ()) ; pgons.Material::operator=(pgns1) ; } pa_tri.Add(pgons) ; } pgsa = pa_tri ; }