00001 /********************************************************************** 00002 *< 00003 FILE: sbmtlapi.h 00004 00005 DESCRIPTION: Object Sub Material API 00006 00007 CREATED BY: Christer Janson 00008 00009 HISTORY: 1-19-98 00010 00011 *> Copyright (c) 1998, All Rights Reserved. 00012 **********************************************************************/ 00013 00014 // By deriving your object or modifier from this class you will support 00015 // direct assignment of sub materials to selected faces/elements. 00016 // For a reference implementation of this class, please refer to 00017 // maxsdk\samples\pack1\triobjed.cpp 00018 00019 #pragma once 00020 #include "maxheap.h" 00021 #include "maxtypes.h" 00022 // forward declarations 00023 class ModContext; 00024 00035 class ISubMtlAPI: public MaxHeapOperators { 00036 public: 00040 virtual MtlID GetNextAvailMtlID(ModContext* mc) = 0; 00041 00044 virtual BOOL HasFaceSelection(ModContext* mc) = 0; 00051 virtual void SetSelFaceMtlID(ModContext* mc, MtlID id, BOOL bResetUnsel = FALSE) = 0; 00056 virtual int GetSelFaceUniqueMtlID(ModContext* mc) = 0; 00060 virtual int GetSelFaceAnyMtlID(ModContext* mc) = 0; 00062 virtual int GetMaxMtlID(ModContext* mc) = 0; 00063 }; 00064 00065