nametab.h

Go to the documentation of this file.
00001 //**************************************************************************/
00002 // Copyright (c) 1998-2010 Autodesk, Inc.
00003 // All rights reserved.
00004 // 
00005 // These coded instructions, statements, and computer programs contain
00006 // unpublished proprietary information written by Autodesk, Inc., and are
00007 // protected by Federal copyright law. They may not be disclosed to third
00008 // parties or copied or duplicated in any form, in whole or in part, without
00009 // the prior written consent of Autodesk, Inc.
00010 //**************************************************************************/
00011 #pragma once
00012 
00013 #include "ioapi.h"
00014 #include "ExcludeListConstants.h"
00015 
00023 class NameTab: public Tab<MCHAR *> {
00024     ULONG flags;
00025     public:
00027 
00028         NameTab() { flags = NT_AFFECT_ILLUM|NT_AFFECT_SHADOWCAST; }
00029 
00031         UtilExport ~NameTab();
00032 
00033         // From Tab
00035 
00040         UtilExport void ZeroCount();
00041 
00043         UtilExport NameTab& operator=(const NameTab&     n);
00044 
00046 
00053         void SetFlag(ULONG f, BOOL b=1){ if (b) flags|=f; else flags &= ~f; }
00054 
00056 
00063         BOOL TestFlag(ULONG f){ return (flags&f)?1:0; }
00064 
00066 
00068         UtilExport int AddName(const MCHAR *n);
00069 
00071 
00074         UtilExport void SetName(int i, const MCHAR *n);
00075 
00077 
00079         UtilExport void SetSize(int num);
00080 
00082 
00083         UtilExport void RemoveName(int i);
00084 
00086 
00088         UtilExport int FindName(const MCHAR* n);
00089 
00091 
00093         UtilExport IOResult Load(ILoad *iload);
00094 
00096 
00098         UtilExport IOResult Save(ISave *isave);
00099     };
00100 
00101