SDC C-Project CF Review 프로그램
LYW
2021-11-09 9ad2aa59da822e9d30c5e0cd677025fe6e12df95
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#pragma once
#include "CHPathScheduler/PathScheduler.h"
class AFX_EXT_CLASS CPathScheduler_Quad_Sorting : public CPathScheduler
{
public:
    CPathScheduler_Quad_Sorting(void);
    virtual ~CPathScheduler_Quad_Sorting(void);
 
    virtual int    GetSchedulerType() const    { return SchedulerType_Quad_Sorting; }
    virtual int    PathScheduling(const VectorPathData& vecPathData, const VectorPathData& vecStartPath);
 
protected:
    int CalculateRangeRect(int nGantryCount, int nModuleCount, int nScanCount, int nGlassSizeX, int nGlassSizeY, int nScanMargin, int nOriginDir, int nBaseDir, VectorRangeData& vecRangeData);
    int CalculatePath(int nModuleIdx, int nScanIdx, const SPathData& startPath, const VectorPathData& vecTotalPathData, const SRangeData& rtRange, CPathSchedulerResult& scheduleResult);
 
    virtual int        CalculatePath(const SPathData& startPath, const VectorPathData& vecFirstPathData, const VectorPathData& vecSecondPathData, CPathSchedulerResult& scheduleResult)    { return 1; }
 
    SRangeData* GetScanRangeData( int nModuleIdx, int nScanIdx );
    const SRangeData* GetScanRangeData( int nModuleIdx, int nScanIdx ) const;
 
    int    GetGantryIndex(int nModuleIdx);
 
    static int GetDirectionX(int nDir1, int nDir2);
    static int GetDirectionY(int nDir1, int nDir2);
    static int IsChangeModuleIndex(int nDir1, int nDir2);
    static int IsChangeScanIndex(int nDir1, int nDir2);
    static int IsChangeScanDir(int nDir1, int nDir2);
    static int GetChangeModuleIndex(int nModuleIndex, int nOriginDir, int nBaseDir, int nGantryModuleCount, int nTotalModuleCount);
    static int GetChangeScanIndex(int nScanIndex, int nTotalScanCount);
    static int GetChangeScanDir(int nScanDir);
 
 
protected:
    VectorRangeData    m_vecScanRangeData;
 
};