Files
Cyd 2b8ca921cb Initial full mirror of c:\VWE (source + assets + toolchain + outputs) via Git LFS
Complete disaster-recovery snapshot: engine/game source, game data assets,
VC6 toolchain + DX SDKs, build outputs, deployed game, and _UNUSED archive.
Large binaries in Git LFS; text preserved byte-for-byte (core.autocrlf=false,
no eol attributes). See RECOVERY.md for the one-clone rebuild procedure.
2026-06-24 21:28:16 -05:00

51 lines
1.9 KiB
C++

/**********************************************************************
*<
FILE: sbmtlapi.h
DESCRIPTION: Object Sub Material API
CREATED BY: Christer Janson
HISTORY: 1-19-98
*> Copyright (c) 1998, All Rights Reserved.
**********************************************************************/
// By deriving your object or modifier from this class you will support
// direct assignment of sub materials to selected faces/elements.
// For a reference implementation of this class, please refer to
// maxsdk\samples\pack1\triobjed.cpp
#ifndef __SBMTLAPI_H__
#define __SBMTLAPI_H__
class ISubMtlAPI {
public:
// Return a material ID that is currently not used by the object.
// If the current face selection share once single MtlID that is not
// used by any other faces, you should use it.
virtual MtlID GetNextAvailMtlID(ModContext* mc) = 0;
// Indicate if you are active in the modifier panel and have an
// active face selection
virtual BOOL HasFaceSelection(ModContext* mc) = 0;
// Set the selected faces to the specified material ID.
// If bResetUnsel is TRUE, then you should set the remaining
// faces material ID's to 0
virtual void SetSelFaceMtlID(ModContext* mc, MtlID id, BOOL bResetUnsel = FALSE) = 0;
// Return the material ID of the selected face(s).
// If multiple faces are selected they should all have the same MtlID -
// otherwise you should return -1.
// If faces other than the selected share the same material ID, then
// you should return -1.
virtual int GetSelFaceUniqueMtlID(ModContext* mc) = 0;
// Return the material ID of the selected face(s).
// If multiple faces are selected they should all have the same MtlID,
// otherwise you should return -1.
virtual int GetSelFaceAnyMtlID(ModContext* mc) = 0;
// Return the highest MtlID on the object.
virtual int GetMaxMtlID(ModContext* mc) = 0;
};
#endif //__SBMTLAPI_H__