ICustAttribContainer Class Reference
 
 
 
ICustAttribContainer Class Reference

This reference page is linked to from the following overview topics: Custom Attributes.


#include <icustattribcontainer.h>

Inheritance diagram for ICustAttribContainer:
ReferenceTarget ReferenceMaker Animatable InterfaceServer Noncopyable MaxHeapOperators MaxHeapOperators

Class Description

See also:
Class CustAttrib , Class RemapDir, Class ReferenceTarget

Description:
This class represents the interface class to a custom attributes container.

Public Member Functions

virtual int  GetNumCustAttribs ()=0
virtual CustAttrib GetCustAttrib (int i)=0
virtual void  AppendCustAttrib (CustAttrib *attribute)=0
virtual void  SetCustAttrib (int i, CustAttrib *attribute)=0
virtual void  InsertCustAttrib (int i, CustAttrib *attribute)=0
virtual void  RemoveCustAttrib (int i)=0
virtual ParamDlg CreateParamDlg (HWND hwMtlEdit, IMtlParams *imp)=0
virtual void  CopyParametersFrom (ReferenceMaker *from, RemapDir &remap)=0
virtual Animatable GetOwner ()=0
virtual void  DeleteThis ()=0
virtual BaseInterface FindCustAttribInterface (const Interface_ID &iid)=0
  Finds the first custom attribute in a custom attribute container, that has a specific interface id.

Member Function Documentation

virtual int GetNumCustAttribs ( ) [pure virtual]
Remarks:
This method returns the number of custom attributes.
virtual CustAttrib* GetCustAttrib ( int  i ) [pure virtual]
Remarks:
This method allows you to retrieve the custom attribute by its specified index.
Parameters:
int i

The index of the custom attribute you with to obtain.
virtual void AppendCustAttrib ( CustAttrib attribute ) [pure virtual]
Remarks:
This method allows you to append a custom attribute.
Parameters:
CustAttrib *attribute

A pointer to the custom attribute you wish to add.
virtual void SetCustAttrib ( int  i,
CustAttrib attribute 
) [pure virtual]
Remarks:
This method allows you to set the custom attribute at the specified index.
Parameters:
int i

The index for which to set the custom attribute.

CustAttrib *attribute

A pointer to the custom attribute you wish to set.
virtual void InsertCustAttrib ( int  i,
CustAttrib attribute 
) [pure virtual]
Remarks:
This method allows you to insert a custom attribute at the specified index.
Parameters:
int i

The index at which to insert the custom attribute.

CustAttrib *attribute

A pointer to the custom attribute you wish to insert.

Returns:
virtual void RemoveCustAttrib ( int  i ) [pure virtual]
Remarks:
This method allows you to remove a custom attribute.
Parameters:
int i

The index of the custom attribute to remove.
virtual ParamDlg* CreateParamDlg ( HWND  hwMtlEdit,
IMtlParams imp 
) [pure virtual]
Remarks:
This method gets called when the material or texture is to be displayed in the material editor parameters area. The plug-in should allocate a new instance of a class derived from ParamDlg to manage the user interface.
Parameters:
HWND hwMtlEdit

The window handle of the materials editor.

IMtlParams *imp

The interface pointer for calling methods in 3ds Max.
Returns:
A pointer to the created instance of a class derived from ParamDlg.
virtual void CopyParametersFrom ( ReferenceMaker from,
RemapDir remap 
) [pure virtual]
Remarks:
This method will copy the parameters from a specified reference maker.
Parameters:
ReferenceMaker *from

A pointer to the reference maker to copy the parameters from.

RemapDir &remap

This class is used for remapping references during a Clone. See Class RemapDir.
virtual Animatable* GetOwner ( ) [pure virtual]
Remarks:
This method returns a pointer to the owner of the custom attributes.
virtual void DeleteThis ( ) [pure virtual]
Remarks:
Self deletion.

Reimplemented from Animatable.

virtual BaseInterface* FindCustAttribInterface ( const Interface_ID iid ) [pure virtual]

Finds the first custom attribute in a custom attribute container, that has a specific interface id.

Parameters:
iid The interface id to be search for
Returns:
Returns a BaseInterface* to the found custom attribute, or NULL if there is no custom attributes with the given interface id exist in the custom attribute container.