///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// //SegmentFactory.h #pragma once #include "Segment.h" class CPointSeriesManager; class CPointSeries; #define SEGMENT_MEMORYSIZE 1024 class CSegmentMemory { public: CSegmentMemory(); ~CSegmentMemory(); CGDFSegment m_segmentarray[SEGMENT_MEMORYSIZE]; BYTE m_flag[SEGMENT_MEMORYSIZE]; DWORD m_dwCount; CGDFSegment* NewSegment(); BOOL DeleteSegment(CGDFSegment* pSegment); }; class CSegmentCreator { public: CSegmentCreator(); ~CSegmentCreator(); //Attributes private: CTypedPtrArray m_segmentarray; //Operations public: void DeleteSegment(CGDFSegment* pSegment); void DeleteSegment(CTypedPtrArray& segmentarray); CGDFSegment* NewSegment(); CGDFSegment* NewSegment(CPointSeriesManager* pSeriesManager,CPointSeries* pSeries=NULL,int index0=-1,int index1=-1,FACIESSEGMENTDIRECTION direction=segmentforward); CGDFSegment* NewSegment(CPointSeriesManager* pSeriesManager,POINTSERIESID id,int index0=-1,int index1=-1,FACIESSEGMENTDIRECTION direction=segmentforward); }; extern "C" AFX_EXT_API CSegmentCreator* WINAPI AfxGetSegmentCreator();