IChkMtlAPI Class Reference

IChkMtlAPI Class Reference

#include <chkmtlapi.h>

Class Description

See also
Class Mtl, Class RenderInstance.

Description:
This class provides interface methods used to support indirect material referencing and enhanced face / material associations. Generally, these methods will need to be implemented by the plug-in using them and cannot be called from a standard library, since the information required is intimately associated with the geometry of the object.

All methods of this class are virtual.
+ Inheritance diagram for IChkMtlAPI:

Public Member Functions

virtual BOOL SupportsParticleIDbyFace ()
 
virtual int GetParticleFromFace (int faceID)
 
virtual BOOL SupportsIndirMtlRefs ()
 
virtual int NumberOfMtlsUsed ()
 
virtual MtlGetNthMtl (int n)
 
virtual int GetNthMaxMtlID (int n)
 
virtual MtlGetMaterialFromFace (int faceID)
 

Additional Inherited Members

- Static Public Member Functions inherited from MaxHeapOperators
static UtilExport voidoperator new (size_t size)
 Standard new operator used to allocate objects If there is insufficient memory, an exception will be thrown. More...
 
static UtilExport voidoperator new (size_t size, const std::nothrow_t &e)
 Standard new operator used to allocate objects if there is insufficient memory, NULL will be returned. More...
 
static UtilExport voidoperator new (size_t size, const char *filename, int line)
 New operator used to allocate objects that takes the filename and line number where the new was called If there is insufficient memory, an exception will be thrown. More...
 
static UtilExport voidoperator new (size_t size, int block_type, const char *filename, int line)
 New operator used to allocate objects that takes the type of memory, filename and line number where the new was called If there is insufficient memory, an exception will be thrown. More...
 
static UtilExport voidoperator new (size_t size, const std::nothrow_t &e, const char *filename, int line)
 New operator used to allocate objects that takes the filename and line number where the new was called If there is insufficient memory, NULL will be returned. More...
 
static UtilExport voidoperator new (size_t size, unsigned long flags)
 New operator used to allocate objects that takes extra flags to specify special operations If there is insufficient memory, an exception will be thrown. More...
 
static UtilExport voidoperator new (size_t size, const std::nothrow_t &e, unsigned long flags)
 New operator used to allocate objects that takes extra flags to specify special operations If there is insufficient memory, NULL will be returned. More...
 
static UtilExport voidoperator new[] (size_t size)
 New operator used to allocate arrays of objects If there is insufficient memory, an exception will be thrown. More...
 
static UtilExport voidoperator new[] (size_t size, const std::nothrow_t &e)
 New operator used to allocate arrays of objects If there is insufficient memory, NULL will be returned. More...
 
static UtilExport voidoperator new[] (size_t size, const char *filename, int line)
 New operator used to allocate arrays of objects If there is insufficient memory, an exception will be thrown. More...
 
static UtilExport voidoperator new[] (size_t size, int block_type, const char *filename, int line)
 New operator used to allocate arrays of objects. More...
 
static UtilExport voidoperator new[] (size_t size, const std::nothrow_t &e, const char *filename, int line)
 New operator used to allocate arrays of objects If there is insufficient memory, NULL will be returned. More...
 
static UtilExport voidoperator new[] (size_t size, unsigned long flags)
 New operator used to allocate arrays of objects If there is insufficient memory, an exception will be thrown. More...
 
static UtilExport voidoperator new[] (size_t size, const std::nothrow_t &e, unsigned long flags)
 New operator used to allocate arrays of objects If there is insufficient memory, NULL will be returned. More...
 
static UtilExport void operator delete (void *ptr)
 Standard delete operator used to deallocate an object If the pointer is invalid, an exception will be thrown. More...
 
static UtilExport void operator delete (void *ptr, const std::nothrow_t &e)
 Standard delete operator used to deallocate an object If the pointer is invalid, nothing will happen. More...
 
static UtilExport void operator delete (void *ptr, const char *filename, int line)
 Delete operator used to deallocate an object that takes the filename and line number where the delete was called If the pointer is invalid, an exception will be thrown. More...
 
static UtilExport void operator delete (void *ptr, int block_type, const char *filename, int line)
 Delete operator used to deallocate an object that takes the type of memory, filename and line number where the delete was called If the pointer is invalid, an exception will be thrown. More...
 
static UtilExport void operator delete (void *ptr, const std::nothrow_t &e, const char *filename, int line)
 Delete operator used to deallocate an object that takes the filename and line number where the delete was called If the pointer is invalid, nothing will happen. More...
 
