Go to the documentation of
this file.
00001
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015 #pragma once
00016
00017 #include "PFExport.h"
00018 #include "..\ifnpub.h"
00019 #include "IParticleChannelMap.h"
00020
00021
00022
00023 #define PARTICLECHANNELMESHMAPR_INTERFACE Interface_ID(0x74f93c17, 0x1eb34500)
00024 #define PARTICLECHANNELMESHMAPW_INTERFACE Interface_ID(0x74f93c17, 0x1eb34501)
00025
00026 #define GetParticleChannelMeshMapRInterface(obj) ((IParticleChannelMeshMapR*)obj->GetInterface(PARTICLECHANNELMESHMAPR_INTERFACE))
00027 #define GetParticleChannelMeshMapWInterface(obj) ((IParticleChannelMeshMapW*)obj->GetInterface(PARTICLECHANNELMESHMAPW_INTERFACE))
00028
00029 class IParticleChannelMeshMapR : public FPMixinInterface
00030 {
00031 public:
00032
00033
00034 enum { kGetNumMaps,
00035 kMapSupport,
00036 kGetMapReadChannel
00037 };
00038
00039 BEGIN_FUNCTION_MAP
00040
00041 FN_0(kGetNumMaps, TYPE_INT, GetNumMaps);
00042 FN_1(kMapSupport, TYPE_bool, MapSupport, TYPE_INT);
00043 FN_1(kGetMapReadChannel, TYPE_INTERFACE, GetMapReadChannel, TYPE_INT);
00044
00045 END_FUNCTION_MAP
00046
00054 virtual int GetNumMaps() const = 0;
00055
00060 virtual bool MapSupport(int mp) const = 0;
00061
00066 virtual IParticleChannelMapR* GetMapReadChannel(int mp) = 0;
00067
00071 FPInterfaceDesc* GetDesc() { return GetDescByID(PARTICLECHANNELMESHMAPR_INTERFACE); }
00072 };
00073
00074
00075 class IParticleChannelMeshMapW : public FPMixinInterface
00076 {
00077 public:
00078
00079
00080 enum { kSetNumMaps,
00081 kSetMapSupport,
00082 kGetMapChannel,
00083 kGetMapChannelObject
00084 };
00085
00086 BEGIN_FUNCTION_MAP
00087
00088 VFN_2(kSetNumMaps, SetNumMaps, TYPE_INT, TYPE_bool);
00089 VFN_2(kSetMapSupport, SetMapSupport, TYPE_INT, TYPE_bool);
00090 FN_1(kGetMapChannel, TYPE_INTERFACE, GetMapChannel, TYPE_INT);
00091 FN_1(kGetMapChannelObject, TYPE_IOBJECT, GetMapChannelObject, TYPE_INT);
00092
00093 END_FUNCTION_MAP
00094
00104 virtual void SetNumMaps(int ct, bool keep=false) = 0;
00105
00111 virtual void SetMapSupport(int mp, bool support=true) = 0;
00112
00117 virtual IParticleChannelMapW* GetMapChannel(int mp) = 0;
00118
00123 virtual IObject* GetMapChannelObject(int mp) const = 0;
00124
00128 FPInterfaceDesc* GetDesc() { return GetDescByID(PARTICLECHANNELMESHMAPW_INTERFACE); }
00129 };
00130
00131