X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2F3d%2Fallocation.h;fp=source%2F3d%2Fallocation.h;h=87ea3096be28c6fe19faea8aa02647d30fce5941;hb=5116fff210cdc3f0fbdae13046cc60450aad5e8f;hp=0000000000000000000000000000000000000000;hpb=7fac28fcb5afb17eff7c459474e4cf884a02719c;p=r2c2.git diff --git a/source/3d/allocation.h b/source/3d/allocation.h new file mode 100644 index 0000000..87ea309 --- /dev/null +++ b/source/3d/allocation.h @@ -0,0 +1,35 @@ +#ifndef R2C2_3D_ALLOCATION_H_ +#define R2C2_3D_ALLOCATION_H_ + +#include +#include "libr2c2/train.h" +#include "utility.h" + +namespace R2C2 { + +class Layout3D; +class Path3D; + +class Allocation3D: public Utility3D, public sigc::trackable +{ +private: + typedef std::list PathList; + typedef std::map PathMap; + + Train &train; + Msp::GL::Color color; + PathMap paths; + +public: + Allocation3D(Layout3D &, Train &); + + void set_color(const Msp::GL::Color &); + +private: + void block_reserved(Block &, Train *); + void train_advanced(Block &); +}; + +} // namespace R2C2 + +#endif