Public Member Functions

IFaceDataChannel Class Reference

Search for all occurrences

Detailed Description

See also:
Class IDataChannel, Class IFaceDataChannelsEnumCallBack , Class IFaceDataMgr

Description:
This class is available in release 4.0 and later only.

This class represents the face-data channel interface and as such is an abstraction of a collection of data objects that is associated with faces of 3ds Max objects. 3ds Max objects that have face-data channels call the methods of this interface when those faces change in some way. The data channels can then react to the changes to the faces. You can use the macro GetFaceDataChannelInterface(obj) to obtain a pointer to this interface.

Currently in version 4.0 only Meshes support face-data channels.

#include <idatachannel.h>

Inheritance diagram for IFaceDataChannel:
Inheritance graph
[legend]

List of all members.

Public Member Functions

virtual BOOL  FacesCreated (ULONG at, ULONG num)=0
virtual BOOL  FacesClonedAndAppended (BitArray &set)=0
virtual BOOL  FacesDeleted (BitArray &set)=0
virtual BOOL  FacesDeleted (ULONG from, ULONG num)=0
virtual void  AllFacesDeleted ()=0
virtual BOOL  FaceCopied (ULONG from, ULONG to)=0
virtual BOOL  FaceInterpolated (ULONG numSrc, ULONG *srcFaces, float *coeff, ULONG targetFace)=0
virtual IFaceDataChannel CreateChannel ()=0
virtual IFaceDataChannel CloneChannel ()=0
virtual BOOL  AppendChannel (const IFaceDataChannel *fromChan)=0

Member Function Documentation

virtual BOOL FacesCreated ( ULONG  at,
ULONG  num 
) [pure virtual]
Remarks:
This method is called when num new faces are created at the index at in the object's list of faces.
Parameters:
ULONG at

The index in the object's array of faces where the new faces are inserted.

ULONG num

The number of new faces which are created.
Returns:
TRUE if successful, otherwise FALSE.
virtual BOOL FacesClonedAndAppended ( BitArray set ) [pure virtual]
Remarks:
This method is called when the owner object has cloned some of its faces and appended these to its list of faces. The bits in the set array correspond to the cloned faces.
Parameters:
BitArray& set

The array of bits. Note that this array has as many bits as there are faces in the owner object.
Returns:
TRUE if successful, otherwise FALSE.
virtual BOOL FacesDeleted ( BitArray set ) [pure virtual]
Remarks:
This method is called when faces were deleted in the owner object. The bits in the set array correspond to the deleted faces.
Parameters:
BitArray& set

The array of bits. Note that this array has as many bits as there are faces in the owner object.
Returns:
TRUE if successful, otherwise FALSE.
virtual BOOL FacesDeleted ( ULONG  from,
ULONG  num 
) [pure virtual]
Remarks:
This method is called when faces were deleted in the owner object. This method allows for a more efficient deletion of a range of data objects than the previous BitArray based one.
Parameters:
ULONG from

The index in the object's array of faces. Faces starting at this index were deleted.

ULONG num

The number of faces that were deleted.
Returns:
TRUE if successful, otherwise FALSE.
virtual void AllFacesDeleted ( ) [pure virtual]
Remarks:
This method is called when all faces in the owner object are deleted
virtual BOOL FaceCopied ( ULONG  from,
ULONG  to 
) [pure virtual]
Remarks:
This method is called when a face has been copied from index from in the owner object's array of faces to the face at index to.
Parameters:
ULONG from

The index of the source face.

ULONG to

The index of the destination face.
Returns:
TRUE if successful, otherwise FALSE.
virtual BOOL FaceInterpolated ( ULONG  numSrc,
ULONG *  srcFaces,
float *  coeff,
ULONG  targetFace 
) [pure virtual]
Remarks:
This method is called when a new face has been created in the owner object based on data interpolated from other faces.
Parameters:
ULONG numSrc

The number of faces used in the interpolation.

ULONG* srcFaces

The array of numSrc face indices into the owner object's face array. These faces were used when creating the new face.

float* coeff

The array of numSrc coefficients used in the interpolation.

ULONG targetFac

The index in the owner object's array of faces of the newly created face.
Returns:
TRUE if successful, otherwise FALSE.
virtual IFaceDataChannel* CreateChannel ( ) [pure virtual]
Remarks:
This method will allocate an empty data-channel.
virtual IFaceDataChannel* CloneChannel ( ) [pure virtual]
Remarks:
The data-channel needs to allocate a new instance of itself and fill it with copies of all data items it stores. Note: This method makes it more efficient to clone the whole data-channel.
virtual BOOL AppendChannel ( const IFaceDataChannel fromChan ) [pure virtual]
Remarks:
The data-channel needs to append the data objects in the fromChan to itself.
Parameters:
const IFaceDataChannel* fromChan

The channel containing the data objects to append.
Returns:
TRUE if successful, otherwise FALSE.

IFaceDataChannel IFaceDataChannel IFaceDataChannel IFaceDataChannel IFaceDataChannel IFaceDataChannel IFaceDataChannel IFaceDataChannel IFaceDataChannel IFaceDataChannel
IFaceDataChannel IFaceDataChannel IFaceDataChannel IFaceDataChannel IFaceDataChannel IFaceDataChannel IFaceDataChannel IFaceDataChannel IFaceDataChannel IFaceDataChannel