3ds Max C++ API Reference
ISimpleFaceDataChannel Class Referenceabstract

The function-published interface for a simple per-face data channel. More...

#include <ISimpleFaceDataChannel.h>

+ Inheritance diagram for ISimpleFaceDataChannel:

Public Types

enum  {
  eFpGetChannelName , eFpSetChannelName , eFpGetChannelID , eFpGetChannelType ,
  eFpGetNumFaces , eFpGetValue , eFpSetValue , eFpGetValues ,
  eFpSetValues , eFpGetValueBySelection , eFpSetValueBySelection , eFpChannelTypeEnum
}
 Function-publish IDs for the SimpleFaceData Channel functions. More...
 
- Public Types inherited from BaseInterface
enum  LifetimeType { noRelease , immediateRelease , wantsRelease , serverControlled }
 

Public Member Functions

 PROP_FNS (eFpGetChannelName, GetChannelName, eFpSetChannelName, SetChannelName, TYPE_STRING)
 
virtual void SetChannelName (const MCHAR *pName)=0
 Set the name of the channel. (C++, Maxscript) More...
 
virtual const MCHARGetChannelName ()=0
 Get the name of the channel. (C++, Maxscript) More...
 
virtual Class_ID GetChannelID ()=0
 Get the channel ID of this channel. (C++) More...
 
virtual Tab< DWORD > ChannelID ()=0
 Get the channel ID of this channel. (Maxscript) More...
 
virtual ULONG NumFaces ()=0
 Get the number of faces in this channel. More...
 
virtual int ChannelType ()=0
 Get the data type of the channel. More...
 
virtual FPValue GetValue (ULONG face)=0
 Get a face's per-face data value. More...
 
virtual BOOL SetValue (ULONG face, Value *pVal)=0
 Set a face's per-face data value. More...
 
virtual FPValue GetValues ()=0
 Get the entire list of per-face data values for the channel. More...
 
virtual BOOL SetValues (Value *pVal)=0
 Set the value of each face in the channel. More...
 
virtual FPValue GetValueBySelection (const BitArray *pFaces)=0
 Get the per-face value of a selection of faces. More...
 
virtual BOOL SetValueBySelection (const BitArray *pFaces, Value *pVal)=0
 Set the per-face value of a selection of faces. More...
 
- Public Member Functions inherited from FPMixinInterface
 FPMixinInterface ()
 
virtual LifetimeType LifetimeControl ()
 
virtual CoreExport bool RegisterNotifyCallback (InterfaceNotifyCallback *incb)
 
virtual void UnRegisterNotifyCallback (InterfaceNotifyCallback *incb)
 
CoreExport ~FPMixinInterface ()
 
virtual BaseInterfaceGetInterface (Interface_ID id)
 
virtual FPInterfaceDescGetDescByID (Interface_ID id)
 
virtual Interface_ID GetID ()
 
- Public Member Functions inherited from FPInterface
virtual FPInterfaceDescGetDesc ()=0
 
virtual CoreExport FPStatus Invoke (FunctionID fid, TimeValue t=0, FPParams *params=NULL)
 
virtual FPStatus Invoke (FunctionID fid, FPParams *params)
 
virtual CoreExport FPStatus Invoke (FunctionID fid, TimeValue t, FPValue &result, FPParams *params=NULL)
 
virtual FPStatus Invoke (FunctionID fid, FPValue &result, FPParams *params=NULL)
 
virtual CoreExport FunctionID FindFn (const MCHAR *name)
 
virtual CoreExport BOOL IsEnabled (FunctionID actionID)
 
virtual CoreExport BOOL IsChecked (FunctionID actionID)
 
virtual CoreExport BOOL IsVisible (FunctionID actionID)
 
virtual CoreExport FunctionID GetIsEnabled (FunctionID actionID)
 
virtual CoreExport FunctionID GetIsChecked (FunctionID actionID)
 
virtual CoreExport FunctionID GetIsVisible (FunctionID actionID)
 
virtual ActionTableGetActionTable ()
 
virtual void EnableActions (BOOL onOff)
 
- Public Member Functions inherited from BaseInterface
virtual UtilExport ~BaseInterface ()
 Destructor. More...
 
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

- 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...
 
- Static Public Attributes inherited from FPInterface
static CoreExport FPInterfaceDesc nullInterface
 
- Protected Member Functions inherited from FPMixinInterface
 FPMixinInterface (const FPMixinInterface &rhs)
 
FPMixinInterfaceoperator= (const FPMixinInterface &rhs)
 
- Protected Member Functions inherited from FPInterface
virtual FPStatus _dispatch_fn (FunctionID fid, TimeValue t, FPValue &result, FPParams *p)
 
- Protected Attributes inherited from FPMixinInterface
Tab< InterfaceNotifyCallback * > * interfaceNotifyCBs
 

Detailed Description

The function-published interface for a simple per-face data channel.

Provides read/write access to a simple per-face data channel's description and data values. An instance of this mixin function-published interface can be obtained through the SimpleFaceDataManager or from the implementing object using GetInterface() and this interface's defined ID, SimpleFaceDataChannel_InterfaceID. Functions provided by this interface can also be called through function-publish dispatching and through Maxscript.

See also
ISimpleFaceDataManager

Member Enumeration Documentation

◆ anonymous enum

anonymous enum

Function-publish IDs for the SimpleFaceData Channel functions.

