|
metaball.h00001 /* 00002 Metaballs 00003 Copyright (C) 1999 by Denis Dmitriev 00004 Pluggified (c) 2000 by Samuel Humphreys 00005 00006 This library is free software; you can redistribute it and/or 00007 modify it under the terms of the GNU Library General Public 00008 License as published by the Free Software Foundation; either 00009 version 2 of the License, or (at your option) any later version. 00010 00011 This library 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 GNU 00014 Library General Public License for more details. 00015 00016 You should have received a copy of the GNU Library General Public 00017 License along with this library; if not, write to the Free 00018 Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 00019 */ 00020 00021 #ifndef __IMESH_METABALL_H__ 00022 #define __IMESH_METABALL_H__ 00023 00024 #include "csutil/scf.h" 00025 00026 struct iMaterialWrapper; 00027 00028 struct MetaParameters 00029 { 00030 float iso_level; 00031 float charge; 00032 float rate; 00033 }; 00034 00035 enum EnvMappingModes {TRUE_ENV_MAP,FAKE_ENV_MAP}; 00036 00037 SCF_VERSION (iMetaBallState, 0, 0, 1); 00038 00040 struct iMetaBallState : public iBase 00041 { 00043 virtual int GetMetaBallCount () = 0; 00044 00046 virtual void SetMetaBallCount (int number) = 0; 00047 00049 virtual void SetQualityEnvironmentMapping (bool toggle) = 0; 00050 00052 virtual bool GetQualityEnvironmentMapping () = 0; 00053 00055 virtual float GetEnvironmentMappingFactor () = 0; 00056 00058 virtual void SetEnvironmentMappingFactor (float env_mult) = 0; 00059 00061 virtual MetaParameters *GetParameters () = 0; 00062 00064 virtual void SetMaterial (iMaterialWrapper *mat) = 0; 00065 00067 virtual int ReportTriangleCount () = 0; 00068 00070 virtual uint GetMixMode () = 0; 00071 00072 virtual void SetMixMode ( uint mode ) = 0; 00073 00074 virtual bool IsLighting () = 0; 00075 00076 virtual void SetLighting ( bool set ) = 0; 00077 00078 virtual iMaterialWrapper* GetMaterial () = 0; 00079 }; 00080 00081 #endif // __IMESH_METABALL_H__ Generated for Crystal Space by doxygen 1.2.5 written by Dimitri van Heesch, ©1997-2000 |