Public Types | Public Member Functions

ISimpleFaceDataManager Class Reference

Search for all occurrences

Detailed 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

#include <ISimpleFaceDataManager.h>

Inheritance diagram for ISimpleFaceDataManager:
Inheritance graph
[legend]

List of all members.

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.

ISimpleFaceDataManager ISimpleFaceDataManager ISimpleFaceDataManager ISimpleFaceDataManager ISimpleFaceDataManager ISimpleFaceDataManager ISimpleFaceDataManager ISimpleFaceDataManager ISimpleFaceDataManager ISimpleFaceDataManager
ISimpleFaceDataManager ISimpleFaceDataManager ISimpleFaceDataManager ISimpleFaceDataManager ISimpleFaceDataManager ISimpleFaceDataManager ISimpleFaceDataManager ISimpleFaceDataManager ISimpleFaceDataManager ISimpleFaceDataManager