You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

45 lines
1.2 KiB
C++

/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//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<CPtrArray,CSegmentMemory*> m_segmentarray;
//Operations
public:
void DeleteSegment(CGDFSegment* pSegment);
void DeleteSegment(CTypedPtrArray<CPtrArray,CGDFSegment*>& 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();