59 lines
2.2 KiB
C++
Executable File
59 lines
2.2 KiB
C++
Executable File
/**********************************************************************
|
|
*<
|
|
FILE: ChkMtlAPI.h
|
|
|
|
DESCRIPTION: Enhances material handling for particles API
|
|
|
|
CREATED BY: Eric Peterson
|
|
|
|
HISTORY: 3-8-99
|
|
|
|
*> Copyright (c) 2000 Discreet, All Rights Reserved.
|
|
*********************************************************************/
|
|
|
|
// This header defines interface methods used to support indirect material
|
|
// referencing and enhanced face/material associations. Generally, these
|
|
// methods will need to be implemented by the plugin using them and cannot
|
|
// be called from a standard library, since the information required is
|
|
// intimately associated with the geometry of the
|
|
|
|
#ifndef __CHKMTLAPI_H__
|
|
#define __CHKMTLAPI_H__
|
|
|
|
class IChkMtlAPI
|
|
{
|
|
public:
|
|
// SupportsParticleIDbyFace returns TRUE if the object can associate
|
|
// a particle number with a face number, and FALSE by default.
|
|
virtual BOOL SupportsParticleIDbyFace() { return FALSE; }
|
|
|
|
// GetParticleFromFace returns the particle to which the face identified
|
|
// by faceID belongs.
|
|
virtual int GetParticleFromFace(int faceID) { return 0; }
|
|
|
|
// SupportsIndirMtlRefs returns TRUE if the object can return a material
|
|
// pointer given a face being rendered, and FALSE if the object will be
|
|
// associated for that render pass with only the object applied to the
|
|
// node,
|
|
virtual BOOL SupportsIndirMtlRefs() { return FALSE; }
|
|
|
|
// If SupportsIndirMtlRefs returns TRUE, then the following methods are meaningful.
|
|
|
|
// NumberOfMtlsUsed returns the number of different materials used on the object
|
|
// This number is used in enumerating the different materials via GetNthMtl and getNthMaxMtlID.
|
|
virtual int NumberOfMtlsUsed() { return 0; }
|
|
|
|
// Returns the different materials used on the object.
|
|
virtual Mtl *GetNthMtl(int n) { return NULL; }
|
|
|
|
// Returns the maximum material ID number used with each of the materials on the object
|
|
virtual int GetNthMaxMtlID(int n) { return 0; }
|
|
|
|
// Get MaterialFromFace returns a pointer to the material associated
|
|
// with the face identified by faceID.
|
|
virtual Mtl *GetMaterialFromFace(int faceID) { return NULL; }
|
|
};
|
|
|
|
#endif //__CHKMTLAPI_H__
|
|
|