File indexing completed on 2025-04-19 09:10:07
0001 #ifndef MODEL__UFO__UFO_Color_Functions_H
0002 #define MODEL__UFO__UFO_Color_Functions_H
0003
0004 #include "MODEL/Main/Color_Function.H"
0005
0006 using namespace MODEL;
0007
0008 namespace UFO{
0009
0010 class UFO_Color_Function : public Color_Function {
0011 public:
0012 UFO_Color_Function(cf::code _type,
0013 int _partarg0 = -1, int _partarg1 = -1, int _partarg2 = -1,
0014 Color_Function* n=NULL) :
0015 Color_Function(_type,
0016 _partarg0,_partarg1,_partarg2,
0017 n) {};
0018
0019 UFO_Color_Function operator *(const UFO_Color_Function & other) const;
0020
0021 void SetParticleArg(int a, int b,int c=-1);
0022 void SetStringArg(char a, char b, char c='?');
0023
0024 void SetNext(UFO_Color_Function* next);
0025
0026 };
0027
0028 class UFO_CF : public UFO_Color_Function {
0029 public:
0030 UFO_CF(const std::string &s):
0031 UFO_Color_Function(cf::UFO) { m_string=s; }
0032 };
0033
0034 class UFO_CF_1 : public UFO_Color_Function {
0035 public:
0036 UFO_CF_1() : UFO_Color_Function(cf::None) {
0037 };
0038 };
0039
0040 class UFO_CF_Identity : public UFO_Color_Function {
0041 public:
0042 UFO_CF_Identity(const int& a, const int& b) : UFO_Color_Function(cf::D,a,b) {}
0043 };
0044
0045 class UFO_CF_T : public UFO_Color_Function {
0046 public:
0047 UFO_CF_T(const int a, const int b, const int c) : UFO_Color_Function(cf::T,a,b,c) {}
0048 };
0049
0050 class UFO_CF_f : public UFO_Color_Function {
0051 public:
0052 UFO_CF_f(const int a, const int b, const int c) : UFO_Color_Function(cf::F,a,b,c) {}
0053 };
0054
0055 }
0056
0057 #endif