// PageSectorMesh.cpp : implementation file // #include "stdafx.h" #include "worldcreator.h" #include "PageSectorMesh.h" #include "SceneManager.h" #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif ///////////////////////////////////////////////////////////////////////////// // CPageSectorMesh property page IMPLEMENT_DYNCREATE(CPageSectorMesh, CPropertyPage) CPageSectorMesh::CPageSectorMesh() : CPropertyPage(CPageSectorMesh::IDD) { //{{AFX_DATA_INIT(CPageSectorMesh) // NOTE: the ClassWizard will add member initialization here //}}AFX_DATA_INIT } CPageSectorMesh::~CPageSectorMesh() { } void CPageSectorMesh::DoDataExchange(CDataExchange* pDX) { CPropertyPage::DoDataExchange(pDX); //{{AFX_DATA_MAP(CPageSectorMesh) DDX_Control(pDX, IDC_LIST_SECTORMESH, m_R3SInfoList); //}}AFX_DATA_MAP } BEGIN_MESSAGE_MAP(CPageSectorMesh, CPropertyPage) //{{AFX_MSG_MAP(CPageSectorMesh) ON_BN_CLICKED(IDC_BUTTON_VIEWTEXTURE, OnButtonViewtexture) ON_BN_CLICKED(IDC_BUTTON_TEXTURECOPY, OnButtonTexturecopy) //}}AFX_MSG_MAP END_MESSAGE_MAP() ///////////////////////////////////////////////////////////////////////////// // CPageSectorMesh message handlers BOOL CPageSectorMesh::OnInitDialog() { CPropertyPage::OnInitDialog(); // TODO: Add extra initialization here DWORD dwStyle; dwStyle=m_R3SInfoList.SendMessage(LVM_GETEXTENDEDLISTVIEWSTYLE, 0 ,0); dwStyle |= LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES ; m_R3SInfoList.SendMessage( LVM_SETEXTENDEDLISTVIEWSTYLE, 0,dwStyle ); m_R3SInfoList.InsertColumn(0,"R3SÀ̸§",LVCFMT_LEFT,140); m_R3SInfoList.InsertColumn(1,"TextureÀ̸§",LVCFMT_LEFT,300); return TRUE; // return TRUE unless you set the focus to a control // EXCEPTION: OCX Property Pages should return FALSE } void CPageSectorMesh::OnButtonViewtexture() { // TODO: Add your control notification handler code here m_R3SInfoList.DeleteAllItems(); m_nCount=0; if(CSceneManager::m_PickHouseScene && CSceneManager::m_PickObjectScene==NULL) { if(CSceneManager::m_PickHouseScene->m_HouseObject->m_pOutHouseObject) ListMeshTexturePrint(CSceneManager::m_PickHouseScene->m_HouseObject->m_pOutHouseObject); if(CSceneManager::m_PickHouseScene->m_HouseObject->m_pMedHouseObject) ListMeshTexturePrint(CSceneManager::m_PickHouseScene->m_HouseObject->m_pMedHouseObject); if(CSceneManager::m_PickHouseScene->m_HouseObject->m_pInHouseObject) ListMeshTexturePrint(CSceneManager::m_PickHouseScene->m_HouseObject->m_pInHouseObject); if(CSceneManager::m_PickHouseScene->m_HouseObject->m_pLodHouseObject) ListMeshTexturePrint(CSceneManager::m_PickHouseScene->m_HouseObject->m_pLodHouseObject); } else if(CSceneManager::m_PickObjectScene) { ListMeshTexturePrint(CSceneManager::m_PickObjectScene->m_pObject); } } void CPageSectorMesh::ListMeshTexturePrint(CMeshObject *pMesh) { for(int i=0;im_pMat.num;i++) { m_R3SInfoList.InsertItem(m_nCount,pMesh->m_strMeshName); m_R3SInfoList.SetItemText(m_nCount,1,pMesh->m_pMat[i]->m_strName); m_nCount++; } } void CPageSectorMesh::OnButtonTexturecopy() { // TODO: Add your control notification handler code here if(CSceneManager::m_PickHouseScene && CSceneManager::m_PickObjectScene==NULL) { if(CSceneManager::m_PickHouseScene->m_HouseObject->m_pOutHouseObject) CopyTextureFile(CSceneManager::m_PickHouseScene->m_HouseObject->m_pOutHouseObject); if(CSceneManager::m_PickHouseScene->m_HouseObject->m_pMedHouseObject) CopyTextureFile(CSceneManager::m_PickHouseScene->m_HouseObject->m_pMedHouseObject); if(CSceneManager::m_PickHouseScene->m_HouseObject->m_pInHouseObject) CopyTextureFile(CSceneManager::m_PickHouseScene->m_HouseObject->m_pInHouseObject); if(CSceneManager::m_PickHouseScene->m_HouseObject->m_pLodHouseObject) CopyTextureFile(CSceneManager::m_PickHouseScene->m_HouseObject->m_pLodHouseObject); } else if(CSceneManager::m_PickObjectScene) { CopyTextureFile(CSceneManager::m_PickObjectScene->m_pObject); } } void CPageSectorMesh::CopyTextureFile(CMeshObject *pMesh) { CString strFileSrc,strFileTar; char strTextureName[256]; for(int i=0;im_pMat.num;i++) { strcpy(strTextureName,pMesh->m_pMat[i]->m_strName); int lens=strlen(strTextureName); strTextureName[lens-1]='s'; strTextureName[lens-2]='d'; strTextureName[lens-3]='d'; strFileSrc.Format("%s\\%s",OBJECTTEXTUREPATH,strTextureName); strFileTar.Format("c:\\TextureTest\\%s",strTextureName); CopyFile(strFileSrc,strFileTar,FALSE); } }