00001 /********************************************************************** 00002 00003 FILE: ICustAttribCollapseManager.h 00004 00005 DESCRIPTION: Public interface controlling whether Custom Attributes should survive a stack collapse 00006 00007 CREATED BY: Neil Hazzard, Discreet 00008 00009 HISTORY: Created 8th April 2004 00010 00011 *> Copyright (c) 2004, All Rights Reserved. 00012 **********************************************************************/ 00013 #pragma once 00014 00015 #include "iFnPub.h" 00016 #include "GetCOREInterface.h" 00017 00018 #define CUSTATTRIB_COLLAPSE_MANAGER Interface_ID(0x7abc18a6, 0x2a7e522b) 00019 00021 00030 class ICustAttribCollapseManager : public FPStaticInterface 00031 { 00032 public: 00033 00035 /* \return True if the Custom Attributes should be maintained during a stack collapse */ 00036 virtual bool GetCustAttribSurviveCollapseState() = 0; 00037 00039 /* \param state True if the Custom Attributes should be maintained during a stack collapse */ 00040 virtual void SetCustAttribSurviveCollapseState(bool state) = 0; 00041 00043 /* \return True if the Custom Attributes on subAnims of modifiers should be maintained during a stack collapse */ 00044 virtual bool GetRetainSubAnimCustAttribs() = 0; 00045 00047 /* \param state True if the Custom Attributes on subAnims of modifiers should be maintained during a stack collapse */ 00048 virtual void SetRetainSubAnimCustAttribs(bool state) = 0; 00049 00051 static ICustAttribCollapseManager* GetICustAttribCollapseManager() { 00052 return static_cast<ICustAttribCollapseManager*>(GetCOREInterface(CUSTATTRIB_COLLAPSE_MANAGER)); 00053 } 00054 00055 }; 00056 00057