Go to the documentation of this file.00001 #ifndef __AIRSCHED_CMD_SEGMENTPATHGENERATOR_HPP
00002 #define __AIRSCHED_CMD_SEGMENTPATHGENERATOR_HPP
00003
00004
00005
00006
00007
00008 #include <vector>
00009
00010 #include <stdair/stdair_basic_types.hpp>
00011 #include <stdair/command/CmdAbstract.hpp>
00012
00013 #include <airsched/AIRSCHED_Types.hpp>
00014
00016 namespace stdair {
00017 class BomRoot;
00018 class Inventory;
00019 class FlightPeriod;
00020 class SegmentPeriod;
00021 }
00022
00023 namespace AIRSCHED {
00024
00026 class ReachableUniverse;
00027 class OriginDestinationSet;
00028 class SegmentPathPeriod;
00029
00030
00034 class SegmentPathGenerator : public stdair::CmdAbstract {
00035 public:
00039 static void createSegmentPathNetwork (const stdair::BomRoot&);
00040
00041 private:
00046 static void createSinglePaths (const stdair::Inventory&);
00047 static void createSinglePaths (const stdair::FlightPeriod&);
00048
00053 static void createSinglePath (stdair::SegmentPeriod&);
00054 static void createSinglePath (ReachableUniverse&, stdair::SegmentPeriod&);
00055
00059 static void buildSegmentPathNetwork (const stdair::BomRoot&,
00060 const stdair::NbOfSegments_T&);
00061 static void buildSegmentPathNetwork (ReachableUniverse&,
00062 const stdair::NbOfSegments_T&);
00063
00067 static void addSegmentPathPeriod (ReachableUniverse&,
00068 const SegmentPathPeriod&);
00069 };
00070
00071 }
00072 #endif // __AIRSCHED_CMD_SEGMENTPATHGENERATOR_HPP