SDC C-Project CF Review 프로그램
LYW
2021-07-27 281a73558e8d437fc778b390281560fa2e7a0e5e
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
#pragma once
#include "CHPathScheduler/PathScheduler.h"
 
class AFX_EXT_CLASS CPathScheduler_Quad_Active_Sorting : public CPathScheduler
{
public:
    CPathScheduler_Quad_Active_Sorting(void);
    virtual ~CPathScheduler_Quad_Active_Sorting(void);
 
    virtual int    GetSchedulerType() const    { return SchedulerType_Qual_Active_Sorting; }
    virtual int    PathScheduling(const VectorPathData& vecPathData, const VectorPathData& vecStartPath);
 
protected:
    int CalculateRangeRect(int nGantryCount, int nModuleCount, int nGlassSizeX, int nGlassSizeY, int nDistX, int nDistY, int nOriginDir, int nBaseDir, const VectorPathData& vecPathData, 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;
};