00001 /* 00002 * Part of rvglue source code, 00003 * Copyright (C) 2000 Alexander Kroeller (alilein@gmx.de) 00004 * Copyright (C) 2001 Gabor Varga (vag) (bootes@freemail.hu) 00005 * 00006 * This program is free software; you can redistribute it and/or modify 00007 * it under the terms of the GNU General Public License as published by 00008 * the Free Software Foundation; either version 2 of the License, or 00009 * (at your option) any later version. 00010 * 00011 * This program is distributed in the hope that it will be useful, 00012 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00013 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00014 * GNU General Public License for more details. 00015 * 00016 * You should have received a copy of the GNU General Public License 00017 * along with this program; if not, write to the Free Software 00018 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 00019 */ 00020 00021 /* 00022 * $Id: simplemods.h,v 1.1 2000/05/03 08:48:42 ali Exp ali $ 00023 * 00024 * $Log: simplemods.h,v $ 00025 * Revision 1.1 2000/05/03 08:48:42 ali 00026 * Initial revision 00027 * 00028 * 00029 */ 00030 #ifndef __SIMPLE_MODIFIER_H 00031 #define __SIMPLE_MODIFIER_H 00032 00033 #include "parsedmod.h" 00034 #include "parsedcolor.h" 00035 00036 00038 class Mod_Surface : public ParsedMod 00039 { 00040 public: 00041 Mod_Surface(); 00042 00043 virtual bool apply(Polygon*); 00044 virtual bool bad(void); 00045 virtual bool parse(Parser &); 00046 00047 void dump(const char *pref); 00048 00049 private: 00050 bool parsed; 00051 rvlong surface; 00052 }; 00053 00054 00055 00056 00057 00058 00059 00060 00062 class Mod_Transparency : public ParsedMod 00063 { 00064 public: 00065 Mod_Transparency(); 00066 00067 virtual bool apply(Polygon*); 00068 virtual bool bad(void); 00069 virtual bool parse(Parser &); 00070 00071 virtual void dump(const char *pref); 00072 00073 private: 00074 bool parsed; 00075 int value; 00076 }; 00077 00078 00080 00083 class Mod_Invisible : public ParsedMod 00084 { 00085 public: 00086 virtual bool apply(Polygon*); 00087 virtual void dump(const char *pref); 00088 }; 00089 00090 00092 00095 class Mod_NoColl : public ParsedMod 00096 { 00097 public: 00098 virtual bool apply(Polygon*); 00099 virtual void dump(const char *pref); 00100 }; 00101 00102 00104 00107 class Mod_Off : public ParsedMod 00108 { 00109 public: 00110 virtual bool apply(Polygon*); 00111 virtual void dump(const char *pref); 00112 }; 00113 00114 00115 00116 00118 00121 class Mod_DoubleSided : public ParsedMod 00122 { 00123 public: 00124 virtual bool apply(Polygon*); 00125 virtual void dump(const char *pref); 00126 }; 00127 00128 00129 00130 00132 00135 class Mod_LowerColl : public ParsedMod // vag 2001-06-28 00136 { 00137 public: 00138 Mod_LowerColl(); 00139 00140 virtual bool apply(Polygon*); 00141 virtual void dump(const char *pref); 00142 00143 private: 00144 bool parsed; 00145 rvfloat value; 00146 }; 00147 00148 #endif 00149