#ifndef MODEL__UFO__UFO_Color_Functions_H #define MODEL__UFO__UFO_Color_Functions_H #include "MODEL/Main/Color_Function.H" using namespace MODEL; namespace UFO{ class UFO_Color_Function : public Color_Function { public: UFO_Color_Function(cf::code _type, int _partarg0 = -1, int _partarg1 = -1, int _partarg2 = -1, Color_Function* n=NULL) : Color_Function(_type, _partarg0,_partarg1,_partarg2, n) {}; UFO_Color_Function operator *(const UFO_Color_Function & other) const; void SetParticleArg(int a, int b,int c=-1); void SetStringArg(char a, char b, char c='?'); void SetNext(UFO_Color_Function* next); }; class UFO_CF : public UFO_Color_Function { public: UFO_CF(const std::string &s): UFO_Color_Function(cf::UFO) { m_string=s; } }; class UFO_CF_1 : public UFO_Color_Function { public: UFO_CF_1() : UFO_Color_Function(cf::None) { }; }; class UFO_CF_Identity : public UFO_Color_Function { public: UFO_CF_Identity(const int& a, const int& b) : UFO_Color_Function(cf::D,a,b) {} }; class UFO_CF_T : public UFO_Color_Function { public: UFO_CF_T(const int a, const int b, const int c) : UFO_Color_Function(cf::T,a,b,c) {} }; class UFO_CF_f : public UFO_Color_Function { public: UFO_CF_f(const int a, const int b, const int c) : UFO_Color_Function(cf::F,a,b,c) {} }; } #endif