#pragma once #define TRIANGLE_PROGRAM_PATH _T("C:\\DIT_Review\\") #define TRIANGLE_RECIPE_PATH _T("C:\\DIT_Review\\RecipeTriangle\\") #define TRIANGLE_RECIPE_INFO _T("RecipeTriangle.ini") #include "RecipeTriangle.h" class AFX_EXT_CLASS CRecipeInfo { public: CRecipeInfo() { Reset(); } ~CRecipeInfo() { Reset(); } void Reset() { strRecipeName = _T(""); strModelFile = _T(""); strRecipeFile = _T(""); strLoadFilePath = _T(""); } CString strRecipeName; CString strRecipeFile; CString strModelFile; CString strLoadFilePath; }; typedef std::vector VectorRecipeInfo; typedef std::vector::iterator VectorRecipeInfoIt; class AFX_EXT_CLASS CRecipeManager { public: CRecipeManager(); CRecipeManager(const CString& strFilename); ~CRecipeManager(void); void Reset() { m_strRecipePath = _T(""); m_strRecipeInfoFile = TRIANGLE_RECIPE_INFO; m_vectorRecipeInfo.clear(); m_vectorRecipeTriangle.clear(); } BOOL ReadRecipeInfo(const CString& strFilename); BOOL WriteRecipeInfo(const CString& strFilename); // getter UINT GetRecipeInfoCount() { return (UINT)m_vectorRecipeInfo.size(); } VectorRecipeInfo* GetRecipeInfo() { return &m_vectorRecipeInfo; } CRecipeInfo* GetRecipeInfo(UINT nIndex) { return (nIndex>=m_vectorRecipeInfo.size()) ? NULL: &m_vectorRecipeInfo[nIndex]; } UINT GetRecipeTriangleCount() { return (UINT)m_vectorRecipeTriangle.size(); } VectorRecipeTriangle* GetRecipeTriangle() { return &m_vectorRecipeTriangle; } CRecipeTriangle* GetRecipeTriangle(UINT nIndex) { return (nIndex>=m_vectorRecipeTriangle.size()) ? NULL: &m_vectorRecipeTriangle[nIndex]; } // adder void AddRecipe(const CRecipeInfo& recipeInfo, const CRecipeTriangle& recipeTrianlge); // delete void DeleteRecipe(UINT nIndex); // setter void SetRecipeInfoCount(UINT nCount) { m_vectorRecipeInfo.resize(nCount); m_vectorRecipeInfo.resize(nCount); } void SetRecipeInfo(const VectorRecipeInfo& vectorRecipeInfo) { m_vectorRecipeInfo = vectorRecipeInfo; } BOOL SetRecipeInfo(UINT nIndex, const CRecipeInfo& recipeInfo); private: CString m_strRecipePath; CString m_strRecipeInfoFile; VectorRecipeInfo m_vectorRecipeInfo; VectorRecipeTriangle m_vectorRecipeTriangle; };