#pragma once #include "CHImageControls/CHImageData.h" typedef std::vector VectorImageData; typedef std::vector::iterator VectorImageDataIt; class CCameraImageData { public: CCameraImageData(void) { Reset(); } virtual ~CCameraImageData(void) { Reset(); } void Reset() { for (VectorImageDataIt it=m_vecImageData.begin(); it!=m_vecImageData.end(); it++) { CCHImageData *pImageData = static_cast(*it); pImageData->ReleaseImage(); delete pImageData; } m_vecImageData.clear(); } void Reserve(int nCount) { m_vecImageData.reserve(nCount); } void ClearImageAll() { for (VectorImageDataIt it=m_vecImageData.begin(); it!=m_vecImageData.end(); it++) { (*it)->ClearImage(0); } } void ClearImage(int nIndex) { if (nIndex<0 || nIndex>(int)m_vecImageData.size()-1) return; m_vecImageData[nIndex]->ClearImage(0); } int GetImageCount() { return (int) m_vecImageData.size(); } void AddImageData(CCHImageData *pImageData) { m_vecImageData.push_back(pImageData); } CCHImageData* GetImageData(int nIndex) { if (nIndex<0 || nIndex>(int)m_vecImageData.size()-1) return NULL; return m_vecImageData[nIndex]; } protected: VectorImageData m_vecImageData; }; typedef std::vector VectorCameraImageData; typedef std::vector::iterator VectorCameraImageDataIt;