Enumerator
eFpGetChannelName 
eFpSetChannelName 
eFpGetChannelID 
eFpGetChannelType 
eFpGetNumFaces 
eFpGetValue 
eFpSetValue 
eFpGetValues 
eFpSetValues 
eFpGetValueBySelection 
eFpSetValueBySelection 
eFpChannelTypeEnum 
40  {
41  eFpGetChannelName, // get the channel's name
42  eFpSetChannelName, // set the channel's name
43  eFpGetChannelID, // get the identifying channel id
44  eFpGetChannelType, // get the channel's data type
45  eFpGetNumFaces, // get the number of faces in the channel
46  eFpGetValue, // get a specific face value
47  eFpSetValue, // set a specific face value
48  eFpGetValues, // get all face values
49  eFpSetValues, // set all face values
50  eFpGetValueBySelection, // get the value of a selection of faces
51  eFpSetValueBySelection, // set the value of a selection of faces
52 
53  eFpChannelTypeEnum, // the function-published channel-type enum
54  };
@ eFpSetChannelName
Definition: ISimpleFaceDataChannel.h:42
@ eFpGetChannelName
Definition: ISimpleFaceDataChannel.h:41
@ eFpChannelTypeEnum
Definition: ISimpleFaceDataChannel.h:53
@ eFpGetNumFaces
Definition: ISimpleFaceDataChannel.h:45
@ eFpSetValue
Definition: ISimpleFaceDataChannel.h:47
@ eFpSetValues
Definition: ISimpleFaceDataChannel.h:49
@ eFpGetChannelType
Definition: ISimpleFaceDataChannel.h:44
@ eFpGetValueBySelection
Definition: ISimpleFaceDataChannel.h:50
@ eFpGetValues
Definition: ISimpleFaceDataChannel.h:48
@ eFpGetChannelID
Definition: ISimpleFaceDataChannel.h:43
@ eFpSetValueBySelection
Definition: ISimpleFaceDataChannel.h:51
@ eFpGetValue
Definition: ISimpleFaceDataChannel.h:46

Member Function Documentation

◆ PROP_FNS()

◆ SetChannelName()

virtual void SetChannelName ( const MCHAR pName)
pure virtual

Set the name of the channel. (C++, Maxscript)

Change the name of the channel to the specified string.

Parameters
[in]pName- The new name of the channel. Must be non-null.

◆ GetChannelName()

virtual const MCHAR* GetChannelName ( )
pure virtual

Get the name of the channel. (C++, Maxscript)

Gets the name of the channel.

Returns
A pointer to the string buffer containing the channel's name.

◆ GetChannelID()

virtual Class_ID GetChannelID ( )
pure virtual

Get the channel ID of this channel. (C++)

Gets the identifying channel ID of this channel. The channel's ID cannot be changed after it has been created.

Returns
The Class_ID that identifies this channel.

◆ ChannelID()

virtual Tab<DWORD> ChannelID ( )
pure virtual

Get the channel ID of this channel. (Maxscript)

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

See also
GetChannelID (C++)

◆ NumFaces()

virtual ULONG NumFaces ( )
pure virtual

Get the number of faces in this channel.

Gets the number of per-face data items in this channel. The number of items in the channel will always match the number of faces on the object.

Returns
The number of faces in this channel. 0 if an error occurred.

◆ ChannelType()

virtual int ChannelType ( )
pure virtual

Get the data type of the channel.

Gets the data type of per-face data items in this channel. The channel's type cannot be changed after it has been created.

Returns
The ParamType or ParamType2 enum value that corresponds to the channel's data type.

◆ GetValue()

virtual FPValue GetValue ( ULONG  face)
pure virtual

Get a face's per-face data value.

Gets the value of the specified face's per-face data.

Parameters
[in]face- The target face's 0-based index.
Returns
An FPValue that wraps the face's per-face data. An FPValue wrapping NULL is returned if the per-face data item could not be found.

◆ SetValue()

virtual BOOL SetValue ( ULONG  face,
Value pVal 
)
pure virtual

Set a face's per-face data value.

Sets the value of the specified face's per-face data.

Parameters
[in]face- The target face's 0-based index.
[in]pVal- The new Value of the face's per-face data. Must be non-null, loaded, and the type must match the channel type.
Returns
TRUE if the specified face value is set, FALSE otherwise.

◆ GetValues()

virtual FPValue GetValues ( )
pure virtual

Get the entire list of per-face data values for the channel.

Get a copy of the entire array of per-face data values for this channel.

Returns
An FPValue that wraps an array of per-face data items. An FPValue wrapping NULL is returned if the per-face data item could not be found.

◆ SetValues()

virtual BOOL SetValues ( Value pVal)
pure virtual

Set the value of each face in the channel.

Sets the value of each face in the channel to a new value specified in an array.

Parameters
[in]pVal- A Value that wraps an array of per-face data items that specify the channel's new per-face data values. Must be non-null, loaded, and the type must match the channel type. The array and the channel must have an equal number of data elements.
Returns
TRUE if the specified face values were set, FALSE otherwise.

◆ GetValueBySelection()

virtual FPValue GetValueBySelection ( const BitArray pFaces)
pure virtual

Get the per-face value of a selection of faces.

Gets the common per-face value of a selection of faces specified by a BitArray.

Parameters
[in]pFaces- A BitArray that indicates the face selection. Must be non-null. This selection array must have fewer or an equal number of elements as the data channel.
Returns
An FPValue that wraps the selection's per-face value. An FPValue wrapping NULL is returned if the selected faces don't have a matching value or no selection was specified.

◆ SetValueBySelection()

virtual BOOL SetValueBySelection ( const BitArray pFaces,
Value pVal 
)
pure virtual

Set the per-face value of a selection of faces.

Sets the per-face value of the specified selection of faces to a new specified value.

Parameters
[in]pFaces- A BitArray that indicates the face selection. Must be non-null. This selection array must have fewer or an equal number of elements as the data channel.
[in]pVal-The new Value of the faces' per-face data. Must be non-null, loaded, and the type must match the channel type.
Returns
TRUE if the per-face data values were set, FALSE otherwise.