static UtilExport void operator delete (void *ptr, unsigned long flags)
 Delete operator used to deallocate an object that takes extra flags to specify special operations If the pointer is invalid, an exception will be thrown. More...
 
static UtilExport void operator delete (void *ptr, const std::nothrow_t &e, unsigned long flags)
 Delete operator used to deallocate an object that takes extra flags to specify special operations If the pointer is invalid, nothing will happen. More...
 
static UtilExport void operator delete[] (void *ptr)
 Standard delete operator used to deallocate an array of objects If the pointer is invalid, an exception will be thrown. More...
 
static UtilExport void operator delete[] (void *ptr, const std::nothrow_t &e)
 Standard delete operator used to deallocate an array of objects If the pointer is invalid, nothing will happen. More...
 
static UtilExport void operator delete[] (void *ptr, const char *filename, int line)
 Delete operator used to deallocate an array of objects that takes the filename and line number where the delete was called If the pointer is invalid, an exception will be thrown. More...
 
static UtilExport void operator delete[] (void *ptr, int block_type, const char *filename, int line)
 Delete operator used to deallocate an array of objects that takes the type of memory, filename and line number where the delete was called If the pointer is invalid, an exception will be thrown. More...
 
static UtilExport void operator delete[] (void *ptr, const std::nothrow_t &e, const char *filename, int line)
 Delete operator used to deallocate an array of objects that takes the filename and line number where the delete was called If the pointer is invalid, nothing will happen. More...
 
static UtilExport void operator delete[] (void *ptr, unsigned long flags)
 Delete operator used to deallocate an array of objects that takes extra flags to specify special operations If the pointer is invalid, an exception will be thrown. More...
 
static UtilExport void operator delete[] (void *ptr, const std::nothrow_t &e, unsigned long flags)
 Delete operator used to deallocate an array of objects that takes extra flags to specify special operations If the pointer is invalid, an exception will be thrown. More...
 
static UtilExport voidoperator new (size_t size, void *placement_ptr)
 Placement new operator. More...
 
static UtilExport void operator delete (void *ptr, void *placement_ptr)
 Placement delete operator. More...
 
static UtilExport voidaligned_malloc (size_t size, size_t alignment)
 Allocates memory on a specified alignment boundary. More...
 
static UtilExport voidaligned_realloc (void *ptr, size_t size, size_t alignment)
 Reallocates memory on a specified alignment boundary. More...
 
static UtilExport void aligned_free (void *ptr)
 Frees a block of memory that was allocated with aligned_malloc/aligned_realloc. More...
 

Member Function Documentation

virtual BOOL SupportsParticleIDbyFace ( )
inlinevirtual
Remarks
Returns TRUE if the object can associate a particle number with a face number, and FALSE if not.
Default Implementation:
{ return FALSE; }
46 { return FALSE; }
virtual int GetParticleFromFace ( int  faceID)
inlinevirtual
Remarks
Returns the particle to which the face identified by faceID belongs.
Parameters:
int faceID

The ID of the face.
Default Implementation:
{ return 0; }
57 { return 0; }
virtual BOOL SupportsIndirMtlRefs ( )
inlinevirtual
Remarks
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 material applied to the node.
Default Implementation:
{ return FALSE; }
68 { return FALSE; }
virtual int NumberOfMtlsUsed ( )
inlinevirtual
Remarks
Returns the number of different materials used on the object. This number is used in enumerating the different materials via the methods GetNthMtl() and GetNthMaxMtlID() below.
Default Implementation:
{ return 0; }

the following methods are meaningful.
80 { return 0; }
virtual Mtl* GetNthMtl ( int  n)
inlinevirtual
Remarks
If the method SupportsIndirMtlRefs() above returns TRUE then this method returns the different materials used on the object.
Parameters:
int n

The zero based index of the material used on the object.
Returns
Default Implementation:
{ return NULL; }
92 { return NULL; }
#define NULL
Definition: autoptr.h:18
virtual int GetNthMaxMtlID ( int  n)
inlinevirtual
Remarks
If the method SupportsIndirMtlRefs() above returns TRUE then this method returns the maximum material ID number used with the specified material on the object
Parameters:
int n

The zero based index of the material.
Default Implementation:
{ return 0; }
103 { return 0; }
virtual Mtl* GetMaterialFromFace ( int  faceID)
inlinevirtual
Remarks
If the method SupportsIndirMtlRefs() above returns TRUE then this method returns a pointer to the material associated with the face identified by faceID.
Parameters:
int faceID

The ID of the face to check.
Default Implementation:
{ return NULL; }
115 { return NULL; }
#define NULL
Definition: autoptr.h:18