00001 // 00002 // Copyright [2009] Autodesk, Inc. All rights reserved. 00003 // 00004 // Use of this software is subject to the terms of the Autodesk license 00005 // agreement provided at the time of installation or download, or which 00006 // otherwise accompanies this software in either electronic or hard copy form. 00007 // 00008 // 00009 00010 #pragma once 00011 00012 #include "maxapi.h" 00013 #include "iFnPub.h" 00014 00016 #define IID_NAMED_SELECTION_SET_MANAGER Interface_ID(0x42a42b3, 0x1cf1cc5) 00017 00019 00024 class INamedSelectionSetManager : public FPStaticInterface 00025 { 00026 public: 00028 00030 static inline INamedSelectionSetManager* GetInstance() 00031 { 00032 return static_cast<INamedSelectionSetManager*>( 00033 GetCOREInterface(IID_NAMED_SELECTION_SET_MANAGER)); 00034 } 00035 00037 00039 virtual int GetNumNamedSelSets() const = 0; 00040 00043 00044 00046 00050 virtual MCHAR* GetNamedSelSetName(int setNum) const = 0; 00051 00054 00058 virtual BOOL AddNewNamedSelSet(Tab<INode*>& nodes,MSTR& name) = 0; 00059 00062 00065 virtual BOOL RemoveNamedSelSet(MSTR &name) = 0; 00066 00069 00072 virtual BOOL RemoveNamedSelSet(int setNum) = 0; 00073 00075 00083 virtual BOOL GetNamedSelSetList(Tab<INode*>& nodes,int setNum) const = 0; 00084 00086 00091 virtual BOOL SetNamedSelSetName(int setNum, MSTR& name) = 0; 00093 00096 00097 00099 00103 virtual int GetNamedSelSetItemCount(int setNum) const = 0; 00104 00106 00114 virtual INode* GetNamedSelSetItem(int setNum, int i) const = 0; 00115 00117 00123 virtual BOOL ReplaceNamedSelSet(Tab<INode*>& nodes,int setNum) = 0; 00124 00126 00132 virtual BOOL ReplaceNamedSelSet(Tab<INode*>& nodes,MSTR& name) = 0; 00134 };