Go to the
documentation of this file.
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013 #pragma once
00014
00015 #include "ifnpub.h"
00016 #include "GetCOREInterface.h"
00017
00018
00019 class MtlBase;
00020
00029 class IMtlEditInterface : public FPStaticInterface
00030 {
00031 public:
00032
00033 enum {
00034 fnIdGetCurMtl,
00035 fnIdSetActiveMtlSlot,
00036 fnIdGetActiveMtlSlot,
00037 fnIdPutMtlToMtlEditor,
00038 fnIdGetTopMtlSlot,
00039 fnIdOkMtlForScene,
00040 fnIdUpdateMtlEditorBrackets,
00041 };
00042
00045 virtual MtlBase *GetCurMtl() = 0;
00052 virtual void SetActiveMtlSlot(int i, BOOL forceUpdate = FALSE)=0;
00054 virtual int GetActiveMtlSlot()=0;
00062 virtual void PutMtlToMtlEditor(MtlBase *mtlBase, int slot)=0;
00069 virtual MtlBase* GetTopMtlSlot(int slot)=0;
00074 virtual BOOL OkMtlForScene(MtlBase *m)=0;
00079 virtual void UpdateMtlEditorBrackets()=0;
00080
00081 };
00082
00083
00084 #define MTLEDIT_INTERFACE Interface_ID(0x2c7b3f6e, 0x16fb35d4)
00085 inline IMtlEditInterface* GetMtlEditInterface () { return (IMtlEditInterface *)GetCOREInterface(MTLEDIT_INTERFACE); }
00086