custattrib.h

Go to the documentation of this file.
00001 /**********************************************************************
00002  *<
00003     FILE:  CustAttrib.h
00004 
00005     DESCRIPTION:  Defines CustAttrib class
00006 
00007     CREATED BY: Nikolai Sander
00008 
00009     HISTORY: created 5/25/00
00010 
00011  *> Copyright (c) 2000, All Rights Reserved.
00012  **********************************************************************/
00013 
00014 #pragma once
00015 
00016 #include "maxtypes.h"
00017 #include "plugapi.h"
00018 #include "ref.h"
00019 
00020 class ICustAttribContainer;
00021 class IGraphObjectManager;
00022 class IMtlParams;
00023 class ParamDlg;
00024 
00032 class CustAttrib: public ReferenceTarget
00033 {
00034 public:
00035     virtual SClass_ID SuperClassID() { return CUST_ATTRIB_CLASS_ID; }
00040     virtual const MCHAR* GetName(){ return _M("Custom Attribute");}
00053     #pragma warning(push)
00054     #pragma warning(disable:4100)
00055     virtual ParamDlg *CreateParamDlg(HWND hwMtlEdit, IMtlParams *imp){return NULL;}
00066     virtual bool CheckCopyAttribTo(ICustAttribContainer *to) { return true; }
00067     virtual SvGraphNodeReference SvTraverseAnimGraph(IGraphObjectManager *gom, Animatable *owner, int id, DWORD flags)
00068     {
00069         return SvStdTraverseAnimGraph(gom, owner, id, flags); 
00070     }
00071     #pragma warning(pop)
00072 };
00073 
00074 
00077 struct NotifyCustomAttribute : public MaxHeapOperators 
00078 {
00079     NotifyCustomAttribute(Animatable* owner = NULL, Animatable* custAttr = NULL): 
00080         m_owner(owner), m_customAttribute(custAttr) {};
00082         Animatable* m_owner; 
00084         Animatable* m_customAttribute;
00085 };
00086