Google

Main Page   Class Hierarchy   Compound List   File List   Compound Members  

metaball.h

00001 /*
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