00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef __CS_IMESH_METABALL_H__
00022 #define __CS_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 // __CS_IMESH_METABALL_H__