Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef __CS_IENGINE_HALO_H__
00020 #define __CS_IENGINE_HALO_H__
00021
00029 #include "csutil/scf.h"
00030 #include "csgeom/vector4.h"
00031
00032 struct iMaterialWrapper;
00033
00037 enum csHaloType
00038 {
00040 cshtCross,
00042 cshtNova,
00044 cshtFlare
00045 };
00046
00050 struct iBaseHalo : public virtual iBase
00051 {
00052 SCF_INTERFACE(iBaseHalo,2,0,0);
00054 virtual void SetIntensity (float i) = 0;
00056 virtual float GetIntensity () = 0;
00058 virtual csHaloType GetType () = 0;
00059 };
00060
00064 struct iCrossHalo : public virtual iBase
00065 {
00066 SCF_INTERFACE(iCrossHalo,2,0,0);
00068 virtual void SetIntensityFactor (float i) = 0;
00070 virtual float GetIntensityFactor () = 0;
00072 virtual void SetCrossFactor (float i) = 0;
00074 virtual float GetCrossFactor () = 0;
00075 };
00076
00080 struct iNovaHalo : public virtual iBase
00081 {
00082 SCF_INTERFACE(iNovaHalo,2,0,0);
00084 virtual void SetRandomSeed (int s) = 0;
00086 virtual int GetRandomSeed () = 0;
00088 virtual void SetSpokeCount (int s) = 0;
00090 virtual int GetSpokeCount () = 0;
00092 virtual void SetRoundnessFactor (float r) = 0;
00094 virtual float GetRoundnessFactor () = 0;
00095 };
00096
00100 struct iFlareHalo : public virtual iBase
00101 {
00102 SCF_INTERFACE(iFlareHalo,2,0,0);
00109 virtual uint AddComponent (float pos, float w, float h, uint mode,
00110 iMaterialWrapper *image) = 0;
00111
00115 virtual void SetComponentColor (uint component, const csVector4& color) = 0;
00116 };
00117
00120 #endif // __CS_IENGINE_HALO_H__