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++
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();
|
|
|