tge/lib/maxsdk40/namesel.h
2025-02-17 23:17:30 -06:00

49 lines
1.6 KiB
C++
Executable File

/**********************************************************************
*<
FILE: namesel.h
DESCRIPTION: A named sel set class for sub-object named selections ets
CREATED BY: Rolf Berteig
HISTORY: 3/18/96
*> Copyright (c) 1994, All Rights Reserved.
**********************************************************************/
#ifndef __NAMEDSEL__
#define __NAMEDSEL__
class GenericNamedSelSetList {
public:
Tab<TSTR*> names;
Tab<BitArray*> sets;
Tab<DWORD> ids;
CoreExport ~GenericNamedSelSetList();
CoreExport BitArray *GetSet(TSTR &name);
CoreExport BitArray *GetSet(DWORD id);
CoreExport BitArray *GetSetByIndex(int index);
int Count() {return sets.Count();}
CoreExport void AppendSet(BitArray &nset,DWORD id=0,TSTR &name=TSTR(""));
CoreExport void InsertSet(int pos, BitArray &nset,DWORD id=0,TSTR &name=TSTR(""));
CoreExport int InsertSet(BitArray &nset,DWORD id=0,TSTR &name=TSTR(""));
CoreExport BOOL RemoveSet(TSTR &name);
CoreExport BOOL RemoveSet(DWORD id);
CoreExport IOResult Load(ILoad *iload);
CoreExport IOResult Save(ISave *isave);
CoreExport void SetSize(int size);
CoreExport GenericNamedSelSetList& operator=(GenericNamedSelSetList& from);
CoreExport void DeleteSetElements(BitArray &set,int m=1);
CoreExport void DeleteSet(int i);
CoreExport BOOL RenameSet(TSTR &oldName, TSTR &newName);
CoreExport void Alphabetize (); // Bubble Sort!
BitArray &operator[](int i) {return *sets[i];}
};
// TH: These methods are implemented in core\namesel.cpp.
// This class is used by the edit mesh and edit patch modifiers.
#endif