void CImportDlg::AddNifEntry(const NifEntryArray& array) { int entrySize = m_entries.GetSize(); int size = array.GetSize(); for (int i = 0; i < size; ++i) { NifEntry entry = array[i]; entry.Name.TrimLeft(); entry.Name.TrimRight(); entry.DeviceId.TrimLeft(); entry.DeviceId.TrimRight(); entry.DeviceId.Remove(_T('-')); entry.DeviceId.Remove(_T(' ')); entry.DeviceId.Remove(_T(':')); entry.WriteKey.TrimLeft(); entry.WriteKey.TrimRight(); if (-1 == m_entries.Find(entry)) { if (!m_entries.Add(entry)) { ATLTRACE("m_entries.Add failed\n"); continue; } int nItem = m_wndListView.AddItem(entrySize, 0, entry.Name); ATLASSERT(nItem == entrySize); m_wndListView.AddItem(entrySize, 1, _T("")); m_wndListView.SetCheckState(entrySize, TRUE); _UpdateView(nItem, entry); ++entrySize; } } }
void CRenderPipeline::SetView( const CMatrix& View ) { m_CurView = View; m_CurViewProj = m_CurView * m_CurProj; SetVertexShaderF(ACT_PROJECTION_MATRIX,(float*)&m_CurProj,16); _UpdateView(); }
void CImportDlg::_UpdateView() { ndas::UpdateDeviceList(); int size = m_entries.GetSize(); for (int i = 0; i < size; ++i) { _UpdateView(i, m_entries[i]); } }
void CRenderPipeline::SetCamera(CCamera* pCamera) { AstMsg(pCamera, "摄像机必须有"); m_CurProj = pCamera->getProjectionMatrix(); m_CurView = pCamera->getViewMatrix() ; m_CurViewProj = m_CurView * m_CurProj; SetVertexShaderF(ACT_CAMERA_POSITION,&pCamera->GetPosition(),1); SetVertexShaderF(ACT_PROJECTION_MATRIX,(float*)&m_CurProj,16); _UpdateView(); }
//----------------------------------------------------------------------- void Frustum::_UpdateFrustumPlanes(void) { _UpdateView(); _UpdateProj(); if(m_frustumPlanesChanged) { _UpdateFrustumPlanesImpl(); m_frustumPlanesChanged = false; } }
//----------------------------------------------------------------------- Matrix4f Camera::GetProjViewMatrix(void) { if(MoveableObject::IsMovded()) { m_viewChanged = true; } _UpdateProj(); _UpdateView(); return m_projMatrix * m_viewMatrix; }
void CImportDlg::OnCmdRegister(UINT, int, HWND) { int count = m_wndListView.GetItemCount(); bool success = true; for (int i = 0; i < count && success; ++i) { #ifdef _DEBUG CString str; m_wndListView.GetItemText(i, 0, str.GetBuffer(50), 50); ATLTRACE("%d:LV=%ws, ENTRY=%ws\n", i, str, static_cast<LPCTSTR>(m_entries[i].Name)); #endif if (m_wndListView.GetCheckState(i)) { ATLASSERT(i < m_entries.GetSize()); success = _ProcessRegistration(m_entries[i]); } } _UpdateView(); }