INamedSelectionSetManager.h

Go to the documentation of this file.
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 };