- Main Page
- Namespaces
- Classes
- Files
- Related Pages

# /Users/fpy/titan-1-5-MBARI/Mers/Planning/Reactive/CCA/CCATransitionDependency/CCATransitionDependency.h

    00001
    00017 #ifndef __CCATRANSITIONDEPENDENCY__
    00018 #define __CCATRANSITIONDEPENDENCY__
    00019
    00020 #ifdef _MSC_VER
    00021 #pragma warning(disable : 4786)
    00022 #endif
    00023
    00024 #include <Mers/Models/CCA/CCAModel.h>
    00025 #include <Mers/Utils/Containers/ObjectArray.h>
    00026
    00027 class CCATransitionDependency
    00028 {
    00029 public:
    00030         //-----------------------------------------------------------------------------------
    00031         // Friends
    00032         //-----------------------------------------------------------------------------------
    00033
    00041         //-----------------------------------------------------------------------------------
    00042         // Constructors, Copy Constructors, & Destructors
    00043         //-----------------------------------------------------------------------------------
    00044
    00050         CCATransitionDependency(CCAModel &model);
    00051
    00057         ~CCATransitionDependency();
    00058
    00059         void computeDependencyOrder();
    00060
    00061         void computeSCC(CCAAutomaton *automaton);
    00062
    00063 private:
    00067         CCATransitionDependency();
    00068
    00069         void                    pushInAutomataStack(CCAAutomaton *automaton);
    00070         CCAAutomaton    *popFromAutomataStack();
    00071
    00073         CCAModel                &mdl;
    00075         CCAAutomata             &atmta;
    00076
    00078         int                             numOfAtmt;
    00080         int                             *dpth;
    00082         int                             crrntDpth;
    00084         int                             *lwlnk;
    00086         int                             *rt;
    00088         ObjectArray             atmtaStck;
    00090         bool                    *inAtmtaStck;
    00092         int                             *tplgclOrdr;
    00094         int                             crrntTplgclOrdr;
    00095 };
    00096
    00097 #endif