3ds Max C++ API Reference
IFaceDataMgr Class Referenceabstract

#include <ifacedatamgr.h>

+ Inheritance diagram for IFaceDataMgr:

Public Member Functions

virtual ULONG NumFaceDataChans () const =0
 
virtual IFaceDataChannelGetFaceDataChan (const Class_ID &ID) const =0
 
virtual BOOL AddFaceDataChan (IFaceDataChannel *pChan)=0
 
virtual BOOL RemoveFaceDataChan (const Class_ID &ID)=0
 
virtual BOOL AppendFaceDataChan (const IFaceDataChannel *pChan)=0
 
virtual BOOL CopyFaceDataChans (const IFaceDataMgr *pFrom)=0
 
virtual void RemoveAllFaceDataChans ()=0
 
virtual BOOL EnumFaceDataChans (IFaceDataChannelsEnumCallBack &cb, void *pContext) const =0
 
virtual IOResult Save (ISave *isave)=0
 
virtual IOResult Load (ILoad *iload)=0
 
virtual Interface_ID GetID ()
 
- Public Member Functions inherited from BaseInterface
virtual UtilExport ~BaseInterface ()
 Destructor. More...
 
UtilExport BaseInterfaceGetInterface (Interface_ID id) override
 
virtual LifetimeType LifetimeControl ()
 
virtual bool RegisterNotifyCallback (InterfaceNotifyCallback *incb)
 
virtual void UnRegisterNotifyCallback (InterfaceNotifyCallback *incb)
 
virtual BaseInterfaceAcquireInterface ()
 
virtual void ReleaseInterface ()
 
virtual void DeleteInterface ()
 
virtual BaseInterfaceCloneInterface (void *remapDir=nullptr)
 
- Public Member Functions inherited from InterfaceServer
virtual UtilExport ~InterfaceServer ()
 Destructor. More...
 
template<class InterfaceType >
InterfaceType * GetTypedInterface ()
 

Additional Inherited Members

- Public Types inherited from BaseInterface
enum  LifetimeType { noRelease , immediateRelease , wantsRelease , serverControlled }
 
- 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...
 

Detailed Description

See also
Class BaseInterface, Class IDataChannel, Class IFaceDataChannel

Description:
This class represents an interface for managing per-face-data. Geometric objects that wish to support multiple per-face-data channels should implement this interface. Both Mesh and MNMesh support the IFaceDataMgr interface. They have full control over the lifetime of the face-data manager they expose. Consequently, client code should not cache an IFaceDataMgr interface aquired from Mesh or MNMesh for later use.

Member Function Documentation

◆ NumFaceDataChans()

virtual ULONG NumFaceDataChans ( ) const
pure virtual
Remarks
This method returns the number of face-data channels.

◆ GetFaceDataChan()

virtual IFaceDataChannel* GetFaceDataChan ( const Class_ID ID) const
pure virtual
Remarks
This method returns a pointer to the face-data channel.
Parameters:
const Class_ID& ID

The class ID of the channel you wish to retrieve.

◆ AddFaceDataChan()

virtual BOOL AddFaceDataChan ( IFaceDataChannel pChan)
pure virtual
Remarks
This method adds a face-data channel to the object.
Parameters:
IFaceDataChannel* pChan

A pointer to the face-data channel.
Returns
TRUE if successful, otherwise FALSE.

◆ RemoveFaceDataChan()

virtual BOOL RemoveFaceDataChan ( const Class_ID ID)
pure virtual
Remarks
This method removes a face-data channel from the object.
Parameters:
const Class_ID& ID

The class ID of the channel you wish to remove.
Returns
TRUE if successful, otherwise FALSE.

◆ AppendFaceDataChan()

virtual BOOL AppendFaceDataChan ( const IFaceDataChannel pChan)
pure virtual
Remarks
This method appends a face-data channel to the object.
Parameters:
const IFaceDataChannel* pChan

The face-data channel to append.
Returns
TRUE if successful, otherwise FALSE.

◆ CopyFaceDataChans()

virtual BOOL CopyFaceDataChans ( const IFaceDataMgr pFrom)
pure virtual
Remarks
This method adds or appends face-data channels from the from object, to this object If the channel already exists on this object, it's appended otherwise it gets added.
Parameters:
const IFaceDataMgr* pFrom

The face-data channel to copy from.
Returns
TRUE if successful, otherwise FALSE.

◆ RemoveAllFaceDataChans()

virtual void RemoveAllFaceDataChans ( )
pure virtual
Remarks
This method removes all face-data channels from this object.

◆ EnumFaceDataChans()

virtual BOOL EnumFaceDataChans ( IFaceDataChannelsEnumCallBack cb,
void pContext 
) const
pure virtual
Remarks
This method provides a mechanism for executing an operation for all face-data-channels on this object: For all face-data-channels calls IFaceDataEnumCallBack::proc() with a pointer to that face-data- channel and a context data
Parameters:
IFaceDataChannelsEnumCallBack& cb

A pointer to the face-data channel enumerator callback.

void* pContext

A pointer to the context data.
Returns
FALSE if the callback returns FALSE for any of the face-data channels.

◆ Save()

virtual IOResult Save ( ISave isave)
pure virtual
Remarks
Saves the face-data to the max file.
See also
I/O Results.

◆ Load()

virtual IOResult Load ( ILoad iload)
pure virtual
Remarks
Loads the face-data from the max file.
See also
I/O Results

◆ GetID()

virtual Interface_ID GetID ( )
inlinevirtual
Remarks
This method returns the interface ID of the object.
Default Implementation:
{ return FACEDATAMGR_INTERFACE; }

Reimplemented from BaseInterface.

133 { return FACEDATAMGR_INTERFACE; }
#define FACEDATAMGR_INTERFACE
Definition: ifacedatamgr.h:23