ISimpleFaceDataManager Class Reference
 
 
 
ISimpleFaceDataManager Class Reference

#include <ISimpleFaceDataManager.h>

Inheritance diagram for ISimpleFaceDataManager:
FPStaticInterface FPInterfaceDesc FPInterface BaseInterface InterfaceServer MaxHeapOperators

Class Description

The function-published interface for managing SimpleFaceData channels on an object.

This manager allows simple per-face data channels to be added, removed and retrieved from the specified editable mesh or poly object. This static function-published interface is registered as a core interface. Obtain a pointer to this interface with GetInterface() using its defined ID, SimpleFaceDataManger_InterfaceID. Functions provided by this interface can also be called through function-publish dispatching and through Maxscript.

See also:
ISimpleFaceFaceDataChannel

Public Types

enum   {
  eFpAddChannel, eFpRemoveChannel, eFpGetChannel, eFpGetChannels,
  eFpChannelTypeEnum
}
  Function-publish IDs for the SimpleFaceData Manager functions. More...

Public Member Functions

virtual ISimpleFaceDataChannel AddChannel (Object *pObj, int type, const Class_ID *pChannelID, const MCHAR *pChannelName) const =0
  Add a simple per-face data channel to a geometry object (C++).
virtual ISimpleFaceDataChannel AddChannel (Object *pObj, int type, const Tab< DWORD > *pChannelID, const MCHAR *pChannelName) const =0
  Add a simple per-face data channel to the specified geometry object (Maxscript).
virtual void  RemoveChannel (Object *pObj, const Class_ID &channelID)=0
  Remove a simple per-face data channel from a geometry object (C++).
virtual void  RemoveChannel (Object *pObj, const Tab< DWORD > *pChannelID)=0
  Remove a simple per-face data channel from a geometry object (Maxscript).
virtual ISimpleFaceDataChannel GetChannel (Object *pObj, const Tab< DWORD > *pChannelID) const =0
  Get a simple per-face data channel from a geometry object (C++).
virtual ISimpleFaceDataChannel GetChannel (Object *pObj, const Class_ID &channelID) const =0
  Get a simple per-face data channel from a geometry object (Maxscript).
virtual Tab
< ISimpleFaceDataChannel * > 
GetChannels (Object *pObj) const =0
  Get all simple per-face data channels from a geometry object (C++, Maxscript).

Member Enumeration Documentation

anonymous enum

Function-publish IDs for the SimpleFaceData Manager functions.

Enumerator:
eFpAddChannel 
eFpRemoveChannel 
eFpGetChannel 
eFpGetChannels 
eFpChannelTypeEnum 
             {
                eFpAddChannel, // Add a channel to this object
                eFpRemoveChannel, // Remove a channel from this object
                eFpGetChannel, // Get a channel on this object
                eFpGetChannels, // Get an array of all channels on this object

                eFpChannelTypeEnum, // ID for the function-published channel-type enum.
        };

Member Function Documentation

virtual ISimpleFaceDataChannel* AddChannel ( Object pObj,
int  type,
const Class_ID pChannelID,
const MCHAR *  pChannelName 
) const [pure virtual]

Add a simple per-face data channel to a geometry object (C++).

A new per-face data channel of the specified type with an identifying ID and name is added to specified object's base object. Per-face data channels are geometry pipeline clients - adding a channel to an object adds the channel throughout the entire modifier stack.

Parameters:
[in] pObj - The target geometry object. Must be non-null. Only editable mesh and editable poly objects are currently supported.
[in] type - A ParamType or ParamType2 enum value that specifies the data type for all faces within the data channel. The current list of supported types is:
  • TYPE_INT
  • TYPE_INDEX
  • TYPE_BOOL
  • TYPE_FLOAT
  • TYPE_POINT2_BV
  • TYPE_POINT3_BV No channel is added if an unsupported type is specified.
[in] pChannelID - The identifying Class_ID of the new channel. Specify NULL to have a unique ID generated and assigned to the new channel. If an ID is specified, no channel is added if a channel with the specified ID already exists.
[in] pChannelName - The name of the new channel. Specify NULL to use a default channel name.
Returns:
A pointer to the new channel instance if one was added. NULL if no channel was added.
virtual ISimpleFaceDataChannel* AddChannel ( Object pObj,
int  type,
const Tab< DWORD > *  pChannelID,
const MCHAR *  pChannelName 
) const [pure virtual]

Add a simple per-face data channel to the specified geometry object (Maxscript).

The maxscript exposed wrapper for AddChannel(). The only difference is that this channel ID is specified as a 2 element array of DWORDS.

See also:
AddChannel (C++)
virtual void RemoveChannel ( Object pObj,
const Class_ID channelID 
) [pure virtual]

Remove a simple per-face data channel from a geometry object (C++).

Remove the per-face data channel on the specified object's base object that matches the specified channel ID. The channel is removed throughout the entire modifier stack.

Parameters:
[in] pObj - The target geometry object. Must be non-null.
[in] channelID - The identifying Class_ID of the channel to remove.
virtual void RemoveChannel ( Object pObj,
const Tab< DWORD > *  pChannelID 
) [pure virtual]

Remove a simple per-face data channel from a geometry object (Maxscript).

The maxscript exposed wrapper for RemoveChannel(). The only difference is that the channel ID is specified as a 2 element array of DWORDS.

See also:
RemoveChannel (C++)
virtual ISimpleFaceDataChannel* GetChannel ( Object pObj,
const Tab< DWORD > *  pChannelID 
) const [pure virtual]

Get a simple per-face data channel from a geometry object (C++).

Obtain a pointer to the per-face data channel on the specified object that matches the specified channel ID.

Parameters:
[in] pObj - The target geometry object. Must be non-null.
[in] pChannelID - The identifying Class_ID of the channel to retrieve.
Returns:
A pointer to the desired channel instance. NULL if a channel with the specified ID was not found.
virtual ISimpleFaceDataChannel* GetChannel ( Object pObj,
const Class_ID channelID 
) const [pure virtual]

Get a simple per-face data channel from a geometry object (Maxscript).

The maxscript exposed wrapper for GetChannel(). The only difference is that this channel ID is specified as a 2 element array of DWORDS.

See also:
GetChannel (C++)
virtual Tab<ISimpleFaceDataChannel*> GetChannels ( Object pObj ) const [pure virtual]

Get all simple per-face data channels from a geometry object (C++, Maxscript).

Obtain an array of pointers to all simple per-face data channels on the specified object.

Parameters:
[in] pObj - The target geometry object. Must be non-null.
Returns:
An array of pointers to simple per-face data channels. An empty array if no channels were found.